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

Материал из xrWiki
Перейти к: навигация, поиск
м
 
Строка 11: Строка 11:
 
| '''Написан на'''      || Perl 5
 
| '''Написан на'''      || Perl 5
 
|-
 
|-
| '''Обратная связь'''  || [http://www.amk-team.ru/forum/index.php?showtopic=11568 AMK форум]
+
| '''Обратная связь'''  || [https://www.amk-team.ru/forum/index.php?showtopic=11568 AMK форум]
 
|}
 
|}
 
</div>
 
</div>
Строка 25: Строка 25:
 
== Установка ==
 
== Установка ==
 
# Установите [[ActivePerl]].
 
# Установите [[ActivePerl]].
# Распакуйте [http://files.xray-engine.org/k.d./perl_scripts/level_unpackers/level._cdc_v.0.4.rar архив со скриптом] в нужную папку.
+
# Распакуйте [https://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>) или в папку со скриптом.
  

Текущая версия на 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).

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

Установка[править]

  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.