Показать сообщение отдельно
Старый 22.01.2015, 17:30   #2
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: OpenVice, или садо-мазо реверс-инженеринг

IMG Archive, или самая большая игровая свалка данных.

Первым делом, конечно же, становится разбор игровых архивов. Сам по себе вайсовский архив (а так же сан андреасовский, вайс сити сториевский, и далее по списку) - это два файла:
  1. DIR - Заголовочный файл
  2. IMG - Один толстый кирпич из данных
Оговорочка. В описании структур я буду использовать блицевские типы данных, потому как других нам тут и не надо.

DIR состоит из незамысловатой повторяющейся структуры:
int offset - позиция файла в IMG
int size - размер файла
chr[24] name - название файла
То бишь получается, чтобы узнать количество файлов в архиве, нужно разделить размер DIR-файла на 32.
Самое интересное в том, что оффсеты и размеры файлов нужно умножать на 2кб - размер сектора диска.

Вайс имеет при себе следующие IMG-ахивы:
  • models/gta3.img - все объекты игрового мира, а так же их текстуры (об их форматах чуть попозже).
  • anim/cuts.img - анимации роликов между миссиями. Сами персонажи, а так же декорации лежат в gta3.img, озвучка лежит отдельно в папке audio в формате mp3.
__________________


(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Кирпи4 за это полезное сообщение:
Arton (22.01.2015), Gector (22.01.2015), St_AnGer (23.01.2015)