level. compiler/decompiler (level. cdc) — различия между версиями

Материал из xrWiki
Перейти к: навигация, поиск
(Новая страница: «<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…»)
 
Строка 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.