/* Игра: Heroes of Might and Magic 2 Формат: AGG Сжатие: Отсутствует Защита: нет Автор: Кубышев Владимир Адрес: http://andrey.wom.ru/mrripper Почта: crom@echo.ru */ Формат не имеет никакого ярко выраженного начала. FAT имеет особенность: сначала идет список смещений и размеров, а список имен файлов находится в конце файла. Заголовок формата: struct { long nFiles; //количество записей в FAT } AGG_Header; Описание элемента FAT: Сразу за заголовком идет FAT: struct { long Junk; //Не знаю, что это long Offset; //Смещение к началу файла long Size; //Размер файла } FATItem; Такая структура повторяется nFiles раз и описывает один файл из AGG архива. После идут непосредственно сами файлы. В конце расположены имена этих файлов. NamesOffset = PackFileSize-nFiles*15; Вот формула, позволяющая определить начало таблицы имен. PackFileSize - размер AGG файла. struct { char FileName[15]; } NameTableItem; Такая структура повторяется nFiles раз и содержит имя одного файла из AGG архива.