Level.details — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Level.details — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
Строка 3: Строка 3:
 
Содержит информацию о детальных объектах (трава, гайки и сухие листья).
 
Содержит информацию о детальных объектах (трава, гайки и сухие листья).
  
Состоит из трёх RIFF-секций:
+
Состоит из трёх RIFF-секций (блоков):
 
+
{| class="standard"
0x0 заголовок
+
|-
 
+
!Идентификатор блока||Размер (в байтах)||Описание
0x1 модели объектов (в формате .dm)
+
|-
 
+
|0x0||24||заголовок
0x2 таблица ячеек 2x2 метра, задающяя плотность и видовое разнообразие объектов на карте
+
|-
 +
|0x1||-||модели объектов (в формате .dm)
 +
|-
 +
|0x2||-||таблица ячеек 2x2 метра, задающяя плотность и видовое разнообразие объектов на карте
 +
|-
 +
|}
  
 
== Версии формата ==
 
== Версии формата ==

Версия 10:48, 18 декабря 2016

Общее описание файла

Содержит информацию о детальных объектах (трава, гайки и сухие листья).

Состоит из трёх RIFF-секций (блоков):

Идентификатор блока Размер (в байтах) Описание
0x0 24 заголовок
0x1 - модели объектов (в формате .dm)
0x2 - таблица ячеек 2x2 метра, задающяя плотность и видовое разнообразие объектов на карте

Версии формата

2 - билды 1096-1558

3 - от билда 1569 до "Зова Припяти"

Версия 3 отличается от 2 тем, как хранится таблица ячеек растительности. В 3 версии они сохраняются в более компактном виде из-за чего размер файла level.details меньше. Коэфициенты освещения в версии 3: тени от солнца, hemi, свет (Light в Level Editor). А в версии 2 коэффициент освещения общий (нет разделения на тени, hemi, свет). Блоки 0x0, 0x1 одинаковы в обеих версиях, но порядок расположения в файле у них разный.

Очерёдность блоков в версии 3: 0x1, 0x2, 0x0

Очерёдность блоков в версии 2: 0x0, 0x1, 0x2

Типы данных

Чтобы статья была более компактной, я введу обозначения данных:

Обозначение Размер (в байтах) Тип Диапазон
I 4 целое число 0..4294967295
i 4 целое число -2147483648..2147483647
H 2 целое число 0..65535

Блоки

Блок 0x0 (заголовок)

I версия формата

I количество dm моделей в файле

i смещение ячеек таблицы по оси X

i смещение ячеек таблицы по оси Z

I количество ячеек таблицы по оси X

I количество ячеек таблицы по оси Z

Блок 0x1 (меши)

I идентификатор меша

I размер данных меша

данные меша

Данные меша

Меши хранятся в формате *.dm

Описание формата dm:
Формат файлов *.dm

Блок 0x2 (слоты/таблица ячеек)

Версия 3

Один слот хранится в 16 байтах, которые указывают:

Базовую высоту слота (это значение нужно умножить на 0.2 метра), хранится в 12 битах

Дополнительную высоту слота (это значение нужно умножить на 0.1 метра), хранится в 8 битах

Четыре идентификатора меша растительности (по 6 бит каждый)

Тень от солнца (4 бита)

Hemi освещение (4 бита)

Освещение RGB (каждая составляющая цвета по 4 бита)

(?) палитра (64 бита)

На положение слотов по оси Y накладываются ограничения. Нижняя граница равна -200 метров. А допустимый диапазон: -200..644.5 (0.2*4095 + 0.1*255 - 200)

Абсолютная высота слота (т.е. положение по оси Y) равна: баз.*0.2 + доп.*0.1 - 200

Участник: Pavel

Другие места
LANGUAGE