ICETakeDictionary
aka ICEDictionary
No Example
Resource names
StandardICETakes
Type ID
0x41
Category
Generic
Memory distribution
Main Memory only
Imports
Unknown
Imported by
Unknown
Editor available?
No
The ICE (I n-game C amera E ditor) 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
64-bit
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
Hmmm... 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
One for each of the 12 channels
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
One for each of the 12 channels
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
Enumerations
ICE::ICEChannels
Name
Value
Comments
eICE_CHANNEL_MAIN
0
eICE_CHANNEL_BLEND?
1
eICE_CHANNEL_RAWFOCUS
2
eICE_CHANNEL_SHAKE
3
eICE_CHANNEL_TIME
4
eICE_CHANNEL_TAG
5
eICE_CHANNEL_OVERLAY
6
eICE_CHANNEL_LETTERBOX
7
eICE_CHANNEL_FADE
8
eICE_CHANNEL_POSTFX?
9
eICE_CHANNEL_ASSEMBLY
10
eICE_CHANNEL_SHAKE_DATA
11
eICE_NUM_CHANNELS
12