--- title: X Catalog Tool: распаковка и упаковка summary: Как открыть CAT/DAT, извлечь нужные файлы и собрать отдельный пакет расширения. section: tools kind: guide status: reference updated: 2026-10-27 tags: ["tools","инструменты","X4"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/X%20Catalog%20Tool/","https://www.egosoft.com/download/x4/bonus_en.php"] --- ## Для чего и подготовка Официальный инструмент 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-патчем . Проверьте список файлов пакета и сообщения Failed reading, а не только код завершения. Далее: [XML-патчи](wiki:xml-patches).