Декомпиляция уровня: различия между версиями

Материал из Моддинг трилогии S.T.A.L.K.E.R. - MODFAQ.RU | +TES/Fallout
Перейти к навигации Перейти к поиску
мНет описания правки
мНет описания правки
 
Строка 23: Строка 23:


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


== Настройка конвертера ==
== Настройка конвертера ==
Строка 29: Строка 28:


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


2) Скачайте '''X-Ray Converter Extra'''.
2) Скачайте '''X-Ray Converter Extra'''.
Строка 36: Строка 34:


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


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


4) Чтобы конвертер понимал, куда ему ложить декомпилированный уровень, необходимо открыть '''fsconverter.ltx''', и найти строчку:
4) Чтобы конвертер понимал, куда ему ложить декомпилированный уровень, необходимо открыть '''fsconverter.ltx''', и найти строчку:
Строка 49: Строка 45:
$sdk_root$ = false| false| D:\Programs\X-Ray_SDK_0.7\editors\
$sdk_root$ = false| false| D:\Programs\X-Ray_SDK_0.7\editors\
</source>
</source>


== Подготовка к декомпиляции ==
== Подготовка к декомпиляции ==
Строка 55: Строка 50:


В списке профили не только [[S.T.A.L.K.E.R. - Тень Чернобыля|ТЧ]], [[S.T.A.L.K.E.R. - Чистое Небо|ЧН]] и [[S.T.A.L.K.E.R. - Зов Припяти|ЗП]], но и множества билдов.
В списке профили не только [[S.T.A.L.K.E.R. - Тень Чернобыля|ТЧ]], [[S.T.A.L.K.E.R. - Чистое Небо|ЧН]] и [[S.T.A.L.K.E.R. - Зов Припяти|ЗП]], но и множества билдов.


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


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


1) Найдите в секции <code>1844_config</code>, строчки:
1) Найдите в секции <code>1844_config</code>, строчки:
Строка 72: Строка 65:
$game_levels$ = D:\Downloads\xrCore build 1844 - Feb 19 2004\gamedata\levels\
$game_levels$ = D:\Downloads\xrCore build 1844 - Feb 19 2004\gamedata\levels\
</source>
</source>


2) Чтобы конвертировать спавн билда в формат '''SDK 0.7''', допишите в секцию строчку:
2) Чтобы конвертировать спавн билда в формат '''SDK 0.7''', допишите в секцию строчку:
Строка 78: Строка 70:
spawn_version = cop
spawn_version = cop
</source>
</source>


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


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


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


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


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


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


[[Категория:X-Ray_SDK]][[Категория:Level_Editor]]
[[Категория:X-Ray_SDK]][[Категория:Level_Editor]]

Текущая версия от 19:16, 27 июня 2022

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

Автор 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.