RRB Format - DustStormPettigrew/LibLR1 GitHub Wiki
RRB — NPC Path
AI opponent racing path using compact fixed-point encoding for dense node arrays.
Top-Level Blocks
| Block ID | Hex | Type | Description |
|---|---|---|---|
| Nodes | 0x27 |
RRB_Node[] |
Path node array |
| Unknown 28 | 0x28 |
LRQuaternion | Initial rotation? |
| Unknown 29 | 0x29 |
LRVector3 | Initial position? |
| Unknown 2A | 0x2A |
LRVector3 | Unknown |
| Unknown 2B | 0x2B |
LRQuaternion | Unknown |
| Unknown 2C | 0x2C |
int | Unknown |
| Unknown 2D | 0x2D |
int | Unknown |
RRB_Node
Uses fixed-point types for compact storage:
| Field | Type | Description |
|---|---|---|
| DeltaX | Fract16Bit | X position delta (÷256) |
| DeltaY | Fract16Bit | Y position delta (÷256) |
| DeltaZ | Fract8Bit | Z position delta (÷16) |
| RotX | Fract8Bit | Quaternion X (÷16) |
| RotY | Fract8Bit | Quaternion Y (÷16) |
| RotZ | Fract8Bit | Quaternion Z (÷16) |
| RotW | Fract8Bit | Quaternion W (÷16) |
| Fract1 | Fract8Bit | Unknown |
| Fract2 | Fract8Bit | Unknown |
| UnknownTiming | byte | Timing/speed? |
Each node is 10 values: 2×Fract16 + 7×Fract8 + 1×byte = very compact per-frame path data.
Read/Write Support
Full round-trip.