level. compiler/decompiler (level. cdc) — различия между версиями
Материал из xrWiki
RedPython (обсуждение | вклад) |
RedPython (обсуждение | вклад) м |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 7: | Строка 7: | ||
| '''Автор''' || K.D. | | '''Автор''' || K.D. | ||
|- | |- | ||
− | | '''Последняя версия''' || 0.4 | + | | '''Последняя версия''' || 0.4 |
|- | |- | ||
| '''Написан на''' || Perl 5 | | '''Написан на''' || Perl 5 | ||
|- | |- | ||
− | | '''Обратная связь''' || [ | + | | '''Обратная связь''' || [https://www.amk-team.ru/forum/index.php?showtopic=11568 AMK форум] |
|} | |} | ||
</div> | </div> | ||
Строка 22: | Строка 22: | ||
Можно редактировать, изменения при запаковке сохранятся. В билдах часть секций находится в запакованном виде, текущая версия скрипта их не распаковывает. | Можно редактировать, изменения при запаковке сохранятся. В билдах часть секций находится в запакованном виде, текущая версия скрипта их не распаковывает. | ||
+ | |||
+ | == Установка == | ||
+ | # Установите [[ActivePerl]]. | ||
+ | # Распакуйте [https://files.xray-engine.org/k.d./perl_scripts/level_unpackers/level._cdc_v.0.4.rar архив со скриптом] в нужную папку. | ||
+ | # Скопируйте библиотеку модулей [[stkutils]] в папку с библиотеками Perl (например, <code>C:\Perl\lib</code>) или в папку со скриптом. | ||
== Использование == | == Использование == | ||
− | Декомпиляция:<syntaxhighlight lang=" | + | Декомпиляция:<syntaxhighlight lang="winbatch"> perl lcdc -d <файл> [-o <папка>]</syntaxhighlight> |
− | Компиляция:<syntaxhighlight lang=" | + | Компиляция:<syntaxhighlight lang="winbatch"> perl lcdc -c <папка> [-o <файл>]</syntaxhighlight> |
Подсказки: | Подсказки: | ||
Строка 32: | Строка 37: | ||
== История версий == | == История версий == | ||
− | ''' | + | '''v.0.4''' |
* Введено логгирование, адаптирован новый модуль отладки | * Введено логгирование, адаптирован новый модуль отладки | ||
− | ''' | + | '''v.0.3''' |
− | Исправлен баг запаковки, если паковался чанк FSL_CFORM | + | * Исправлен баг запаковки, если паковался чанк FSL_CFORM |
'''v.0.2''' | '''v.0.2''' | ||
* Добавлена поддержка билдов 749-1555 | * Добавлена поддержка билдов 749-1555 | ||
Строка 41: | Строка 46: | ||
* Начальный релиз, основная функциональность. | * Начальный релиз, основная функциональность. | ||
− | Автор данного скрипта | + | Автор данного скрипта — '''K.D.''', разбор формата level — '''bardak'''. |
− | [[Категория: | + | [[Категория:Perl]] |
Текущая версия на 01:36, 9 февраля 2024
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.