Entity
Revision as of 15:01, 22 March 2016 by Wikia>Thaswordster (→Crash 2/3: Adding offsets.)
An entity is an item that stores a collection of values (hereafter referred to as "fields") that can represent a game object/camera rail in Crash 2 and 3.
Format
Crash 2/3
Offset | Field | Size | Value |
---|---|---|---|
0x0 | Length of this item | 4 bytes | * |
0x4 | Unknown | 4 bytes x 2 | * |
0xC | Field count | 4 bytes | hc |
0x10 | Field info structures (headers) | hc * 8 bytes | * |
Field Info Structure h | |||
0x10 + (h * 0x8) + 0x0 | Type | 2 bytes | * |
0x10 + (h * 0x8) + 0x2 | Offset relative to 12 bytes at the start of the item | 2 bytes | offset |
0x10 + (h * 0x8) + 0x4 | Flags | Byte | * |
0x10 + (h * 0x8) + 0x5 | Element size | Byte | es |
0x10 + (h * 0x8) + 0x6 | Unknown | 2 bytes | * |
Field Structure f | |||
offset + 0xC + 0x0 | Element count | 2 bytes | ec |
offset + 0xC + 0x2 | Unknown | 2 bytes | * |
offset + 0xC + 0x4 | Data | es * ec | * |
offset + 0xC + 0x4 + es * ec | Unknown | ? bytes | * |
Type
The format and usage of the field data depends on the field type. Incomplete list.
Type | Name | Purpose | Format |
---|---|---|---|
0x2C | Name | String of characters for the internal name used to refer to the entity. It has no purpose so whatever you put here won't affect the game | UTF-8 charset |
0x4B | Position | List of position points to be used by the entity. Multiple of these can be used to make the entity follow a path (as long as it is programmed to do so) | Int16 for each X, Y and Z coordinate |
0x9F | ID | Value to uniquely identify the entity that is used to draw it, destroy it (see victims below) and other miscellaneous behaviors | Int321 |
0xA4 | General Settings | List of values that can be used to change a certain object's behavior (i.e. flags, delay, speed) | Int32 (UInt8 + Int24) |
0xA9 | Type | Type of the entity | Int32 |
0xAA | Subtype | Variant of the entity | Int32 |
0x287 | Victim | List of entity IDs to destroy on certain occasions (i.e. TNT is undrawn, Nitro Switch activated) | Int16 |
1 - Draw lists store this as an Int16, so setting this to a value higher than that will cause severe issues.