Skip to content

CMP File Format Rus

AlexKimov edited this page Jul 11, 2018 · 1 revision

Описание бинарного формата CMP

Date: 2018.07 | Version: 0.1 | Авторы: Александр Евдокимов

Глоссарий

integer - тип данных, целое, положительное число, размер в файле 2 (указывается) или 4 (по умолчанию) байта.

string - тип данных, строка.

array - последовательность элементов/типов данных.

-TODO-

Ссылки

  1. Шаблон формата CMP для программы 010 Editor. Открыть

Оглавление

1. Введение

2. Общая структура формата

3. Секции

  3.1 Заголовок файла

  3.2 Ноды

  3.3 Линии

  3.4 Текст

1. Введение

Этот документ описывает структуру формата файла CMP, используемого в игре Корсары (2000). Формат CMP содержит данные внутри игрового редактора компании: параметры нодов, линий, соединяющих ноды.

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

2. Общая структура формата

Формат CMP разделен на 4 основные секции (см Табл. 1).

Таблица 1. Общая структура

Секция Ссылки
1 Заголовок файла См. Таблица 2
2 Ноды См. 2. Ноды
3 Линии См. 3. Линии
4 Текст См. 4. Текст

3. Секции

3.1 Заголовок файла

Файл CMP начинается с секции "Заголовок файла", которая содержит сигнатуру файла, количество связей и др..

Таблица 2. Структура заголовка файла

Тип данных Описание Значение
1 string Сигнатура файла (5 + 1 байт) "AOSCP"
2 integer Количество нод (2 байта)
3 integer Количество связей (2 байта)
4 integer Неизвестная переменная (2 байта)
5 integer Неизвестная переменная (2 байта)
6 integer Неизвестная переменная (2 байта)
7 integer Неизвестная переменная
8 integer Неизвестная переменная (2 байта)
9 integer Неизвестная переменная (2 байта)
10 integer Неизвестная переменная (2 байта)
11 integer Неизвестная переменная (2 байта)
12 integer Неизвестная переменная (2 байта)
13 integer Неизвестная переменная (2 байта)
14 integer Неизвестная переменная (2 байта)
15 integer Неизвестная переменная (2 байта)

3.2 Ноды

Нода в редакторе компании имеет координаты ее расположения в окне, индексы, связывающие ее с другими нодами, а также параметры. Ноды расположены в файле последовательно.

Таблица 3. Структура секции нодов

Тип данных Описание Значение
1 integer Индекс ноды (2 байта)
2 integer Тип (2 байта) 2 - уровень, 3 - брифинг
3 integer Индекс ноды (2 байта)
4 integer Индекс ноды (2 байта)
5 integer Неизвестная переменная
6 integer Координата X
7 integer Координата Y
8 string Имя файла сценария (260 байт)
9 string Название (64 байт)

3.3 Линии

Линии соединяющие ноды, состоят из горизонтальной и одной вертикальной линии и трех опорных точек.

Таблица 4. Структура секции с линиями

Тип данных Описание Значение
1 integer Индекс ноды (из) (2 байта)
2 integer Индекс ноды (в)(2 байта))
3 integer Тип (2 байта) 102, 101, 103
4 integer Тип (2 байта) 102, 101, 103
5 integer Координата X1
6 integer Координата Y1
7 integer Координата X2
8 integer Координата Y2
9 integer Координата X3
10 integer Координата Y3

3.4 Текст

Таблица 5. Структура секции текста

Тип данных Описание Значение
1 string Название компании
2 string Описание компании
3 string Название файла со скриптами