Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   MSTS - Об игре (http://www.trainsim.ru/forum/forumdisplay.php?f=17)
-   -   Очистка игры от неиспользуемого контента (http://www.trainsim.ru/forum/showthread.php?t=6451)

RC_Vinchenzo 04.03.2009 22:12

Очистка игры от неиспользуемого контента
 
Возникла идея написать софтину, чтобы почистить игру от неиспользуемых локов и вагонов, потому как места они стали занимать прилично. Может кто-то уже разбирался в этом, неохота изобретать велосипед во второй раз: вагоны и локи статики записаны прямо в сценариях, причем некоторые записаны повагонно, а некоторые - ссылками на сервисы, в которых даны ссылки на консисты; файлы траффика содержат только ссылки на сервисы. Все верно? Ничего не забыл?

ТЧМ3 Леха 04.03.2009 23:36

А Train Store не пробовал использовать для этого?;)

RC_Vinchenzo 04.03.2009 23:40

Пробовал, но ТрейнСтор выполняет несколько иные функции. Мне нужно убрать неиспользуемые локи и вагоны из игры, чтобы уменьшить ее объем. ТрейнСтор только выводит энги, ваги и консисты, этого недостаточно, я же хочу чтобы убирались папки целиком. :)

awaken 05.03.2009 01:52

я просто переношу неиспользуемые локи, консисты, и маршруты целиком в другие папки.
у меня сейчас всего 3 маршрута стоит (зилупе , александрово и один самопальный), и все быстро запускается

RC_Vinchenzo 05.03.2009 06:17

Скорость запуска не при чем, уменьшить ее помогает ТрейнСтор, просто при размере игры в 140 гигов "балласт" из неиспользуемых локов получается существенным. Меня сейчас главным образом логика размещения ссылок на ПС в сценариях интересует, верно ли я ее понял и описал?

awaken 05.03.2009 19:28

у трейнстора есть свои проблемы, вроде бы он с космосом не совместим.
а я использую космос

DeBUG 05.03.2009 19:56

Ищи может будет такая программа: [url]www.railserve.com/Computers/MSTS/Utilities/[/url]

Если напишешь, то делай, как СУБД с возможностью вывода информации в нужной форме. Уже писали про использования SQLite и прочего, а программу для сортировки и выборки, как правило пишут на скриптах, это особенно относиться к *nix и всяким PHPстам, Pythonистам и пр. web-человекам.

awaken 08.03.2009 14:19

[QUOTE=RC_Vinchenzo;74233]а некоторые - ссылками на сервисы, в которых даны ссылки на консисты; файлы траффика содержат только ссылки на сервисы. Все верно? Ничего не забыл?[/QUOTE]

файл Activity (.act) содержит
это сервис игрока:
Player_Service_Definition ( "szd_player_srv 20"
это сервис траффика:
Traffic_Definition ( "szd_traffik2 "
Service_Definition ( szd_traffik_srv1 31800

и некоторое количество статических вагонов/составов

сканируем сервисы, составляем список файлов:
"szd_player_srv 20.srv"
"szd_traffik_srv1.srv"
"szd_traffik_srv2.srv" и т.д.

в srv файле ищем строчку:
Train_Config ( "szd_2TE10M-3373 2975 40 mix1" )
это имя .con файла состава.

далее составляем список используемых консистов.
и из них вырезаем список использованных локов/вагонов, сливаем его с дргим списком (из самого сценария)

важно сохранить двухстроннюю связть "единица ПС" <-> "con файл"
для этого лучше наверное завести небольшую реляционную базу данных, как выше посоветовали

DigitOn 23.03.2009 02:22

Итак, тулза была написана в соответствии с описанием, которое предоставил [B]RC_Vinchenzo[/B].

Суть программы:
Программа предназначена для разделения установленного в игре ПС на 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 - а тут неиспользуемые единицы ПС.

Программа была протестирована мною, а также [B]RC_Vinchenzo[/B] на его 160 гиговой сборке MSTS. Найденные ошибки были устранены, поэтому вывожу программку на всеобщее обозрение.

Вот собственно и все. Пожелания/рекомендации/критика крайне приветствуются! :)

P.S. Скачать пока нигде нельзя, благодаря системе защиты от спама. [B]RC_Vinchenzo[/B], выложи пожалуйста сам...

RC_Vinchenzo 23.03.2009 06:13

[URL="http://www.rapidshare.ru/975729"]Утилита[/URL]

Для работы необходим [I]Microsoft Visual C++ 2008 SP1 Redistributable Package[/I]
[URL="http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en"]x86[/URL]
[URL="http://www.microsoft.com/downloads/details.aspx?FamilyID=ba9257ca-337f-4b40-8c14-157cfdffee4e&DisplayLang=en"]x64[/URL]

при моих данных:
папка с игрой 159 гб
роутс 97,2 гб
трейнс 60,5 гб
Прога пробежала этот объем где-то за 10 минут, выделив 25,5 Гб неиспользуемого ПС. Одним словом чудо, а не утилита.

RC_Vinchenzo 24.03.2009 13:03

нашелся неприятный глюк, если кто-то скачал, не спешите пользоваться.:(

malchik 24.03.2009 13:16

ждем-с

Ким Чен Ир 24.03.2009 13:20

[QUOTE=awaken;74411]у трейнстора есть свои проблемы, вроде бы он с космосом не совместим.
а я использую космос[/QUOTE]
ОФФ. Да вроде совместим, проблем не замечал. Обычно делаю так, запускаю нужный роут через трэйн стор, потом закрываю мстс, открываю космос, делаю нужную погоду и снова запускаюсь, либо опять через трэйнстор, либо сразу мстс.

DigitOn 25.03.2009 17:07

[QUOTE=RC_Vinchenzo;78352]нашелся неприятный глюк, если кто-то скачал, не спешите пользоваться.:([/QUOTE]

Скорее не глюк, а недоработка в логике работы :) Впрочем скоро будет новая версия.

RC_Vinchenzo 30.03.2009 23:07

[URL="http://depositfiles.com/files/hx4emk1wq"]Версия 1.2 билд 0002[/URL]
тестим :)

Модер, потри пожалуйста предыдущий пост.


Текущее время: 00:38. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim