The vehicle animation resource type stores per-vehicle user-triggered animations, working in conjunction with a Body Part Remap Data resource.
Structures
Note: This type has no available debugging symbols. All structures are based on user research and are unconfirmed.
32-bit
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 models
0xC
0x4
Model *
?
Models
0x10
0x4
uint32_t
?
Number of animation data entries
0x14
0x4
Animation *
?
Animation data
0x18
0x4
uint32_t
?
Number of modifier entries
0x1C
0x4
Animation modifier *
?
Modifier/attribute 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
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 models
0xC
0x4
padding
0x10
0x8
Model *
?
Models
0x18
0x4
uint32_t
?
Number of animation data entries
0x1C
0x4
padding
0x20
0x8
Animation *
?
Animation data
0x28
0x4
uint32_t
?
Number of modifier entries
0x2C
0x4
padding
0x30
0x8
Animation modifier *
?
Modifier/attribute 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
Model
Hmmm... 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
Animation
Hmmm... 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
?
Modifier part model index?
Refers to modifier part model on cops but not others. See animation modifier
0x3
0xD
padding
0x10
0x30
Matrix33
?
Animation modifier
Hmmm... 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
Animation type
Hmmm... 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
Caption text
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