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

Материал из GTAModding.ru
Перейти к: навигация, поиск
Строка 4: Строка 4:
 
  4 байта - Сигнатура RSC (52 53 43 05)
 
  4 байта - Сигнатура RSC (52 53 43 05)
 
  4 байта - Версия ресурса
 
  4 байта - Версия ресурса
  4 байта - Параметры
+
  4 байта - Флаги
  
Далее следует сами данные ресурса в запакованном формате (алгоритм упаковки - Zlib).
+
Далее следует сами данные ресурса в запакованном формате.
  
Распакованный ресурс можно разделить на две части - System Memory Segment и Graphics Memory Segment.
+
ПК-версия игры использует в качестве алгоритма упаковки - Zlib.
 +
 
 +
Распакованный ресурс можно разделить на две части - System Memory Segment и Graphics Memory Segment, размером, кратным 256 каждая.
 +
 
 +
Их конкретные размеры "зашиты" в параметре "флаги" и могут быть вычислены с помощью данного алгоритма:
 +
 
 +
<source lang="delphi" line>
 +
{Flags - переменная, содержащее соответственное значение} 
 +
CPUSize:= (Flags AND $7FF) shl (((Flags shr 11) AND $F) + 8); //расчет размера System Memory Segment
 +
GPUSize:= ((Flags shr 15) AND $7FF) shl (((Flags shr 26) AND $F)+8); //расчет размера Graphics Memory Segment
 +
 
 +
</source>
  
 
'''Версии и типы ресурсов:'''
 
'''Версии и типы ресурсов:'''

Версия 15:09, 18 марта 2009

Ресурсные файлы GTA IV имеют следующий формат:

Заголовок

4 байта - Сигнатура RSC (52 53 43 05)
4 байта - Версия ресурса
4 байта - Флаги

Далее следует сами данные ресурса в запакованном формате.

ПК-версия игры использует в качестве алгоритма упаковки - Zlib.

Распакованный ресурс можно разделить на две части - System Memory Segment и Graphics Memory Segment, размером, кратным 256 каждая.

Их конкретные размеры "зашиты" в параметре "флаги" и могут быть вычислены с помощью данного алгоритма:

  1. {Flags - переменная, содержащее соответственное значение}   
  2. CPUSize:= (Flags AND $7FF) shl (((Flags shr 11) AND $F) + 8); //расчет размера System Memory Segment
  3. GPUSize:= ((Flags shr 15) AND $7FF) shl (((Flags shr 26) AND $F)+8); //расчет размера Graphics Memory Segment

Версии и типы ресурсов:

Идентификатор Название Характеристика Расширения
1 Windows/XENON Animation Dictionary Анимации (PC и Xbox360) .WAD .XAD
7 XENON Texture Dictionary Текстуры (Xbox360) .XTD
8 Windows Texture Dictionary Текстуры (PC) .WTD
32 Bounds  ? (PC и Xbox360) .WBD .XBD
109 XENON Model Модели (Xbox360) .XDR
110 Windows Model Модели (PC) .WDR
112 Windows/XENON Model Frag Модели (PC и Xbox360) .WFT .XFT