RSC — различия между версиями
Материал из GTAModding.ru
Dageron (обсуждение | вклад) |
Dageron (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
4 байта - Сигнатура RSC (52 53 43 05) | 4 байта - Сигнатура RSC (52 53 43 05) | ||
4 байта - Версия ресурса | 4 байта - Версия ресурса | ||
− | 4 байта - | + | 4 байта - Флаги |
− | Далее следует сами данные ресурса в запакованном формате | + | Далее следует сами данные ресурса в запакованном формате. |
− | Распакованный ресурс можно разделить на две части - 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 каждая.
Их конкретные размеры "зашиты" в параметре "флаги" и могут быть вычислены с помощью данного алгоритма:
{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
Версии и типы ресурсов:
Идентификатор | Название | Характеристика | Расширения |
---|---|---|---|
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
|