-
Notifications
You must be signed in to change notification settings - Fork 9
CLF File Format Rus
Глоссарий
integer - тип данных, целое, положительное число, размер в файле 2 (указывается) или 4 байта (по умолчанию).
float - тип данных, нецелое число, размер в файле 4 байта.
string - тип данных, строка с завершающим нулем на конце (по умолчанию), иногда строка имеет фиксированную длины без нуля на конце (указывается).
-TODO-
Ссылки
- Шаблон формата CLF для программы 010 Editor. Открыть
1. Введение
3. Секции
3.1 Заголовок файла
3.2 Список текстур
3.2 Модель
Этот документ описывает структуру формата файла CLF, используемого в игре Корсары (2000). Формат CLF содержит параметры трехмерных моделей: координаты вершин, данные текстур, параметры анимации и другие.
Все переменные, перечисленные в таблицах, показаны в порядке их следования в файле.
Формат CLF разделен на 3 основные секции (см Табл. 1).
№ | Секция | Ссылки |
---|---|---|
1 | Заголовок файла | См. Таблица 1 |
2 | Текстуры | См. Таблица 2 |
3 | Модель | См. Таблица 3 |
Файл CLF начинается с секции "Заголовок файла", которая содержит количество текстур, количество мешей и др..
№ | Тип данных | Описание | Значение |
---|---|---|---|
1 | integer | Сигнатура файла | |
2 | integer | Неизвестная переменная | |
3 | integer | Неизвестная переменная | 0 |
4 | integer | Неизвестная переменная | 1 |
5 | integer | Количество текстур | |
6 | integer | Неизвестная переменная | 0 |
7 | integer | Количество мешей | |
8 | integer | Неизвестная переменная | 0 |
9 | integer | Неизвестная переменная | 886 |
10 | integer | Неизвестная переменная | 0 |
11 | integer | Неизвестная переменная | 0 |
Список текстур представляет собой последовательно расположенный массив имен файлов, содержащих текстуры объекта.
№ | Тип данных | Описание |
---|---|---|
1 | string | Название файла |
В одном файле формата CLF всегда хранится одна трехмерная модель, разбитая на несколько мешей/объектов.
№ | Описание | Значение |
---|---|---|
1 | Заголовок | См. Таблица 5 |
2 | Вершины | См. Таблица 6 |
3 | Полигоны | См. Таблица 7 |
4 | Параметры анимации | См. Таблица 8 |
№ | Тип данных | Описание | Значение |
---|---|---|---|
1 | string | Имя меша/объекта (32 байта без завершающего нуля на конце) | |
2 | integer | Количество кадров анимации | |
3 | integer | Индекс текстуры | |
4 | integer | Количество вершин | |
5 | integer | Количество полигонов (треугольников) | |
6 | unknown | Пустое поле (96 байт) |
Вершины хранятся в файле последовательно в виде массива, элемент которого содержит координаты вершины, текстурных координаты, а также цвет вершины.
№ | Тип данных | Описание | Значение |
---|---|---|---|
1 | float | Координата X | |
2 | float | Координата Y | |
3 | float | Координата Z | |
4 | float | - | 0 |
5 | float | - | 0 |
6 | float | - | 0 |
7 | float | - | 0 |
Полигоны хранятся в файле последовательно в виде массива, элемент которого содержит 3 индекса вершин из массива вершин.
№ | Тип данных | Описание | Значение |
---|---|---|---|
1 | integer | Индекс первой вершины | |
2 | integer | Индекс второй вершины | |
3 | integer | Индекс третьей вершины | |
4 | Unknown | 2 байта | 0 |
5 | float | Координата U (1ая вершина) | |
6 | float | Координата V (1ая вершина) | |
7 | float | Координата U (2ая вершина) | |
8 | float | Координата V (2ая вершина) | |
9 | float | Координата U (3ая вершина) | |
10 | float | Координата V (3ая вершина) |
Анимация мешей/объектов хранится в файле последовательно в виде массива, элемент которого соотвествует 1 кадру анимации и содержит координаты и углы поворота меша, а также номер кадра. Первый кадр анимации соотвествует состоянию покоя объекта.
№ | Тип данных | Описание | Значение |
---|---|---|---|
1 | float | Координата X | |
2 | float | Координата Y | |
3 | float | Координата Z | |
4 | float | Поворот X | |
5 | float | Поворот Y | |
6 | float | Поворот Z | |
7 | float | Фрейм |