Декомпиляция уровней в формат СДК — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Декомпиляция уровней в формат СДК — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Декомпиляция.)
 
(не показаны 23 промежуточных версий 16 участников)
Строка 1: Строка 1:
Для декомпиляции игровых карт в формат LevelEditor-a используется Конвертер от Бардака, входящий в пакет !X-ray Game asset tools pack.
+
Для декомпиляции игровых карт в формат LevelEditor'a используется консольная утилита '''converter.exe''', входящая в пакет '''X-ray Game asset tools pack''' или ''' X-ray Engine Tools (converter)'''. Последнюю версию искать на [http://stalkerin.gameru.net сайте]
  
Пакет !X-ray Game asset tools pack качаем тут [http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=getit&lid=288]. Обновление [http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=getit&lid=348] ставим поверх пакета.
+
== Настройка Конвертера. ==
  
=== Пошаговое руководство по декомпиляции: ===
+
Открываем любым текстовым редакором файл '''converter.ini''', в нем находим строки:
 +
<ini>; 2947+ (финалка включая обновления)
 +
[2947_config]:2945_config
 +
$game_data$ = c:\temp\1\gamedata.3312\
 +
$game_levels$ = c:\temp\1\gamedata.3312\levels\</ini>
 +
<ini>; 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</ini>
  
1. Распаковать утилиту Бардака в нужную папку
+
Здесь ''$game_data$'' - путь до папки ''gamedata'' с распаковаными ресурсами игры, ''$game_levels$'' - до папки ''levels'' в ''gamedata'' соответственно. Необходимо указать полные пути.
  
2. Там находим и открываем любым текстовым редакором converter.ini в нем находим строчки:
+
В файле '''fsconverter.ltx''' находим следующую строку:
; 2947+ (финалка включая обновления)
+
<ini>
[2947_config]:2945_config
+
$sdk_root$ = false| false| c:\program files\x-ray sdk\level_editor\
$game_data$ = c:\temp\1\gamedata.3312\
+
</ini>
$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 соответственно. Указываем правильные пути.
+
  
3. Находим fsconverter.ltx там находим строчку :
+
Здесь ''$sdk_root$'' - путь до полного SDK (русифицированный не работает нормально с converter.exe). Правим путь на свой, не забывая поставить слэш в конце.
$sdk_root$ = false| false| c:\program files\x-ray sdk\level_editor\
+
где $sdk_root$ путь до полного СДК(покоцанный не работает нормально с этой утилитой)то есть после строчек false| false| пишем полный путь и именно со строчкой level_editor\ в конце как на примере(многие забывают).
+
  
4. Ну вот конвертер полностью настроен теперь ключ для конвертирования в формат СДК:
+
Более конкретная настройка СДК см. Ссылки.
Для этого создаем текстовой фаил в него вписываем этот параметр и меняем формат(переименованием)с .txt на .bat.
+
----
converter -level <имя_карты> -out <имя_сцены> -mode le
+
== Декомпиляция. ==
 +
 
 +
Конвертер полностью настроен, теперь нужно создать '''.bat-файл''' для конвертирования в формат SDK. Для этого создаем текстовой файл, пишем внутри команду и меняем формат файла с .txt на .bat:
 +
<ini>
 +
converter -level <номер_сборки>:<имя_карты> -out <имя_сцены> -mode maya|le|le2 -with_lods
 
pause
 
pause
где <имя_карты> точное название папки с картой пример:l08_yantar(локация янтарь из ТЧ), <имя_сцены> то как карта будет назваться после конвертирования, можно не писать в этом случае карта будет называться также как и до конвертирования в нашем случае l08_yantar, ну и ключ mode в нашем примере le то есть конвертирование карты в формат СДК,также можно использовать ключи maya(Конвертирование геометрии в формат Майи), le2(Формат использующийся для карты l12_stancia_2(может быть еще для каких не проверял)), raw(Опять же формат СДК но уже в отладочном режиме).
+
</ini>
 +
Здесь ''<имя_карты>'' - имя папки с картой в каталоге ''gamedata\levels\'', например ''l08_yantar'' (локация Янтарь из ТЧ), ''<имя_сцены>'' -  имя карты после декомпиляции, можно не писать, в этом случае имя карты после декомпиляции не изменится, ''<номер_сборки>'' - имя профиля в converter.ini.
 +
<br/>
 +
Далее выдержка из ''docs\converter.txt'':
 +
<code>
 +
Ключ -mode задаёт режим работы:
 +
maya - декомпилировать только геометрию карты.
 +
le - декомпилировать в формат LE.
 +
le2 - декомпилировать в формат LE (для l12_stancia_2).
 +
raw - декомпилировать в формат LE (отладочный режим).
 +
 
 +
Ключ -with_lods обрабатывается в зависимости от значения -mode. Если он
 +
задан совместно с -mode maya, программа выдаст ещё и MU-модели. С остальными
 +
режимами его наличие заставляет converter разбивать LOD-текстуры, что
 +
необходимо для полной пересборки. Также ключ ''-with_lods'' следует использовать
 +
если планируется дальнейшая перекомпиляция уровня.
 +
 
 +
Отладочные параметры: -dbgcfrm, -dbgmrg.
 +
</code>
 +
То есть команда для декомпиляции в формат SDK, например, уровня ''l08_yantar'' будет выглядеть так:
 +
<ini>
 +
converter -level 2947:l08_yantar -out l08_yantar_decompiled -mode le -with_lods
 +
</ini>
 +
 
 +
Если все сделано правильно, то после запуска батника пойдет процесс декомпиляции.
 +
----
 +
'''5.''' Найти декомпилированную карту можно будет в каталоге ''$sdk_root$\maps'' (файл, читаемый SDK) и ''$sdk_root$\rawdata\objects\levels'' (обьекты, используемые данным уровнем). Ну а далее думаю всё и так понятно - в ЛЕ жмём File -> Open и открываем нашу карту.
  
5. Если все сделанно правильно после запуска батника пойдет процесс декомпиляции.
+
== Ссылки. ==
 +
[http://www.gameru.net/forum/index.php?showtopic=22233 Настройка СДК от Kostya V]
  
6. Найти карту можно будет по адресу $sdk_root$\maps-фаил читаемый СДК и $sdk_root$\rawdata\objects\levels обьекты используемые данным уровнем.
 
  
 
[[Категория:SDK]]
 
[[Категория:SDK]]

Текущая версия на 12:54, 26 июля 2020

Для декомпиляции игровых карт в формат 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 и открываем нашу карту.

Ссылки.

Настройка СДК от Kostya V

Другие места
LANGUAGE