Для чего и подготовка#

Официальный инструмент Egosoft доступен в Bonus Material и пакете X Tools в библиотеке Steam с включённой категорией Tools. XRCatToolGUI.exe удобен для просмотра; XRCatTool.exe - для повторяемой сборки. CAT является индексом, DAT хранит данные: пара должна оставаться вместе.

Первый опыт#

  1. В GUI выберите Import catalogs и откройте нужную пару CAT/DAT.
  2. Для актуальных данных учитывайте все номерные каталоги: более поздний заменяет одноимённые записи раннего. DLC имеют отдельные каталоги.
  3. Выберите нужные записи и Extract с сохранением иерархии папок. Оригинал храните отдельно от правок.
  4. В CLI задайте переменные $Game и $Tool своими путями. Пример извлекает только схемы и MD из номерных базовых каталогов.
POWERSHELL
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-патчи.