level. compiler/decompiler (level. cdc) — различия между версиями
Материал из xrWiki
RedPython (обсуждение | вклад) |
RedPython (обсуждение | вклад) |
||
Строка 24: | Строка 24: | ||
== Установка == | == Установка == | ||
− | # Установите [ | + | # Установите [[ActivePerl]]. |
# Распакуйте [http://files.xray-engine.org/k.d./perl_scripts/level_unpackers/level._cdc_v.0.4.rar архив со скриптом] в нужную папку. | # Распакуйте [http://files.xray-engine.org/k.d./perl_scripts/level_unpackers/level._cdc_v.0.4.rar архив со скриптом] в нужную папку. | ||
# Скопируйте библиотеку модулей [[stkutils]] в папку с библиотеками Perl (например, <code>C:\Perl\lib</code>) или в папку со скриптом. | # Скопируйте библиотеку модулей [[stkutils]] в папку с библиотеками Perl (например, <code>C:\Perl\lib</code>) или в папку со скриптом. | ||
Строка 48: | Строка 48: | ||
Автор данного скрипта — '''K.D.''', разбор формата level — '''bardak'''. | Автор данного скрипта — '''K.D.''', разбор формата level — '''bardak'''. | ||
− | [[Категория: | + | [[Категория:Perl]] |
Версия 22:58, 4 сентября 2016
S.T.A.L.K.E.R. level compiler/decompiler
Тип | Компилятор/декомпилятор |
Автор | K.D. |
Последняя версия | 0.4 |
Написан на | Perl 5 |
Обратная связь | AMK форум |
Скрипт предназначен для распаковки и запаковки файла level. Поддерживаются форматы всех финалок и всех известных билдов. Кроме распаковки также подробно разбираются следующие секции:
- FSL_HEADER — заголовок с версией xrLC и качеством сборки
- FSL_SHADERS — таблица пар текстура/шейдер (engine shader). В билдах 1558-1569 только текстура.
- FSL_LIGHT_DYNAMIC — источники света (в основном, для R1)
- FSL_GLOWS — отблески
- FSL_TEXTURES — текстуры (билды 749-1098).
Можно редактировать, изменения при запаковке сохранятся. В билдах часть секций находится в запакованном виде, текущая версия скрипта их не распаковывает.
Установка
- Установите ActivePerl.
- Распакуйте архив со скриптом в нужную папку.
- Скопируйте библиотеку модулей stkutils в папку с библиотеками Perl (например,
C:\Perl\lib
) или в папку со скриптом.
Использование
Декомпиляция: perl lcdc -d <файл> [-o <папка>]
perl lcdc -c <папка> [-o <файл>]
Подсказки:
- в FSL_LIGHT_DYNAMIC у каждой секции есть параметр type (тип). Доступные варианты: point|spot|directional.
- в FSL_GLOWS shader_index означает номер пары в таблице текстура/шейдер. Внимание! Под индексом 0 в таблице нет пары, так и должно быть.
История версий
v.0.4
- Введено логгирование, адаптирован новый модуль отладки
v.0.3
- Исправлен баг запаковки, если паковался чанк FSL_CFORM
v.0.2
- Добавлена поддержка билдов 749-1555
v.0.1
- Начальный релиз, основная функциональность.
Автор данного скрипта — K.D., разбор формата level — bardak.