Декомпиляция уровней в формат СДК — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
RedPython (обсуждение | вклад) (оформление, стиль, дополнение) |
|||
Строка 1: | Строка 1: | ||
− | Для декомпиляции игровых карт в формат LevelEditor | + | Для декомпиляции игровых карт в формат LevelEditor'a [http://stalkerin.gameru.net/wiki/index.php/MP_SDK SDK 0.4] используется консольная утилита '''converter.exe''' от bardak'а, входящая в пакет '''[http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=getit&lid=288 X-ray Game asset tools pack]'''. |
− | + | === Пошаговое руководство по декомпиляции === | |
− | === | + | '''1.''' Распаковываем '''X-ray Game asset tools pack''', обязательно ставим '''[http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=getit&lid=348 обновление]''' поверх. |
+ | ---- | ||
+ | '''2.''' Открываем любым текстовым редакором файл '''converter.ini''', в нем находим строки: | ||
− | 1. | + | <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> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | 3. | + | Здесь ''$game_data$'' - путь до папки ''gamedata'' с распаковаными ресурсами игры, ''$game_levels$'' - до папки ''levels'' в ''gamedata'' соответственно. Необходимо указать полные пути. |
− | + | ---- | |
− | + | '''3.''' В файле '''fsconverter.ltx''' находим следующую строку: | |
+ | <ini> | ||
+ | $sdk_root$ = false| false| c:\program files\x-ray sdk\level_editor\ | ||
+ | </ini> | ||
− | 4. | + | Здесь ''$sdk_root$'' - путь до полного SDK (русифицированный не работает нормально с converter.exe). Правим путь на свой, не забывая поставить слэш в конце. |
− | Для этого создаем текстовой файл | + | ---- |
− | converter -level <имя_карты> -out <имя_сцены> -mode le | + | '''4.''' Конвертер полностью настроен, теперь нужно создать '''.bat-файл''' для конвертирования в формат SDK. Для этого создаем текстовой файл, пишем внутри команду и меняем формат файла с .txt на .bat: |
+ | <ini> | ||
+ | converter -level <имя_карты> [-out <имя_сцены>] [-mode maya|le|le2] | ||
pause | pause | ||
− | + | </ini> | |
+ | Здесь ''<имя_карты>'' - имя папки с картой в каталоге ''gamedata\levels\'', например ''l08_yantar'' (локация Янтарь из ТЧ), ''<имя_сцены>'' - имя карты после декомпиляции, можно не писать, в этом случае имя карты после декомпиляции не изменится. | ||
+ | <br/> | ||
+ | Далее выдержка из ''docs\converter.txt'': | ||
+ | <code> | ||
+ | Ключ -mode задаёт режим работы: | ||
+ | maya - декомпилировать только геометрию карты. | ||
+ | le - декомпилировать в формат LE. | ||
+ | le2 - декомпилировать в формат LE (для l12_stancia_2). | ||
+ | raw - декомпилировать в формат LE (отладочный режим). | ||
− | + | Ключ -with_lods обрабатывается в зависимости от значения -mode. Если он | |
+ | задан совместно с -mode maya, программа выдаст ещё и MU-модели. С остальными | ||
+ | режимами его наличие заставляет converter разбивать LOD-текстуры, что | ||
+ | необходимо для полной пересборки. | ||
− | 6. Найти карту можно будет | + | Отладочные параметры: -dbgcfrm, -dbgmrg. |
+ | </code> | ||
+ | То есть команда для декомпиляции в формат SDK, например, уровня ''l08_yantar'' будет выглядеть так: | ||
+ | <ini> | ||
+ | converter -level l08_yantar -out l08_yantar_decompiled -mode le | ||
+ | </ini> | ||
+ | Если планируется дальнейшая перекомпиляция, то следует использовать ключ ''-with_lods''. | ||
+ | ---- | ||
+ | '''5.''' Если все сделано правильно, то после запуска батника пойдет процесс декомпиляции. | ||
+ | ---- | ||
+ | '''6.''' Найти декомпилированную карту можно будет в каталоге ''$sdk_root$\maps'' (файл, читаемый SDK) и ''$sdk_root$\rawdata\objects\levels'' (обьекты, используемые данным уровнем). | ||
[[Категория:SDK]] | [[Категория:SDK]] |
Версия 12:34, 21 августа 2010
Для декомпиляции игровых карт в формат LevelEditor'a SDK 0.4 используется консольная утилита converter.exe от bardak'а, входящая в пакет X-ray Game asset tools pack.
Пошаговое руководство по декомпиляции
1. Распаковываем X-ray Game asset tools pack, обязательно ставим обновление поверх.
2. Открываем любым текстовым редакором файл 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 соответственно. Необходимо указать полные пути.
3. В файле fsconverter.ltx находим следующую строку:
$sdk_root$ = false| false| c:\program files\x-ray sdk\level_editor\
Здесь $sdk_root$ - путь до полного SDK (русифицированный не работает нормально с converter.exe). Правим путь на свой, не забывая поставить слэш в конце.
4. Конвертер полностью настроен, теперь нужно создать .bat-файл для конвертирования в формат SDK. Для этого создаем текстовой файл, пишем внутри команду и меняем формат файла с .txt на .bat:
converter -level <имя_карты> [-out <имя_сцены>] [-mode maya|le|le2]
pause
Здесь <имя_карты> - имя папки с картой в каталоге gamedata\levels\, например l08_yantar (локация Янтарь из ТЧ), <имя_сцены> - имя карты после декомпиляции, можно не писать, в этом случае имя карты после декомпиляции не изменится.
Далее выдержка из docs\converter.txt:
Ключ -mode задаёт режим работы:
maya - декомпилировать только геометрию карты.
le - декомпилировать в формат LE.
le2 - декомпилировать в формат LE (для l12_stancia_2).
raw - декомпилировать в формат LE (отладочный режим).
Ключ -with_lods обрабатывается в зависимости от значения -mode. Если он
задан совместно с -mode maya, программа выдаст ещё и MU-модели. С остальными
режимами его наличие заставляет converter разбивать LOD-текстуры, что
необходимо для полной пересборки.
Отладочные параметры: -dbgcfrm, -dbgmrg.
То есть команда для декомпиляции в формат SDK, например, уровня l08_yantar будет выглядеть так:
converter -level l08_yantar -out l08_yantar_decompiled -mode le
Если планируется дальнейшая перекомпиляция, то следует использовать ключ -with_lods.
5. Если все сделано правильно, то после запуска батника пойдет процесс декомпиляции.
6. Найти декомпилированную карту можно будет в каталоге $sdk_root$\maps (файл, читаемый SDK) и $sdk_root$\rawdata\objects\levels (обьекты, используемые данным уровнем).