level. compiler/decompiler (level. cdc)

Материал из xrWiki
Перейти к: навигация, поиск

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).

Можно редактировать, изменения при запаковке сохранятся. В билдах часть секций находится в запакованном виде, текущая версия скрипта их не распаковывает.

Установка

  1. Установите ActivePerl.
  2. Распакуйте архив со скриптом в нужную папку.
  3. Скопируйте библиотеку модулей 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.