Декомпиляция уровня

Материал из MODFAQ.RU — моддинг игр серии S.T.A.L.K.E.R., The Elder Scrolls и Fallout
Перейти к: навигация, поиск

Декомпиляция уровня

Автор aka_sektor
Тип статьи руководство
Актуальность ЗП
Необходимый софт Текстовый редактор, X-Ray Converter, X-Ray SDK 0.7
Связанные статьи
Декомпиляция уровня

Подключение одного уровня
Подключение нескольких уровней

Чтобы переделать готовый игровой уровень, без наличия исходников объектов и файлов в формате SDK — декомпилируйте уровень.

Настройка конвертера

1) Скачайте и установите X-Ray Converter.

Если версия Windows у вас 64-битная, используйте вариант из папки x64-Release, а если ещё и видеокарта от NVIDIA, то — x64-Release_CUDA.

2) Скачайте X-Ray Converter Extra.

Это файлы converter.ini, fsconverter.ltx и fsconverter_cs-cop.ltx.

Переместите их в папку конвертера.

3) Файл fsconverter.ltx настроен для работы с SDK 0.4, поэтому уберите его из папки конвертера. А имеющийся файл fsconverter_cs-cop.ltx, переименуйте в fsconverter.ltx

4) Чтобы конвертер понимал, куда ему ложить декомпилированный уровень, необходимо открыть fsconverter.ltx, и найти строчку:

$sdk_root$			= false| false| X:\
А затем задать свой путь к SDK до папки editors. Пример:
$sdk_root$			= false| false| D:\Programs\X-Ray_SDK_0.7\editors\

Подготовка к декомпиляции

Чтобы конвертер понимал, какой уровень ему декомпилировать, необходимо в файле converter.ini выбрать профиль, и задать в его секции путь к папке с готовым уровнем.

В списке профили не только ТЧ, ЧН и ЗП, но и множества билдов.

Пример декомпиляции уровня из билда 1844.

В файле converter.ini, в секции [profiles], билд имеет профиль 1844, и секцию 1844_config.

1) Найдите в секции 1844_config, строчки:

$game_data$			= X:\_builds_\build_1844\gamedata\
$game_levels$		= X:\_builds_\build_1844\gamedata\levels\
Измените путь до папки gamedata билда на свой. Пример:
$game_data$			= D:\Downloads\xrCore build 1844 - Feb 19 2004\gamedata\
$game_levels$		= D:\Downloads\xrCore build 1844 - Feb 19 2004\gamedata\levels\

2) Чтобы конвертировать спавн билда в формат SDK 0.7, допишите в секцию строчку:

spawn_version = cop

Декомпиляция

1) В папке конвертера создайте *.bat файл с любым именем, например, start.bat

2) Запишите в него следующий код:

converter -level 1844:tir3 -out tir -mode le
pause

1844 — профиль

tir3 — название уровня в билде (gamedata/levels)

tir — название уровня, которое будет после декомпиляции в SDK (editors\rawdata\levels)

3) При попытке запустить start.bat, произойдет ошибка [bug] unimplemented code path at ..\xr_entity_script.cxx:294.

Удалите из xrCore build 1844 - Feb 19 2004\gamedata\levels\tir3 файл level.spawn, и запустите снова.

Решение известных ошибок конвертера описано здесь: X-Ray Converter#Возможные ошибки и их исправление

Готово! Если конвертер в конце написал saving scene, значит декомпиляция прошло нормально. Уровень можно открывать в Level Editor X-Ray SDK 0.7.