PDA

Просмотр полной версии : новый Сепаратор Контента [тестим]


RC_Vinchenzo
03.05.2009, 02:13
тестим новую универальную софтину, выросшую из вот этой (http://www.trainsim.ru/forum/showthread.php?t=6451)
автор кода обеих софтин Digit-On (http://www.trainsim.ru/forum/member.php?u=12620), без него ничего этого просто не было бы

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

.NET Framework 3.5 SP1 (http://www.microsoft.com/downloads/details.aspx?FamilyID=d0e5dea7-ac26-4ad7-b68c-fe5076bba986&DisplayLang=ru)

Прога имеет три модуля:

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

2. Разбиение маршрутов на пакеты
Понятие "пакет" подразумевает под собой маршруты со всеми имеющимися у пользователя сценариями и всем необходимым для их работы набором ПС.
Этот модуль "вырос" из первого и позволяет формировать любые тематические пакеты из имеющихся маршрутов, выносить их за пределы игры в отдельную папку копированием или переносом файлов, либо без переноса сжимать содержимое пакета в архив с любыми параметрами командной строки (по умолчанию используется 7-zip архиватор, ультра-сжатие), в т.ч. полезной командой деления создаваемых архивов на части заданного размера.
Для создания пакета надо кликнуть мышью в пустой строке среднего столбца и присвоить новому пакету имя. После этого можно переносить туда маршруты из левого столбца. В правом столбце отображаются маршруты, содержащиеся в пакете. Далее жмем кнопку сформировать и выбираем желаемые параметры.

3. Поиск и замена
Во многих западных маршрутах содержатся файлы с умляутами и другими символами, с которыми МСТС не хочет дружить, поэтому приходится переименовывать файлы руками или выкручиваться каким-то иным способом. Третий модуль позволяет автоматизировать это дело. Список заменяемых символов редактируемый. Пробегает все папки внутри указанной, редактирует текстовые файлы всех типов (act, trf, pat, con, srv, sd, ws, eng, wag, cvf, sms, ref, dat, trk, w) и все файлнеймы. Файлнеймы и содержимое можно редактировать независимо друг от друга.
Лог замены выводится в find_replace_log.txt

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

:)

Download (http://www.rapidshare.ru/1033068)
Зеркало 1 (http://rapidshare.com/files/228433372/content_separator.7z.html)
Зеркало 2 (http://depositfiles.com/files/24snpe1qm)
Зеркало 3 (http://letitbit.net/download/66aedd513b/content_separator.7z.html)
Зеркало 4 (http://ifolder.ru/11924552)

RC_Vinchenzo
03.05.2009, 02:37
Второй модуль (разделение на пакеты) поддерживает сохранение и загрузку "схем раскладки" маршрутов по пакетам. В качестве примера привожу свою схему. Открывать в проге :)
Зеркало 1 (http://letitbit.net/download/5aa99c5295/01a.xml.html)
Зеркало 2 (http://ifolder.ru/11924692)

Riddik007
04.05.2009, 14:50
Интересная прга надо бы потестить,а то трейн стор не люблю....а вот обилие пса в трейнсет-много (при переустановке мстс эта папочка остаеться)

RC_Vinchenzo
07.05.2009, 10:12
Свежая версия (http://narod.ru/disk/8437796000/MSTS%20Content%20Separator%20v1.3%20build%201030.e xe.html) v1.3 build 1030

(+): Добавлена опция обхода в "Поиске и Замене" только файлов в кодировке UTF-16 LE при поиске внутри файлов.
(!): Исправлено: маршрут оставался в списке установленных маршрутов при открытии списка пакетов (и отмеченной опции "скрывать сод-ся в пакетах"), не смотря на то что он содержался в одном из пакетов, но в другом регистре. Теперь имена маршрутов сод-ся в пакетах и установленные в системе перед сравнением переводятся в нижний регистр, при этом сами имена пакетов сохраняются в том регистре, который первоначально был задан.
(!): Изменено окно "О программе", создана форма в конструкторе, до этого генерировался только MessageBox.
(+): Дополнен раздел Справка.
(+): В Объединении ПС добавлен перенос из папок CONSISTS_TEMP и TRAINSET_TEMP в CONSISTS и TRAINSET, соответственно, а также из TRAINSET_ALIAS в TRAINSET.
(!): Исправлено: при формировании пакетов не читались файлы Consists при попытке извлечения из них нужного ПС, к ним не формировался путь.
(+): Добавлен редактируемый список расширений файлов для поиска и замены.
(+): Добавлена функция Подсчета количества не-Unicode файлов в модуле Поиск и замена. Найденные файлы выводятся в non_unicode_files_log.txt.
(!): Изменен способ вывода лога на экран и в файл в модуле Поиска и замены. Выводятся только имена папок в которых найдены файлы. Имена папок выводятся в относительном пути к "Путь к MSTS".
(+): Добавлена возможность отделить только алиасы из папок ПС. Реализованы 3 метода отделения алиасов (1 метод – старый, 2,3 – новые методы), которые также используются при разделении ПС.
Известная проблема: При отделении алиасов (как отдельно, так и в составе разделения ПС), а также при объединении ПС обратно, в случае, если в обоих отделенных папках присутствуют папки с одинковым названием, даже если их сожержимое полностью различно, они не объединяются в одну папку.

u-u
09.10.2022, 22:16
У кого-то осталась эта утилита?