level. compiler/decompiler (level. cdc) — различия между версиями
Материал из xrWiki
RedPython (обсуждение | вклад) (Новая страница: «<div style="padding: .5em 1em; float: right; background: #f2f2f2; border: 1px solid #aaaaaa;"> <big>'''S.T.A.L.K.E.R. level compiler/decompiler'''</big> ---- {| s…») |
RedPython (обсуждение | вклад) |
||
Строка 42: | Строка 42: | ||
Автор данного скрипта - '''K.D.''', разбор формата level - '''bardak'''. | Автор данного скрипта - '''K.D.''', разбор формата level - '''bardak'''. | ||
+ | |||
+ | [[Категория:Скрипты на Perl]] |
Версия 15:42, 5 июня 2013
S.T.A.L.K.E.R. level compiler/decompiler
Тип | Компилятор/декомпилятор |
Автор | K.D. |
Последняя версия | 0.4 (30.08.2012) |
Написан на | Perl 5 |
Обратная связь | AMK форум |
Скрипт предназначен для распаковки и запаковки файла level. Поддерживаются форматы всех финалок и всех известных билдов. Кроме распаковки также подробно разбираются следующие секции:
- FSL_HEADER — заголовок с версией xrLC и качеством сборки
- FSL_SHADERS — таблица пар текстура/шейдер (engine shader). В билдах 1558-1569 только текстура.
- FSL_LIGHT_DYNAMIC — источники света (в основном, для R1)
- FSL_GLOWS — отблески
- FSL_TEXTURES — текстуры (билды 749-1098).
Можно редактировать, изменения при запаковке сохранятся. В билдах часть секций находится в запакованном виде, текущая версия скрипта их не распаковывает.
Использование
Декомпиляция: lcdc -d <файл> [-o <папка>]
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.