Difference between revisions of "User:Aruki/Sandbox"
From Retro Modding Wiki
m |
|||
Line 4: | Line 4: | ||
== Script Objects == | == 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) === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Offset | ||
+ | ! Type | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | vec3 | ||
+ | | 0xC | ||
+ | | '''Position''' | ||
+ | |- | ||
+ | | 0xC | ||
+ | | vec3 | ||
+ | | 0xC | ||
+ | | '''Rotation''' | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | vec3 | ||
+ | | 0xC | ||
+ | | '''Scale''' | ||
+ | |- | ||
+ | | 0x24 | ||
+ | | vec3 | ||
+ | | 0xC | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x30 | ||
+ | | vec3 | ||
+ | | 0xC | ||
+ | | '''Scan Offset''' | ||
+ | |- | ||
+ | | 0x3C | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x40 | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x44 | ||
+ | | struct | ||
+ | | 0xC | ||
+ | | [[#Health|Health]] | ||
+ | |- | ||
+ | | 0x50 | ||
+ | | struct | ||
+ | | 0x74 | ||
+ | | [[#Vulnerabilities|Vulnerabilities]] | ||
+ | |- | ||
+ | | 0xC4 | ||
+ | | [[CMDL (Metroid Prime)|CMDL]] | ||
+ | | 4 | ||
+ | | '''Model''' | ||
+ | |- | ||
+ | | 0xC8 | ||
+ | | [[ANCS (File Format)|ANCS]] | ||
+ | | 0xC | ||
+ | | '''Char Set''' | ||
+ | |- | ||
+ | | 0xD4 | ||
+ | | struct | ||
+ | | 0x7D | ||
+ | | [[#Common|'''Common''']] | ||
+ | |- | ||
+ | | 0x151 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x152 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x153 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x154 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x155 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x156 | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x15A | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x15B | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x15C | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x15D | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x15E | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x15F | ||
+ | | colspan=3 {{unknown|End}} | ||
+ | |} | ||
== Structs == | == Structs == | ||
Line 452: | Line 581: | ||
=== Common === | === Common === | ||
+ | |||
+ | 0x79 bytes | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Offset | ||
+ | ! Type | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | struct | ||
+ | | 0x47 | ||
+ | | [[#Inside Common|Inside Common]] | ||
+ | |- | ||
+ | | 0x47 | ||
+ | | struct | ||
+ | | 8 | ||
+ | | [[#Scan|Scan]] | ||
+ | |- | ||
+ | | 0x4F | ||
+ | | [[CMDL (Metroid Prime)||CMDL]] | ||
+ | | 4 | ||
+ | | '''X-Ray Model''' | ||
+ | |- | ||
+ | | 0x53 | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x57 | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x5B | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x5F | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x60 | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x64 | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x68 | ||
+ | | struct | ||
+ | | 0xA | ||
+ | | [[#Maybe Thermal-Related|Maybe Thermal-Related]] | ||
+ | |- | ||
+ | | 0x72 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x73 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x74 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x75 | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x79 | ||
+ | | colspan=3 {{unknown|End}} | ||
+ | |} | ||
==== Inside Common ==== | ==== Inside Common ==== | ||
+ | |||
+ | 0x43 bytes | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 462: | Line 675: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | | + | | bool |
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x1 | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x5 | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x9 | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0xD | ||
+ | | float | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x11 | ||
+ | | vec4 | ||
+ | | 0x10 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x21 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x22 | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x26 | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x2A | ||
+ | | vec3 | ||
+ | | 0xC | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x36 | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x3A | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x3E | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x3F | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x43 | ||
+ | | colspan=3 {{unknown|End}} | ||
+ | |} | ||
+ | |||
+ | === Scan ==== | ||
+ | |||
+ | 0x4 bytes | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Offset | ||
+ | ! Type | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | [[SCAN (Metroid Prime)|SCAN]] | ||
+ | | 4 | ||
+ | | '''SCAN file''' | ||
+ | |- | ||
+ | | 0x4 | ||
+ | | colspan=3 {{unknown|End}} | ||
+ | |} | ||
+ | |||
+ | === Maybe Thermal-Related === | ||
+ | |||
+ | 0x6 bytes | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Offset | ||
+ | ! Type | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x1 | ||
+ | | bool | ||
+ | | 1 | ||
+ | | {{unknown|'''Unknown'''}} | ||
+ | |- | ||
+ | | 0x2 | ||
+ | | u32 | ||
+ | | 4 | ||
+ | | {{unknown|'''Unknown''' (possibly bit flags)}} | ||
+ | |- | ||
+ | | 0x6 | ||
+ | | colspan=3 {{unknown|End}} | ||
+ | |} |
Revision as of 11:27, 27 January 2015
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 |