Формат файла \data\Packs\BaseLocrus.pak -> Bin\pack.loc:
Файл запакован ZLib (уровень сжатия 6)
После распаковки:
Заголовок + таблица_имён_файлов + имена_файлов + блок 1 + таблица_размеров + блок 2 + данные
Заголовок (16 байт):
int32 unknown1 = 0x00 // номер блока?
int32 sizes_pos // позиция таблицы размеров
int32 unknown2 = 0x08 // сдвиг?
int32 item_count // количество файлов
таблица_имён_файлов (по 12 байт):
int32 pos // позиция имени (относительно заголовка)
int32 size // размер строки
int32 id // идентификатор
имена_файлов (длинна зависит от таблицы_имён_файлов):
строка file_name // имя файла (строка завершается нулями; количество нулей добивается до кратности 4)
непонятный блок 1
int32 unknown1 = 0x01 // номер блока?
int32 item_count = item_count * 2 // количество файлов * 2
таблица_размеров (по 8 байт):
int32 pos // позиция (должна быть кратна 4)
int32 size // размер файла, делённый на 2
непонятный блок 2
int32 unknown1 = 0x02 // номер блока?
int32 file_sizes // размер всех файлов (с учётом подгонки кратности 4)
int32 unknown2 = 0x00
int32 unknown3 = 0x00
int32 unknown4 = 0x00
int32 unknown5 = 0x00
----
gsomgsom
ICQ: 23-977-23