User:Aruki/Sandbox
From Retro Modding Wiki
Dumping script object structures here for now. Miles is the one who figured out most of this stuff.
Note: Whenever a struct is used, it's preceded by a value indicating the number of properties contained in that struct. Therefore, you need to add 4 to the size of its members to get an accurate size.
Contents
Script Objects
Like how structs are preceded by a property count, entire objects' property sets are each considered to be their own struct, and so are also preceded by a property count. Also, every object except Area Attributes (0x4E) begins with a string instance name. Excluding because variable-length data is yucky for the offset column.
Actor (0x0)
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | vec3 | 0xC | Position |
| 0xC | vec3 | 0xC | Rotation |
| 0x18 | vec3 | 0xC | Scale |
| 0x24 | vec3 | 0xC | Unknown |
| 0x30 | vec3 | 0xC | Scan Offset |
| 0x3C | float | 4 | Unknown |
| 0x40 | float | 4 | Unknown |
| 0x44 | struct | 0xC | Health |
| 0x50 | struct | 0x74 | Vulnerabilities |
| 0xC4 | CMDL | 4 | Model |
| 0xC8 | ANCS | 0xC | Char Set |
| 0xD4 | struct | 0x7D | Common |
| 0x151 | bool | 1 | Unknown |
| 0x152 | bool | 1 | Unknown |
| 0x153 | bool | 1 | Unknown |
| 0x154 | bool | 1 | Unknown |
| 0x155 | bool | 1 | Unknown |
| 0x156 | u32 | 4 | Unknown |
| 0x15A | float | 4 | Unknown |
| 0x15B | bool | 1 | Unknown |
| 0x15C | bool | 1 | Unknown |
| 0x15D | bool | 1 | Unknown |
| 0x15E | bool | 1 | Unknown |
| 0x15F | End | ||
Structs
Patterned
0x12D bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | float | 4 | Mass |
| 0x4 | float | 4 | Speed |
| 0x8 | float | 4 | Turn Speed |
| 0xC | float | 4 | Detection Range |
| 0x10 | float | 4 | Detection Height Range |
| 0x14 | float | 4 | Detection Angle |
| 0x18 | float | 4 | Min Attack Range |
| 0x1C | float | 4 | Max Attack Range |
| 0x20 | float | 4 | Average Attack Time |
| 0x24 | float | 4 | Attack Time Variation |
| 0x28 | float | 4 | Leash Radius |
| 0x2C | float | 4 | Player Leash Radius |
| 0x30 | float | 4 | Player Leash Time |
| 0x34 | struct | 0x14 | Contact Damage |
| 0x48 | float | 4 | Damage Wait Time |
| 0x4C | struct | 0xC | Health |
| 0x50 | struct | 0x74 | Vulnerabilities |
| 0xC4 | float | 4 | Unknown |
| 0xC8 | float | 4 | Unknown |
| 0xCC | vec3 | 0xC | Unknown |
| 0xD8 | float | 4 | Unknown |
| 0xDC | float | 4 | Unknown |
| 0xE0 | float | 4 | Unknown |
| 0xE4 | float | 4 | Unknown |
| 0xE8 | u32 | 4 | Sound? |
| 0xEC | ANCS | 0xC | Char Set |
| 0xF0 | bool | 1 | Active |
| 0xF1 | AFSM | 4 | FSM |
| 0xF5 | float | 4 | Unknown |
| 0xF9 | float | 4 | Unknown |
| 0xFD | float | 4 | Unknown |
| 0x101 | u32 | 4 | Unknown |
| 0x105 | vec3 | 0xC | Unknown |
| 0x111 | PART | 4 | Particle |
| 0x115 | u32 | 4 | Unknown |
| 0x119 | vec3 | 0xC | Unknown |
| 0x125 | PART | 4 | Particle |
| 0x129 | u32 | 4 | Sound? |
| 0x12D | End | ||
Contact Damage
0x10 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | u32 | 4 | Weapon Type |
| 0x4 | float | 4 | Damage |
| 0x8 | float | 4 | Radius |
| 0xC | float | 4 | Knockback Power |
| 0x10 | End | ||
Health
0x8 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | float | 4 | Health |
| 0x4 | float | 4 | Knockback Resistance |
| 0x8 | End | ||
Vulnerabilities
0x70 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | u32 | 4 | Power Beam |
| 0x4 | u32 | 4 | Ice Beam |
| 0x8 | u32 | 4 | Wave Beam |
| 0xC | u32 | 4 | Plasma Beam |
| 0x10 | u32 | 4 | Morph Ball Bomb |
| 0x14 | u32 | 4 | Power Bomb |
| 0x18 | u32 | 4 | Missile |
| 0x1C | u32 | 4 | Boost Ball |
| 0x20 | u32 | 4 | Phazon Beam |
| 0x24 | u32 | 4 | Enemy Weapon 1 |
| 0x28 | u32 | 4 | Enemy Weapon 2 (Poison) |
| 0x2C | u32 | 4 | Enemy Weapon 3 (Lava) |
| 0x30 | u32 | 4 | Enemy Weapon 4 |
| 0x34 | u32 | 4 | Unknown Weapon 1 |
| 0x38 | u32 | 4 | Unknown Weapon 2 |
| 0x3C | u32 | 4 | Unknown Weapon 3 |
| 0x40 | struct | 0x18 | Charged Beams |
| 0x54 | struct | 0x18 | Beam Combos |
| 0x70 | End | ||
Charged Beams
0x14 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | u32 | 4 | Charged Power Beam |
| 0x4 | u32 | 4 | Charged Ice Beam |
| 0x8 | u32 | 4 | Charged Wave Beam |
| 0xC | u32 | 4 | Charged Plasma Beam |
| 0x10 | u32 | 4 | Charged Phazon Beam |
| 0x14 | End | ||
Beam Combos
0x14 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | u32 | 4 | Super Missile |
| 0x4 | u32 | 4 | Ice Spreader |
| 0x8 | u32 | 4 | Wavebuster |
| 0xC | u32 | 4 | Flamethrower |
| 0x10 | u32 | 4 | Phazon Combo |
| 0x14 | End | ||
Common
0x79 bytes
| Offset | Type | Size | Description | |
|---|---|---|---|---|
| 0x0 | struct | 0x47 | Inside Common | |
| 0x47 | struct | 8 | Scan | |
| 0x4F | [[CMDL (Metroid Prime) | CMDL]] | 4 | X-Ray Model |
| 0x53 | u32 | 4 | Unknown | |
| 0x57 | u32 | 4 | Unknown | |
| 0x5B | u32 | 4 | Unknown | |
| 0x5F | bool | 1 | Unknown | |
| 0x60 | float | 4 | Unknown | |
| 0x64 | float | 4 | Unknown | |
| 0x68 | struct | 0xA | Maybe Thermal-Related | |
| 0x72 | bool | 1 | Unknown | |
| 0x73 | bool | 1 | Unknown | |
| 0x74 | bool | 1 | Unknown | |
| 0x75 | float | 4 | Unknown | |
| 0x79 | End | |||
Inside Common
0x43 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | bool | 1 | Unknown |
| 0x1 | float | 4 | Unknown |
| 0x5 | float | 4 | Unknown |
| 0x9 | float | 4 | Unknown |
| 0xD | float | 4 | Unknown |
| 0x11 | vec4 | 0x10 | Unknown |
| 0x21 | bool | 1 | Unknown |
| 0x22 | u32 | 4 | Unknown |
| 0x26 | u32 | 4 | Unknown |
| 0x2A | vec3 | 0xC | Unknown |
| 0x36 | u32 | 4 | Unknown |
| 0x3A | u32 | 4 | Unknown |
| 0x3E | bool | 1 | Unknown |
| 0x3F | u32 | 4 | Unknown |
| 0x43 | End | ||
Scan
0x4 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | SCAN | 4 | SCAN file |
| 0x4 | End | ||
Maybe Thermal-Related
0x6 bytes
| Offset | Type | Size | Description |
|---|---|---|---|
| 0x0 | bool | 1 | Unknown |
| 0x1 | bool | 1 | Unknown |
| 0x2 | u32 | 4 | Unknown (possibly bit flags) |
| 0x6 | End | ||