ICE Take Dictionary: Difference between revisions
Content added Content deleted
(Mention earlier types.) |
m (Normalization) |
||
Line 33: | Line 33: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0xC || [[#CgsContainers::DictionaryBase |
| 0x0 || 0xC || [[#CgsContainers::DictionaryBase|DictionaryBase]] || || Base class || |
||
|} |
|} |
||
Line 88: | Line 88: | ||
| 0x10 || 0x4 || int32_t || mxUserFlags || || Always 0x80000000 |
| 0x10 || 0x4 || int32_t || mxUserFlags || || Always 0x80000000 |
||
|- |
|- |
||
| 0x14 || 0x4 || || || |
| 0x14 || 0x4 || || || Padding || |
||
|} |
|} |
||
Revision as of 08:36, 3 October 2023
ICETakeDictionary | |
---|---|
aka ICEDictionary | |
Resource names | StandardICETakes |
Type ID | 0x41 |
Category | Generic |
Memory distribution |
Main Memory only |
Editor available? |
No |
The ICE (In-game Camera Editor) take dictionary stores the camera cuts for things such as race starts, Picture Paradise and Super Jumps. It is only found in CAMERAS.BUNDLE.
This resource type supersedes the earlier ICE List and ICE Data types.
Structures
CgsContainers::Dictonary<ICE::ICETakeData>
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | SimpleDictionary<ICE::ICETakeData> | Base class |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | SimpleDictionary<ICE::ICETakeData> | Base class |
CgsContainers::SimpleDictionary<ICE::ICETakeData>
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | DictionaryBase | Base class |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | DictionaryBase | Base class |
CgsContainers::DictionaryBase
32-bit
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 |
64-bit
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 |
CgsContainers::DictEntry
32-bit
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 |
64-bit
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 |
ICE::ICETakeData
To do: Data after this is variable. Array of uint16s, array of floats, and camera data? PS4 has an additional value. |
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | bTNode<ICE::ICETakeData> | Base class | ||
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 |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | bTNode<ICE::ICETakeData> | Base class | ||
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 |
ICE::bTNode<ICE::ICETakeData>
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | bNode | Base class |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | bNode | Base class |
ICE::bNode
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | bNode* | Next | Populated in memory | |
0x4 | 0x4 | bNode* | Prev | Populated in memory |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | bNode* | Next | Populated in memory | |
0x4 | 0x8 | bNode* | Prev | Populated in memory |
ICE::ICEElementCount
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2 | uint16_t | mu16Intervals | ||
0x2 | 0x2 | uint16_t | mu16Keys |
Typedefs
CgsContainers::DictEntry::DictionaryKey
Name | Type | Length | Comments |
---|---|---|---|
DictionaryKey | int64_t | 0x8 | CRC32 hash of lowercase macTakeName |