Итак, тулза была написана в соответствии с описанием, которое предоставил
RC_Vinchenzo.
Суть программы:
Программа предназначена для разделения установленного в игре ПС на 2 части - используемую в установленных сценариях и неиспользуемую.
И более подробное описание (алгоритм):
Программа сканирует папки маршрутов ACTIVITIES и SERVICES на файлы *.act и *.srv соответственно.
Файлы Activities сканируются на строчки вида:
EngineData (имя_файла имя_папки )
WagonData (имя_файла имя_папки )
Отсюда берутся имена папок подвижного состава. Эти папки переносятся из TRAINSET во временную папку TRAINSET_TEMP (в том же каталоге TRAINS).
Из файлов Services программа извлекает список файлов Consists (из строчек Train_Config(имя_консиста) ), которые также как и файлы Activities сканируются на EngineData и WagonData, и папки с подвижным составом также переносятся в TRAINSET_TEMP. Найденные файлы Consists переносятся из CONSISTS в CONSISTS_TEMP.
По окончании процесса папки TRAINSET и CONSISTS переносятся в папки TRAINSET_UNUSED и CONSISTS_UNUSED соответственно, а TRAINSET_TEMP и CONSISTS_TEMP в TRAINSET и CONSISTS.
В результате мы имеем папки:
CONSISTS, TRAINSET - в них хранятся используемые в сценариях единицы ПС.
CONSISTS_UNUSED, TRAINSET_UNUSED - а тут неиспользуемые единицы ПС.
Программа была протестирована мною, а также
RC_Vinchenzo на его 160 гиговой сборке MSTS. Найденные ошибки были устранены, поэтому вывожу программку на всеобщее обозрение.
Вот собственно и все. Пожелания/рекомендации/критика крайне приветствуются!
P.S. Скачать пока нигде нельзя, благодаря системе защиты от спама.
RC_Vinchenzo, выложи пожалуйста сам...