RPF — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
(Новая: '''RPF''' - новый вид архивов, предстатвленных в GTAIV. В настоящее время могут быть отредактированы в OpenIV ...)
 
Строка 6: Строка 6:
  
 
  4b - INT32 - Версия RPF (2: 0x32465052; 3: 0x33465052).
 
  4b - INT32 - Версия RPF (2: 0x32465052; 3: 0x33465052).
  4b - INT32 - Таблица содержимого (размер).
+
  4b - INT32 - Размер таблицы содержимого.
  4b - INT32 - Количество содержимого (количество файлов).
+
  4b - INT32 - Количество содержимых объектов.
 
  4b - INT32 - Unknown.
 
  4b - INT32 - Unknown.
 
  4b - INT32 - Зашифрован ли архив (если не зашифрован, то флаг равен нулю).
 
  4b - INT32 - Зашифрован ли архив (если не зашифрован, то флаг равен нулю).
Строка 13: Строка 13:
 
==Таблица содержимого==
 
==Таблица содержимого==
  
Размер таблицы содержимого определяется значением в заголовке архива. Сама таблица начинается после 2048 байт после начала файла, ее шифрование так же зависит от соответствующего значения в заголовку См. [[Шифрование (GTA 4)]].
+
Размер таблицы содержимого определяется значением в заголовке архива. Сама таблица начинается после 2048 байт от начала файла, ее шифрование так же зависит от соответствующего значения в заголовке См. [[Шифрование (GTA 4)]].
  
 
Содержит разделы директорий и файлов. Оба раздела отличаются своими структурами и занимают разное пространство.
 
Содержит разделы директорий и файлов. Оба раздела отличаются своими структурами и занимают разное пространство.

Версия 10:57, 12 марта 2009

RPF - новый вид архивов, предстатвленных в GTAIV. В настоящее время могут быть отредактированы в OpenIV и SparkIV.

Содержание

Заголовок

Все RPF файлы имеют однотипный заголовок, из которого можно узнать версию архива, количество содержимого и зашифрован ли архив.

4b - INT32 - Версия RPF (2: 0x32465052; 3: 0x33465052).
4b - INT32 - Размер таблицы содержимого.
4b - INT32 - Количество содержимых объектов.
4b - INT32 - Unknown.
4b - INT32 - Зашифрован ли архив (если не зашифрован, то флаг равен нулю).

Таблица содержимого

Размер таблицы содержимого определяется значением в заголовке архива. Сама таблица начинается после 2048 байт от начала файла, ее шифрование так же зависит от соответствующего значения в заголовке См. Шифрование (GTA 4).

Содержит разделы директорий и файлов. Оба раздела отличаются своими структурами и занимают разное пространство.

Раздел директорий

4b - INT32  - Оффсет имени (определяет оффсет в таблице названий где находится имя директории).
4b - INT32  - Флаги (дает информацию о директории).
4b - UINT32 - Индекс (определяется в первом бите unsigned integer).
4b - UINT32 - Количество (количество файлов в директории; определяется первыми 4 битами unsigned integer).

Раздел файлов

4b - INT32  - Оффсет имени (определяет оффсет в таблице названий который содержит имя файла).
4b - INT32  - Размер (определяет размер файла).
3b - UINT24 - Оффсет (определяет оффсет файла в архиве).
1b - UCHAR8 - Тип ресурса (определяет версию ресурса - только для RSC).
4b - UINT32 - Определяет сжат файл или нет.

В качестве алгоритма сжатия используется Zlib.