Для декомпіляції ігрових карт у формат LevelEditor'a використовується консольна утиліта converter.exe , що входить до пакету X-ray Game asset tools pack або X-ray Engine Tools (converter).
Налаштування конвертера.
Відкриваємо будь-яким текстовим редактором файл converter.ini , в ньому знаходимо рядки:
; 2947+ (включаючи оновлення) [ 2947_config ] :2945_config $game_data$ = c:\temp\ 1 \gamedata .3312 \ $game_levels$ = c:\temp\ 1 \gamedata .3312 \levels\
; 3456+ (Clear Sky включаючи оновлення) [ 3456_config ] :2947_config $game_data$ = c:\temp\ 1 \gamedata .3502 \ $game_levels$ = c:\temp\ 1 \gamedata .3502 \levels\ fake_mu_gamemtls = 34xx_fake_mu_gamemtls fake_gamemtls = 34xx_fake_gamemtls
Тут $game_data$ - шлях до папки gamedata з розпакованими ресурсами гри, $game_levels$ - до папки levels в gamedata відповідно. Потрібно вказати повні шляхи.
У файлі fsconverter.ltx знаходимо наступний рядок:
$sdk_root$ = false| false | c:\program files\x-ray sdk\level_editor\
Тут $sdk_root$ – шлях до повного SDK (русифікований не працює нормально з converter.exe). Правимо шлях на свій, не забуваючи поставити слеш наприкінці.
Більш конкретне налаштування ЦДК див. Посилання.
Декомпіляція.
Конвертер повністю налаштований, тепер потрібно створити .bat-файл для конвертування у формат SDK. Для цього створюємо текстовий файл, пишемо всередині команду та змінюємо формат файлу з .txt на .bat:
converter -level <номер_складання>:<ім'я_карти> -out <ім'я_сцени> -mode maya|le|le2 -with_lods pause
Тут <ім'я_карти> - ім'я папки з картою в каталозі gamedata\levels\ , наприклад l08_yantar (локація Бурштин з ТЧ), <ім'я_сцени> - ім'я картки після декомпіляції, можна не писати, в цьому випадку ім'я картки після декомпіляції не зміниться, <номер_сборки > - ім'я профілю Converter.ini.
Далі витримка з docs \ converter.txt :
Ключ -mode визначає режим роботи:
maya - декомпілювати тільки геометрію карти.
le – декомпілювати у формат LE.
le2 - декомпілювати у формат LE (для l12_stancia_2).
raw - декомпілювати у формат LE (налагоджувальний режим).
Ключ -with_lods обробляється залежно від -mode. Якщо він
заданий разом із -mode maya, програма видасть ще й MU-моделі. З іншими
режимами його наявність змушує converter розбивати LOD-текстури, що
необхідно для повного перескладання. Також ключ ''-with_lods'' слід використовувати,
якщо планується подальша перекомпіляція рівня.
Налагоджувальні параметри: -dbgcfrm, -dbgmrg.
Тобто команда для декомпіляції у формат SDK, наприклад, рівня l08_yantar виглядатиме так:
converter -level 2947 :l08_yantar -out l08_yantar_decompiled -mode le -with_lods
Якщо все зроблено правильно, після запуску батника піде процес декомпіляції.
5. Знайти декомпільовану карту можна буде в каталозі $sdk_root$\maps (файл, що читається SDK) і $sdk_root$\rawdata\objects\levels (об'єкти, що використовуються даним рівнем). Ну а далі думаю все і так зрозуміло - в ЛЕ тиснемо File -> Open і відкриваємо карту.