Vehicle Animation: Difference between revisions

Added infobox and normalized some content.
m (Removed caption.)
(Added infobox and normalized some content.)
 
(4 intermediate revisions by 2 users not shown)
Line 1:
{{ParadiseResourceTypeInfobox
| name = VehicleAnimation
| resourcenames = *_VANM<br /><sup><small>*Vehicle ID, e.g. PUSMC01</small></sup>
| id = 0x10023
| category = Game-specific<br />(Burnout Paradise)
| memdist = Main Memory only
}}
 
The vehicle animation resource type stores per-vehicle user-triggered animations, working in conjunction with a [[Body Part Remap Data]] resource.
 
Line 4 ⟶ 12:
'''Note:''' This type has no available debugging symbols. All structures are based on user research and are unconfirmed.
 
=== HeaderVehicle animation resource ===
==== 32-bit ====
{| class="wikitable"
Line 13 ⟶ 21:
| 0x4 || 0x4 || uint32_t || ? || Version number || 1
|-
| 0x8 || 0x4 || uint32_t || ? || Number of modelsparts ||
|-
| 0xC || 0x4 || [[#ModelBrnWorld::BrnAnimationPart|ModelBrnAnimationPart]]* || ? || ModelsParts ||
|-
| 0x10 || 0x4 || uint32_t || ? || Number of animation data entries ||
|-
| 0x14 || 0x4 || [[#AnimationBrnWorld::BrnVehicleAnimation|AnimationBrnVehicleAnimation]]* || ? || Animation data ||
|-
| 0x18 || 0x4 || uint32_t || ? || Number of modifierstate entries ||
|-
| 0x1C || 0x4 || [[#Animation modifierBrnWorld::BrnVehicleStateAnimation|Animation modifierBrnVehicleStateAnimation]]* || ? || Modifier/attributeState data ||
|-
| 0x20 || 0x4 || int8_t[4] || ? || Wheel part model indices || Order: Front left, front right, rear left, rear right<br />-1 if unused; no animation displays
|-
| 0x24 || 0xC || || || paddingPadding ||
|-
| 0x30 || 0x100 || [[Matrix44Affine]][4] || ? || Wheel positions || Order: Front left, front right, rear left, rear right<br />Animation only; real positions in [[Streamed Deformation|deformation]] resource
|}
 
Line 40 ⟶ 48:
| 0x4 || 0x4 || uint32_t || ? || Version number || 1
|-
| 0x8 || 0x4 || uint32_t || ? || Number of modelsparts ||
|-
| 0xC || 0x4 || || || paddingPadding ||
|-
| 0x10 || 0x8 || [[#ModelBrnWorld::BrnAnimationPart|ModelBrnAnimationPart]]* || ? || ModelsParts ||
|-
| 0x18 || 0x4 || uint32_t || ? || Number of animation data entries ||
|-
| 0x1C || 0x4 || || || paddingPadding ||
|-
| 0x20 || 0x8 || [[#AnimationBrnWorld::BrnVehicleAnimation|AnimationBrnVehicleAnimation]]* || ? || Animation data ||
|-
| 0x28 || 0x4 || uint32_t || ? || Number of modifierstate entries ||
|-
| 0x2C || 0x4 || || || paddingPadding ||
|-
| 0x30 || 0x8 || [[#Animation modifierBrnWorld::BrnVehicleStateAnimation|Animation modifierBrnVehicleStateAnimation]]* || ? || Modifier/attributeState data ||
|-
| 0x38 || 0x4 || int8_t[4] || ? || Wheel part model indices || Order: Front left, front right, rear left, rear right<br />-1 if unused; no animation displays
|-
| 0x3C || 0x4 || || || paddingPadding ||
|-
| 0x40 || 0x100 || [[Matrix44Affine]][4] || ? || Wheel positions || Order: Front left, front right, rear left, rear right<br />Animation only; real positions in [[Streamed Deformation|deformation]] resource
|}
 
=== ModelBrnWorld::BrnAnimationPart ===
{{todo|Research the non-primary indices.}}
 
Line 78 ⟶ 86:
|}
 
=== AnimationBrnWorld::BrnVehicleAnimation ===
{{todo|Research types/flags, understand connection between byte at 0x2 and secondary data.}}
 
Line 88 ⟶ 96:
| 0x1 || 0x1 || int8_t || ? || Animation type || See [[#Animation type|animation type]]
|-
| 0x2 || 0x1 || int8_t || ? || ModifierState part model index? || Refers to modifierstate part model on cops but not others. See [[#Animation modifierBrnWorld::BrnVehicleStateAnimation|animation modifierstate]]
|-
| 0x3 || 0xD || || || paddingPadding ||
|-
| 0x10 || 0x30 || [[Matrix33]] || ? || ||
|}
 
=== BrnWorld::BrnVehicleStateAnimation ===
=== Animation modifier ===
{{todo|Understand the animation type/action field.}}
 
Line 107 ⟶ 115:
| 0x2 || 0x1 || bool || ? || Loop animation ||
|-
| 0x3 || 0xD || || || paddingPadding ||
|-
| 0x10 || 0x20 || [[Vector4]][2] || ? || ||