Тема: RTrainSim DOWNLOAD
Показать сообщение отдельно
Старый 31.01.2016, 14:47   #36
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию Патч 0.41.5

Патч 0.41.5
------------------------------------------------------------
- двери и окна отсылают коды SMS-триггеров, назначенные им в SD-файле в параметре SMSTriggers.
- DLL может получать список объектов TrackItems на пути поезда с помощью функции Locomotive::GetTrackItems.
- в параметрах EngineParameters/LibraryParameters можно передавать строковые значения.
- в SMS-файле можно формировать таблицу имён для кодов триггеров NamedTriggersTable. В обычных случаях не рекомендуется использовать, т.к. на поиск по имени расходуется больше времени, а коды триггеров все равно заранее известны. Но полезно будет для универсальных звуковых моделей, где на момент компиляции dll неизвестно, какие именно названия/коды триггеров будут использоваться, а определяются они на основе строковых свойств конкретного маршрута, локомотива.

- Для локомотивов помимо основной dll можно задавать также вспомогательные dll, плагины. Настраивается в енг-файле конкретного локомотива в EngExtended, список AuxLibraries.
Если основная dll предназначена для реализации управления конкретной серии локомотивов, то во вспомогательные можно выносить функции, которые могут быть общими для разных серий или, с другой стороны, могут требоваться только для конкретной машины, но не для всей серии. К таким функциям можно отнести: автоинформатор электропоездов, устройства безопасности, особенности работы отдельных номеров серии.
Какие из функций требуются для данного локомотива определяется в енг-файле, добавляя или исключая вспомогательные библиотеки и настраивая их параметры. К примеру, если на данной машине установлен БИЛ, в енге для неё нужно добавить библиотеку, реализующую его.
В зависимости от реализуемых функций и способа их реализации, основная dll может не знать и никоим образом не взаимодействовать со вспомогательными. Если от основной требуется передача каких-то параметров во вспомогательную - она может получить доступ к ней по указанному в енг-файле имени, и к стеку её переменных. Аналогично, вспомогательная библиотека имеет доступ ко всем объектам локомотива и к стеку основной. Но использовать для работы стек основной - это весьма нежелательно, так как в таком случае потребуется либо стандартизация стеков dll разных серий, либо вспомогательная будет работать только с одной серией, что делает сомнительным необходимость её разработки.
У вспомогательных библиотек может быть свой отдельный звуковой объект, sms-файл которого и параметры задаются в енге.

Для примера приложена и подключена библиотека для первой секции ВЛ80к-125.
В основной dll ВЛ80к AUX_TEST включается, если включена батарея.
По нажатию переключателя, указанного в параметре енг-файла AuxTest_SwitchID (сейчас указан "Резервуар 1"), вопроизводится анимация огнями локомотива, указанными в AuxTest_Light1,AuxTest_Light2,AuxTest_Light3; выводится подсказка из AuxTest_ShowHint и в звуках библиотеки вызываются триггеры по именам "Aux on"/"Aux off".

- небольшие исправления по синхронизации машиниста и помощника. Состояние ТП при синхронизации Engine применяется немедленно, не ожидая анимации. Вызов обработчиков переключателей происходит после загрузки состояния CloseUpScene.

http://disk.zaborin.ru/010001

Последний раз редактировалось Ted; 31.01.2016 в 15:11.
Ted вне форума  
Эти 23 пользователя(ей) сказали Спасибо Ted за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА