ICE data is used for cameras such as race starts, Picture Paradise and Super Jumps.
CgsContainers::Dictonary<ICE::ICETakeData>[edit | edit source]
CgsContainers::SimpleDictionary<ICE::ICETakeData>[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0xC |
DictionaryBase |
super_DictionaryBase |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x10 |
DictionaryBase |
super_DictionaryBase |
|
|
CgsContainers::DictionaryBase[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
int32_t |
miNumEntries |
Number of Dictionary entries |
|
0x4 |
0x4 |
int32_t |
miDictionarySize |
Dictionary size (file size minus DictionaryBase length) |
|
0x8 |
0x4 |
DictEntry* |
mpaIndex |
Dictionary entries |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
int32_t |
miNumEntries |
Number of Dictionary entries |
|
0x4 |
0x4 |
int32_t |
miDictionarySize |
Dictionary size (file size minus DictionaryBase length) |
|
0x8 |
0x8 |
DictEntry* |
mpaIndex |
Dictionary entries |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
DictionaryKey |
mKey |
CRC32 hash of lowercase macTakeName |
|
0x8 |
0x4 |
char* |
mpData |
ICE take data |
See ICETakeData
|
0xC |
0x4 |
int32_t |
mxUserFlags |
|
Always 0x80000000
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
DictionaryKey |
mKey |
CRC32 hash of lowercase macTakeName |
|
0x8 |
0x8 |
char* |
mpData |
ICE take data |
See ICETakeData
|
0x10 |
0x4 |
int32_t |
mxUserFlags |
|
Always 0x80000000
|
0x14 |
0x4 |
|
|
padding |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
bTNode<ICE::ICETakeData> |
super_bTNode |
|
|
0x8 |
0x4 |
int32_t |
miGuid |
GameDB ID |
|
0xC |
0x20 |
char[32] |
macTakeName |
ICE Take Name |
|
0x2C |
0x4 |
float32_t |
mfLength |
Take length in seconds |
|
0x30 |
0x4 |
uint32_t |
muAllocated |
|
|
0x34 |
0x30 |
ICEElementCount[12] |
mElementCounts |
|
TODO: Data after this is variable. Array of uint16s, array of floats, and camera data?
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x10 |
bTNode<ICE::ICETakeData> |
super_bTNode |
|
|
0x10 |
0x4 |
int32_t |
miGuid |
GameDB ID |
|
0x14 |
0x20 |
char[32] |
macTakeName |
ICE Take Name |
|
0x34 |
0x4 |
float32_t |
mfLength |
Take length in seconds |
|
0x38 |
0x4 |
uint32_t |
muAllocated |
|
|
0x3C |
0x30 |
ICEElementCount[12] |
mElementCounts |
|
TODO: Data after this is variable. Array of uint16s, array of floats, and camera data? PS4 has an additional value.
|
ICE::bTNode<ICE::ICETakeData>[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
bNode |
super_bNode |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x10 |
bNode |
super_bNode |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
bNode* |
Next |
|
Populated in memory
|
0x4 |
0x4 |
bNode* |
Prev |
|
Populated in memory
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
bNode* |
Next |
|
Populated in memory
|
0x4 |
0x8 |
bNode* |
Prev |
|
Populated in memory
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x2 |
uint16_t |
mu16Intervals |
|
|
0x2 |
0x2 |
uint16_t |
mu16Keys |
|
|
CgsContainers::DictEntry::DictionaryKey[edit | edit source]
Name |
Type |
Length |
Comments
|
DictionaryKey |
int64_t |
0x8 |
CRC32 hash of lowercase macTakeName
|