Streamed Deformation

From Burnout Wiki
Revision as of 21:08, 4 October 2023 by Burninrubber0 (talk | contribs) (Increase example image size.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
StreamedDeformationSpec
aka {{{othernames}}}

The Ikusa GT's deformation.
Resource names *DeformationModel
*Vehicle ID, e.g. PUSMC01
Type ID 0x1001C
Category Game-specific
(Burnout Paradise)
Memory
distribution
Main Memory only
Imports Unknown
Imported by Unknown
Editor
available?
Viewer only
Use Blender addons

The Streamed Deformation resource type defines per-vehicle deformation attributes. It is primarily made up of bones and joints. Each part of the vehicle is uniquely identified and handled, with additional features present for wheels, glass, lights, exhausts, and other components.

Structures

Note: Some names refer to IK; this stands for inverse kinematics.

BrnPhysics::Deformation::StreamedDeformationSpec

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int32_t miVersionNumber 1
0x4 0x4 TagPointSpec* maTagPointData
0x8 0x4 int32_t miNumberOfTagPoints
0xC 0x4 IKDrivenPointSpec* maDrivenPointData
0x10 0x4 int32_t miNumberOfDrivenPoints
0x14 0x4 IKBodyPartSpec* maIKPartData
0x18 0x4 int32_t miNumberOfIKParts
0x1C 0x4 GlassPaneSpec* maGlassPaneData
0x20 0x4 int32_t miNumGlassPanes
0x24 0x8 LocatorPointSpecList mGenericTags
0x2C 0x8 LocatorPointSpecList mCameraTags
0x34 0x8 LocatorPointSpecList mLightTags
0x3C 0x4 Padding
0x40 0x10 Vector3 mHandlingBodyDimensions
0x50 0xC0 WheelSpec[4] maWheelSpecs
0x110 0x500 SensorSpec[20] maDeformationSensorSpecs
0x610 0x40 Matrix44Affine mCarModelSpaceToHandlingBodySpaceTransform
0x650 0x1 uint8_t mu8SpecID
0x651 0x1 uint8_t mu8NumVehicleBodies
0x652 0x1 uint8_t mu8NumDeformationSensors
0x653 0x1 uint8_t mu8NumGraphicsParts
0x654 0xC Padding
0x660 0x10 Vector3 mCurrentCOMOffset
0x670 0x10 Vector3 mMeshOffset
0x680 0x10 Vector3 mRigidBodyOffset
0x690 0x10 Vector3 mCollisionOffset
0x6A0 0x10 Vector3 mInertiaTensor

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int32_t miVersionNumber 1
0x4 0x4 Padding
0x8 0x8 TagPointSpec* maTagPointData
0x10 0x8 int32_t miNumberOfTagPoints
0x14 0x4 Padding
0x18 0x8 IKDrivenPointSpec* maDrivenPointData
0x20 0x4 int32_t miNumberOfDrivenPoints
0x24 0x4 Padding
0x28 0x8 IKBodyPartSpec* maIKPartData
0x30 0x4 int32_t miNumberOfIKParts
0x34 0x4 Padding
0x38 0x8 GlassPaneSpec* maGlassPaneData
0x40 0x4 int32_t miNumGlassPanes
0x44 0x4 Padding
0x48 0x10 LocatorPointSpecList mGenericTags
0x58 0x10 LocatorPointSpecList mCameraTags
0x68 0x10 LocatorPointSpecList mLightTags
0x78 0x8 Padding
0x80 0x10 Vector3 mHandlingBodyDimensions
0x90 0xC0 WheelSpec[4] maWheelSpecs
0x150 0x500 SensorSpec[20] maDeformationSensorSpecs
0x650 0x40 Matrix44Affine mCarModelSpaceToHandlingBodySpaceTransform
0x690 0x1 uint8_t mu8SpecID
0x691 0x1 uint8_t mu8NumVehicleBodies
0x692 0x1 uint8_t mu8NumDeformationSensors
0x693 0x1 uint8_t mu8NumGraphicsParts
0x694 0xC Padding
0x6A0 0x10 Vector3 mCurrentCOMOffset
0x6B0 0x10 Vector3 mMeshOffset
0x6C0 0x10 Vector3 mRigidBodyOffset
0x6D0 0x10 Vector3 mCollisionOffset
0x6E0 0x10 Vector3 mInertiaTensor

BrnPhysics::Deformation::TagPointSpec

Offset Length Type Name Description Comments
0x0 0x10 Vector3Plus mOffsetFromAAndWeightA
0x10 0x10 Vector3Plus mOffsetFromBAndWeightB
0x20 0x10 Vector3Plus mInitialPositionAndDetachThreshold
0x30 0x4 float32_t mfWeightA
0x34 0x4 float32_t mfWeightB
0x38 0x4 float32_t mfDetachThresholdSquared
0x3C 0x2 int16_t miDeformationSensorA
0x3E 0x2 int16_t miDeformationSensorB
0x40 0x1 int8_t miJointIndex
0x41 0x1 bool mbSkinnedPoint
0x42 0xE Padding

BrnPhysics::Deformation::IKDrivenPointSpec

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mInitialPos
0x10 0x4 float32_t mfDistanceFromA
0x14 0x4 float32_t mfDistanceFromB
0x18 0x2 int16_t miTagPointIndexA
0x1A 0x2 int16_t miTagPointIndexB
0x1C 0x4 Padding

BrnPhysics::Deformation::IKBodyPartSpec

32-bit

Offset Length Type Name Description Comments
0x0 0x40 Matrix44Affine mGraphicsTransform
0x40 0x180 BodyPartBBoxSpec mBBoxSkinData
0x1C0 0x4 DeformationJointSpec* mpaJointSpecs
0x1C4 0x4 int32_t miNumJoints
0x1C8 0x4 int32_t miPartGraphics
0x1CC 0x4 int32_t miStartIndexOfDrivenPoints
0x1D0 0x4 int32_t miNumberOfDrivenPoints
0x1D4 0x4 int32_t miStartIndexOfTagPoints
0x1D8 0x4 int32_t miNumberOfTagPoints
0x1DC 0x4 EBodyParts mePartType

64-bit

Offset Length Type Name Description Comments
0x0 0x40 Matrix44Affine mGraphicsTransform
0x40 0x180 BodyPartBBoxSpec mBBoxSkinData
0x1C0 0x8 DeformationJointSpec* mpaJointSpecs
0x1C8 0x4 int32_t miNumJoints
0x1CC 0x4 int32_t miPartGraphics
0x1D0 0x4 int32_t miStartIndexOfDrivenPoints
0x1D4 0x4 int32_t miNumberOfDrivenPoints
0x1D8 0x4 int32_t miStartIndexOfTagPoints
0x1DC 0x4 int32_t miNumberOfTagPoints
0x1E0 0x4 EBodyParts mePartType

BrnPhysics::Deformation::BodyPartBBoxSpec

Offset Length Type Name Description Comments
0x0 0x40 Matrix44Affine mOrientation
0x40 0x100 BBoxPointSkinData[8] maCornerSkinData
0x140 0x20 BBoxPointSkinData mCentreSkinData
0x160 0x20 BBoxPointSkinData mJointSkinData

BrnPhysics::Deformation::BBoxPointSkinData

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mVertex
0x10 0xC float32_t[3] mafWeights
0x1C 0x3 uint8_t[3] mauBoneIndices
0x1F 0x1 Padding

BrnPhysics::Deformation::DeformationJointSpec

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mJointPosition
0x10 0x10 Vector3 mJointAxis
0x20 0x10 Vector3 mJointDefaultDirection
0x30 0x4 float32_t mfMaxJointAngle
0x34 0x4 float32_t mfJointDetachThreshold
0x38 0x4 EDeformationJointType meJointType
0x3C 0x4 Padding

BrnPhysics::Deformation::GlassPaneSpec

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mNormal
0x10 0x40 Vector3[4] maCornerPositionOffsets
0x50 0x8 int16_t[4] maiPointIndex
0x58 0x4 bool[4] mabSkinToControlPoint
0x5C 0x2 int16_t miParentBodyPart
0x5E 0x2 int16_t miCrackSensor
0x60 0x2 int16_t miSmashSensor
0x62 0x2 Padding
0x64 0x4 EBodyParts mePartType
0x68 0x8 Padding

BrnPhysics::Deformation::LocatorPointSpecList

32-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muNumLocators
0x4 0x4 LocatorPointSpec* mpaLocatorPoints

64-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muNumLocators
0x4 0x4 Padding
0x4 0x8 LocatorPointSpec* mpaLocatorPoints

BrnPhysics::Deformation::LocatorPointSpec

Offset Length Type Name Description Comments
0x0 0x40 Matrix44Affine mLocatorMatrix
0x40 0x4 ETagPointType meTagPointType
0x44 0x2 int16_t miIkPartIndex
0x46 0x1 uint8_t mu8SkinPoint
0x47 0x9 Padding

BrnPhysics::Deformation::WheelSpec

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mPosition
0x10 0x10 Vector3 mScale
0x20 0x4 int32_t liTagPointIndex
0x24 0xC Padding

BrnPhysics::Deformation::SensorSpec

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mInitialOffset
0x10 0x18 PerDirectionParams[6] maDirectionParams
0x28 0x4 float32_t mfRadius
0x2C 0x6 uint8_t[6] maNextSensor
0x32 0x1 uint8_t mu8SceneIndex
0x33 0x1 uint8_t mu8AbsorbtionLevel
0x34 0x2 uint8_t[2] mau8NextBoundarySensor
0x36 0xA Padding

BrnPhysics::Deformation::SensorSpec::PerDirectionParams

Offset Length Type Name Description Comments
0x0 0x4 float32_t mCompressionLimits

Enumerations

BrnPhysics::Deformation::EDeformationJointType

Name Value Comments
eNone 0
eHinge 1
eBallAndSocket 2
eJointTypeCount 3

EBodyParts

Name Value Comments
eBody_Roof_PLAYERONLY 0
eBody_BumperFront 1
eBody_BumperRear 2
eBody_Bonnet 3
eBody_Boot 4
eBody_Spoiler 5
eBody_GrillFront 6
eBody_GrillRear 7
eBody_DoorLeft 8
eBody_DoorLeftMirror 9
eBody_DoorRight 10
eBody_DoorRightMirror 11
eBody_DoorRearLeft 12
eBody_DoorRearRight 13
eBody_DoorBackLeft 14
eBody_DoorBackRight 15
eBody_GlassDoorFrontLeft 16
eBody_GlassDoorFrontRight 17
eBody_GlassDoorRearLeft 18
eBody_GlassDoorRearRight 19
eBody_GlassWindscreenFront 20
eBody_GlassWindscreenRear 21
eBody_GlassPanelLeft_bus 22
eBody_GlassPanelRight_bus 23
eBody_SkirtLeft 24
eBody_SkirtRight 25
eBody_WingFrontLeft 26
eBody_WingFrontRight 27
eBody_WingRearRight 28
eBody_WingRearLeft 29
eBody_Wiper1 30
eBody_Wiper2 31
eBody_Wiper3 32
eBody_MudFlapFrontLeft 33
eBody_MudFlapFrontRight 34
eBody_MudFlapRearLeft 35
eBody_MudFlapRearRight 36
eBody_Aerial 37
eBody_NumberPlateRear 38
eBody_NumberPlateFront 39
eLights_FrontLeft 40
eLights_FrontRight 41
eLights_RearLeft 42
eLights_RearRight 43
eLights_SpecialSiren 44
eChassis_FrontEnd 45
eChassis_PassengerCell 46
eChassis_RearEnd 47
eChassis_ArmFrontRight 48
eChassis_ArmFrontLeft 49
eChassis_ArmRearRight 50
eChassis_ArmRearLeft 51
eChassis_ArmAdditionalR_Truck 52
eChassis_ArmAdditionalL_Truck 53
eChassis_WheelArchFrontLeft 54
eChassis_WheelArchFrontRight 55
eChassis_WheelArchRearLeft 56
eChassis_WheelArchRearRight 57
eChassis_DiscFrontLeft 58
eChassis_DiscFrontRight 59
eChassis_DiscRearLeft 60
eChassis_DiscRearRight 61
eChassis_DiscAdditionalRight_Truck 62
eChassis_DiscAdditionalLeft_Truck 63
eChassis_DiscCaliperFrontLeft 64
eChassis_DiscCaliperFrontRight 65
eChassis_DiscCaliperRearLeft 66
eChassis_DiscCaliperRearRight 67
eAncillaries_Block 68
eAncillaries_Intercooler 69
eAncillaries_Radiator 70
eAncillaries_Battery 71
eAncillaries_Fan 72
eAncillaries_AirFilter 73
eAncillaries_Distributor 74
eAncillaries_InletManifold 75
eAncillaries_BrakeServo 76
eAncillaries_PlasticBox1 77
eAncillaries_PlasticBox2 78
eAncillaries_PlasticBox3 79
eAncillaries_FluidResevoir1 80
eAncillaries_FluidResevoir2 81
eAncillaries_Pipe1 82
eAncillaries_Pipe2 83
eAncillaries_ExhaustSystem1 84
eAncillaries_ExhaustSystem2 85
eAncillaries_PetrolTank_Truck 86
eWheels_FrontLeft 87
eWheels_FrontRight 88
eWheels_RearLeft 89
eWheels_RearRight 90
eWHEEL 91
eDISC 92
eCALIPER 93
eWheels_AdditionalRight_Truck 94
eWheels_AdditionalLeft_Truck 95
eInterior_SeatFrontLeft 96
eInterior_SeatFrontRight 97
eInterior_SeatRearLeft 98
eInterior_SeatRearRight 99
eInterior_SeatRearBench 100
eInterior_SeatAdditional_bus 101
eInterior_SteeringWheel 102
eInterior_InteriorMirror 103
eInterior_SunVisorLeft 104
eInterior_SunVisorRight 105
eInterior_Extinguisher 106
eVariation_RoofRacks 107
eVariation_BumperFrontAttachment1 108
eVariation_BumperFrontAttachment2 109
eVariation_BumperFrontAttachment3 110
eVariation_BumperFrontAttachment4 111
eVariation_BumperRearAttachment1 112
eVariation_BumperRearAttachment2 113
eVariation_BumperRearAttachment3 114
eVariation_BumperRearAttachment4 115
eVariation_Luggage1 116
eVariation_Luggage2 117
eVariation_SpareWheel 118
eVariation_Aerial 119
eVariation_Ladder 120
eVariation_Spotlights1 121
eVariation_SpotLights2 122
eVariation_AttachmentLeftSide1 123
eVariation_AttachmentLeftSide2 124
eVariation_AttachmentRightSide1 125
eVariation_AttachmentRightSide2 126
eVariation_Crane 127
eVariation_Mixer 128
eVariation_Tipper 129
eVariation_Additional1 130
eVariation_Additional2 131
eWHEEL_BLURRED 132
eBodyPartCount 133

BrnPhysics::Deformation::ETagPointType

Name Value Comments
E_TAGPOINT_PHYSICS_CENTREOFMASS 0
E_TAGPOINT_LIGHTS_FRONTRUNNINGLEFT 1
E_TAGPOINT_LIGHTS_FRONTRUNNINGRIGHT 2
E_TAGPOINT_LIGHTS_REARRUNNINGLEFT 3
E_TAGPOINT_LIGHTS_REARRUNNINGRIGHT 4
E_TAGPOINT_LIGHTS_FRONTSPOTLEFT 5
E_TAGPOINT_LIGHTS_FRONTSPOTRIGHT 6
E_TAGPOINT_LIGHTS_INDICATORFRONTLEFT 7
E_TAGPOINT_LIGHTS_INDICATORFRONTRIGHT 8
E_TAGPOINT_LIGHTS_INDICATORREARLEFT 9
E_TAGPOINT_LIGHTS_INDICATORREARRIGHT 10
E_TAGPOINT_LIGHTS_BRAKELEFT 11
E_TAGPOINT_LIGHTS_BRAKERIGHT 12
E_TAGPOINT_LIGHTS_BRAKECENTRE 13
E_TAGPOINT_LIGHTS_REVERSELEFT 14
E_TAGPOINT_LIGHTS_REVERSERIGHT 15
E_TAGPOINT_LIGHTS_SPOTLIGHT1 16
E_TAGPOINT_LIGHTS_SPOTLIGHT2 17
E_TAGPOINT_LIGHTS_BLUESTWOS1 18
E_TAGPOINT_LIGHTS_BLUESTWOS2 19
E_TAGPOINT_TYREWELL_FRONTLEFT 20
E_TAGPOINT_TYREWELL_FRONTRIGHT 21
E_TAGPOINT_TYREWELL_REARLEFT 22
E_TAGPOINT_TYREWELL_REARRIGHT 23
E_TAGPOINT_TYREWELL_ADDITIONALLEFT 24
E_TAGPOINT_TYREWELL_ADDITIONALRIGHT 25
E_TAGPOINT_AXLEPOINT_FRONT 26
E_TAGPOINT_AXLEPOINT_REAR 27
E_TAGPOINT_ARTICULATIONPOINT_FRONT 28
E_TAGPOINT_ARTICULATIONPOINT_REAR 29
E_TAGPOINT_ATTACHPOINT 30
E_TAGPOINT_FXGLASSSMASHPOINT1 31
E_TAGPOINT_FXGLASSSMASHPOINT2 32
E_TAGPOINT_FXGLASSSMASHPOINT3 33
E_TAGPOINT_FXGLASSSMASHPOINT4 34
E_TAGPOINT_FXGLASSSMASHPOINT5 35
E_TAGPOINT_FXGLASSSMASHPOINT6 36
E_TAGPOINT_FXGLASSSMASHPOINT7 37
E_TAGPOINT_FXGLASSSMASHPOINT8 38
E_TAGPOINT_FXGLASSSMASHPOINT9 39
E_TAGPOINT_FXGLASSSMASHPOINT10 40
E_TAGPOINT_FXBOOSTPOINT1 41
E_TAGPOINT_FXBOOSTPOINT2 42
E_TAGPOINT_FXBOOSTPOINT3 43
E_TAGPOINT_FXBOOSTPOINT4 44
E_TAGPOINT_FXFIREPOINT 45
E_TAGPOINT_FXSTEAMPOINT 46
E_TAGPOINT_FXPOV_FRONTLEFT 47
E_TAGPOINT_FXPOV_FRONTRIGHT 48
E_TAGPOINT_FXPOV_REARLEFT 49
E_TAGPOINT_FXPOV_REARRIGHT 50
E_TAGPOINT_FXDASHBOARD 51
E_TAGPOINT_FXENGINE 52
E_TAGPOINT_FXTRUNK 53
E_TAGPOINT_FXPETROL_TANK 54
E_TAGPOINT_FXPELVIS_FRONTLEFT 55
E_TAGPOINT_PAYLOAD 56
E_TAGPOINT_COUNT 57