Skip to content
aspadm edited this page Oct 11, 2018 · 2 revisions

English version

Формат: REG

Описание

Упакованный INI файл

Визуализация

структура reg, png изображение

Структура

Файл начинается с маленького заголовка:

uint magic; // FB 3E AB 45
ushort sections_count;

После него хранится массив смещений секций:

typedef struct
{
    ushort unknown;
    uint offset;
} section_offset;

section_offset offsets[sections_count];

Теперь можно прочесть каждую секцию по её смещению:

ushort keys_count;

ushort section_name_len;
char section_name[section_name_len];

Секция состоит из нескольких ключей:

ushort unknown;
uint key_offset; // локальное смещение внутри секции

seek(file, section_offset + key_offset);

byte key_type;
ushort key_name_len;
char key_name[key_name_len];

Если key_type > 127, то ключ хранит массив значений: ushort elements_count, key_type -= 128.

Теперь можно считать данные ключа: 0 - int value; 1 - float value; 2 - ushort len; char value[len];

Clone this wiki locally