Патч 0.41.4
---------------------------------------------------------
- Access Violation перехватываются внутренним обработчиком, выдаётся краткая информация о месте возникновения исключения. Если возможно, RTS может попытаться сохранить состояние симуляции и/или файл минидампа.
- в окне Track Control/отладчика сценариев можно получить информацию по сигнализации, вызывая для отдельных сигнальных объектов меню. Отображается состав сигнала, аспекты, текущие ограничения скорости по каждой сигнальной голове.
- скрипты сигнализации можно указывать в sigcfg.dat отдельным параметров RTS_ScriptFile. Если в файле находится хотя бы один такой параметр, обычные ScriptFile для RTS не загружаются.
изменения по исполнению скриптов сигнализации:
- если на Б/У есть враждебная стрелка, аспект следующего сигнала всегда SIGASP_STOP.
- по умолчанию функции route_set() и block_state() выстраивают блок-участок до следующего NORMAL-сигнала. Ранее, блок-участок выстраивался до NORMAL либо до сигнала такого же типа, как данный.
Помимо этого, в данные функции можно передавать необязательный целочисленный параметр, указывающий правило построения БУ:
0 - по умолчанию, до сигнала NORMAL.
1 - до сигнала NORMAL или такого же типа как данный.
2 - до сигнала такого же типа как данный.
3 - до любого сигнала.
4 - до сигнала более значимого типа, чем данный.
5 - до сигнала более значимого или такого же типа, как данный.
- для небольших адаптаций скриптов делать отдельные файлы - не самое удобное решение и его стоит при любой возможности избегать. Внутри скрипта можно размещать блоки дефайна, в такой форме:
Код:
/*RTS# state = SIGASP_STOP; */
или, применительно к предыдущей доработке:
Код:
route_set( /*RTS# 1 */ )
В компиляторе RTS такой блок будет воспринят не как комментарий, а как часть кода:
В других симуляторах эта часть кода будет игнорироваться.
Данная переменная в препроцессоре RTS будет равна 1, в других симуляторах - 0:
Код:
float IsRTS = 0;
/*RTS# IsRTS = 1;*/
Таким образом, можно внутри скрипта определять, что он исполняется в РТС, или выполнять отдельные инструкции, не требуемые в других симуляторах.
http://disk.zaborin.ru/010012