Для чего и подготовка#
Официальный инструмент Egosoft доступен в Bonus Material и пакете X Tools в библиотеке Steam с включённой категорией Tools. XRCatToolGUI.exe удобен для просмотра; XRCatTool.exe - для повторяемой сборки. CAT является индексом, DAT хранит данные: пара должна оставаться вместе.
Первый опыт#
- В GUI выберите Import catalogs и откройте нужную пару CAT/DAT.
- Для актуальных данных учитывайте все номерные каталоги: более поздний заменяет одноимённые записи раннего. DLC имеют отдельные каталоги.
- Выберите нужные записи и Extract с сохранением иерархии папок. Оригинал храните отдельно от правок.
- В CLI задайте переменные $Game и $Tool своими путями. Пример извлекает только схемы и MD из номерных базовых каталогов.
New-Item -ItemType Directory -Force -Path .\reference
$Catalogs = Get-ChildItem -LiteralPath $Game -Filter '*.cat' |
Where-Object BaseName -Match '^[0-9]+$' | Sort-Object Name
& $Tool -in $Catalogs.FullName -out .\reference -include '^libraries/' '^md/'Что получится#
В reference появятся соответствующие исходные файлы с сохранёнными путями. Игра и архивы не изменяются. Для упаковки передайте подготовленную папку в -in, а имя новой пары ext_01.cat в -out; content.xml оставьте рядом с архивом.
Проверка и ограничения#
Папка вывода должна существовать. -include использует регулярные выражения, а не маску *.xml. -diff сравнивает содержимое каталогов и не является XML-патчем <diff>. Проверьте список файлов пакета и сообщения Failed reading, а не только код завершения. Далее: XML-патчи.