Streamed Deformation
StreamedDeformationSpec | |
---|---|
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 |
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 |