|
SSBM Decomp
|
Used by multiple Big Blue Ground subtypes (track, road, car gobjs). More...
#include <types.h>
Data Fields | ||
| union { | ||
| u32 x0_w | ||
| struct { | ||
| u8 x0 | ||
| u8 x1 | ||
| u8 x2 | ||
| u8 x3 | ||
| } | ||
| struct { | ||
| u8 x0_b1: 1 | ||
| u8 pad [3] | ||
| } | ||
| }; | ||
| void * | xC8 | |
| void * | xCC | |
| f32 | xD0 | |
| HSD_JObj * | xD4 [3] | |
| char | pad_3 [4] | |
| struct grBigBlue_GroundData | data [3] | |
Used by multiple Big Blue Ground subtypes (track, road, car gobjs).
Different gobjs interpret the same offsets differently.
Track gobj (ID 32): uses xC8 as HSD_JObj*[30], xCC as u8[30] flags. Road gobj (ID 34): uses xCC as f32 velocity, xD0/xD8 for position. Car gobj (ID 33): per-lane data at 0x40-byte stride from gp+D4, with fields: state(+0), target(+4), delta(+8), pos Vec3(+C), lateral(+20), direction(+2C), gravity(+30), height(+34), velocity(+38), accel(+3C), rotation(+40), amplitude(+44), angular_vel(+48).
| u32 grBigBlue_GroundVars::x0_w |
| u8 grBigBlue_GroundVars::x0 |
| u8 grBigBlue_GroundVars::x1 |
| u8 grBigBlue_GroundVars::x2 |
| u8 grBigBlue_GroundVars::x3 |
| u8 grBigBlue_GroundVars::x0_b1 |
| u8 grBigBlue_GroundVars::pad[3] |
| union { ... } grBigBlue_GroundVars |
| void* grBigBlue_GroundVars::xC8 |
| void* grBigBlue_GroundVars::xCC |
| f32 grBigBlue_GroundVars::xD0 |
| HSD_JObj* grBigBlue_GroundVars::xD4[3] |
| char grBigBlue_GroundVars::pad_3[4] |
| struct grBigBlue_GroundData grBigBlue_GroundVars::data[3] |