Vehicle Animation
| VehicleAnimation | |
|---|---|
| Resource names | *_VANM *Vehicle ID, e.g. PUSMC01 |
| Type ID | 0x10023 |
| Category | Game-specific (Burnout Paradise) |
| Memory distribution |
Main Memory only |
| Editor available? |
No |
The vehicle animation resource type stores per-vehicle user-triggered animations, working in conjunction with a Body Part Remap Data resource.
Structures[edit | edit source]
Note: This type has no available debugging symbols. All structures are based on user research and are unconfirmed.
Vehicle animation resource[edit | edit source]
32-bit[edit | edit source]
| Offset | Length | Type | Name | Description | Comments |
|---|---|---|---|---|---|
| 0x0 | 0x4 | uint32_t | ? | Resource size | |
| 0x4 | 0x4 | uint32_t | ? | Version number | 1 |
| 0x8 | 0x4 | uint32_t | ? | Number of parts | |
| 0xC | 0x4 | BrnAnimationPart* | ? | Parts | |
| 0x10 | 0x4 | uint32_t | ? | Number of animation data entries | |
| 0x14 | 0x4 | BrnVehicleAnimation* | ? | Animation data | |
| 0x18 | 0x4 | uint32_t | ? | Number of state entries | |
| 0x1C | 0x4 | BrnVehicleStateAnimation* | ? | State data | |
| 0x20 | 0x4 | int8_t[4] | ? | Wheel part model indices | Order: Front left, front right, rear left, rear right -1 if unused; no animation displays |
| 0x24 | 0xC | Padding | |||
| 0x30 | 0x100 | Matrix44Affine[4] | ? | Wheel positions | Order: Front left, front right, rear left, rear right Animation only; real positions in deformation resource |
64-bit[edit | edit source]
| Offset | Length | Type | Name | Description | Comments |
|---|---|---|---|---|---|
| 0x0 | 0x4 | uint32_t | ? | Resource size | |
| 0x4 | 0x4 | uint32_t | ? | Version number | 1 |
| 0x8 | 0x4 | uint32_t | ? | Number of parts | |
| 0xC | 0x4 | Padding | |||
| 0x10 | 0x8 | BrnAnimationPart* | ? | Parts | |
| 0x18 | 0x4 | uint32_t | ? | Number of animation data entries | |
| 0x1C | 0x4 | Padding | |||
| 0x20 | 0x8 | BrnVehicleAnimation* | ? | Animation data | |
| 0x28 | 0x4 | uint32_t | ? | Number of state entries | |
| 0x2C | 0x4 | Padding | |||
| 0x30 | 0x8 | BrnVehicleStateAnimation* | ? | State data | |
| 0x38 | 0x4 | int8_t[4] | ? | Wheel part model indices | Order: Front left, front right, rear left, rear right -1 if unused; no animation displays |
| 0x3C | 0x4 | Padding | |||
| 0x40 | 0x100 | Matrix44Affine[4] | ? | Wheel positions | Order: Front left, front right, rear left, rear right Animation only; real positions in deformation resource |
BrnWorld::BrnAnimationPart[edit | edit source]
| To do: Research the non-primary indices. |
| Offset | Length | Type | Name | Description | Comments |
|---|---|---|---|---|---|
| 0x0 | 0x1 | int8_t | ? | Part model index | Primary index from the graphics resource |
| 0x1 | 0x1 | int8_t | ? | Second part model index? | From the graphics resource. -1 if unused |
| 0x2 | 0x1 | int8_t | ? | Third part model index? | From the graphics resource. -1 if unused |
BrnWorld::BrnVehicleAnimation[edit | edit source]
| To do: Research types/flags, understand connection between byte at 0x2 and secondary data. |
| Offset | Length | Type | Name | Description | Comments |
|---|---|---|---|---|---|
| 0x0 | 0x1 | int8_t | ? | Part model index | From the graphics resource |
| 0x1 | 0x1 | int8_t | ? | Animation type | See animation type |
| 0x2 | 0x1 | int8_t | ? | State part model index? | Refers to state part model on cops but not others. See state |
| 0x3 | 0xD | Padding | |||
| 0x10 | 0x30 | Matrix33 | ? |
BrnWorld::BrnVehicleStateAnimation[edit | edit source]
| To do: Understand the animation type/action field. |
| Offset | Length | Type | Name | Description | Comments |
|---|---|---|---|---|---|
| 0x0 | 0x1 | int8_t | ? | Part model index | From the graphics resource |
| 0x1 | 0x1 | int8_t | ? | Animation trigger | See animation trigger |
| 0x2 | 0x1 | bool | ? | Loop animation | |
| 0x3 | 0xD | Padding | |||
| 0x10 | 0x20 | Vector4[2] | ? |
Enumerations[edit | edit source]
Animation type[edit | edit source]
| To do: Values such as 3 are used; explore what they do and determine if these are flags or not. |
| Name | Value | Comments |
|---|---|---|
| ? | 0 | None |
| ? | 1 | Rotate |
| ? | 2 | Transform |
| ? | 3 | |
| ? | 4 | Rotate (reversed)? |
| ? | 5 | Rotate once and return to origin |
Animation trigger[edit | edit source]
| Name | Value | Comments |
|---|---|---|
| ? | 0 | |
| ? | 1 | Turning |
| ? | 2 | |
| ? | 3 | |
| ? | 4 | |
| ? | 5 | |
| ? | 6 | Front right wheel rotation |
| ? | 7 | Front left wheel rotation |
| ? | 8 | Rear right wheel rotation |
| ? | 9 | Rear left wheel rotation |
| ? | 10 | Brake |
| ? | 11 | Throttle |
| ? | 12 | |
| ? | 13 | Speed |
| ? | 14 | RPM |
| ? | 15 | |
| ? | 16 | |
| ? | 17 | |
| ? | 18 | |
| ? | 19 | |
| ? | 20 | Hover |
| ? | 21 | Boost |