IMG Archive, или самая большая игровая свалка данных.
Первым делом, конечно же, становится разбор игровых архивов. Сам по себе вайсовский архив (а так же сан андреасовский, вайс сити сториевский, и далее по списку) - это два файла:
- DIR - Заголовочный файл
- IMG - Один толстый кирпич из данных
Оговорочка. В описании структур я буду использовать блицевские типы данных, потому как других нам тут и не надо.
DIR состоит из незамысловатой повторяющейся структуры:
int offset - позиция файла в IMG
int size - размер файла
chr[24] name - название файла
То бишь получается, чтобы узнать количество файлов в архиве, нужно разделить размер DIR-файла на 32.
Самое интересное в том, что оффсеты и размеры файлов нужно умножать на 2кб - размер сектора диска.
Вайс имеет при себе следующие IMG-ахивы:
- models/gta3.img - все объекты игрового мира, а так же их текстуры (об их форматах чуть попозже).
- anim/cuts.img - анимации роликов между миссиями. Сами персонажи, а так же декорации лежат в gta3.img, озвучка лежит отдельно в папке audio в формате mp3.