|
SSBM Decomp
|
Used by multiple Big Blue Ground subtypes (track, road, car gobjs). More...
#include <types.h>
Data Fields | |
| union { | |
| u16 status | |
| struct { | |
| u8 state: 6 | |
| u8 direction: 1 | |
| u8 state_hi: 1 | |
| u8 x1 | |
| } | |
| struct { | |
| u16 pad_slot_0: 7 | |
| u16 collision_slot: 5 | |
| u16 pad_slot_1: 4 | |
| } | |
| }; | |
| s8 | x2 |
| u8 | x3 |
| f32 | target |
| f32 | delta |
| Vec3 | pos |
| f32 | alpha |
| s32 | threshold |
| f32 | gravity |
| f32 | height |
| f32 | velocity |
| f32 | accel |
| f32 | rotation |
| f32 | amplitude |
| f32 | angular_velocity |
| f32 | x110 |
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): see grBigBlue_RoadVars. 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). Per-lane data for the Big Blue car gobj (ID 33), 0x40-byte stride from gp+D4.
| u16 grBigBlue_CarLane::status |
| u8 grBigBlue_CarLane::state |
| u8 grBigBlue_CarLane::direction |
| u8 grBigBlue_CarLane::state_hi |
| u8 grBigBlue_CarLane::x1 |
| u16 grBigBlue_CarLane::pad_slot_0 |
| u16 grBigBlue_CarLane::collision_slot |
| u16 grBigBlue_CarLane::pad_slot_1 |
| union { ... } grBigBlue_CarLane |
| s8 grBigBlue_CarLane::x2 |
| u8 grBigBlue_CarLane::x3 |
| f32 grBigBlue_CarLane::target |
| f32 grBigBlue_CarLane::delta |
| Vec3 grBigBlue_CarLane::pos |
| f32 grBigBlue_CarLane::alpha |
| s32 grBigBlue_CarLane::threshold |
| f32 grBigBlue_CarLane::gravity |
| f32 grBigBlue_CarLane::height |
| f32 grBigBlue_CarLane::velocity |
| f32 grBigBlue_CarLane::accel |
| f32 grBigBlue_CarLane::rotation |
| f32 grBigBlue_CarLane::amplitude |
| f32 grBigBlue_CarLane::angular_velocity |
| f32 grBigBlue_CarLane::x110 |