Deformation Model
DeformationModel | |
---|---|
Resource names | *DeformationModel *Vehicle ID, e.g. PUSMC01 |
Type ID | 0x10004 |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
Editor available? |
No |
Deformation models define how a vehicle should deform during collisions.
Development Information on versions of the Deformation Model resource type used during development. |
This resource type was used in early development builds of Burnout Paradise. It was superseded by the Streamed Deformation type.
Structures
BrnPhysics::Deformation::ModelData
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muVersion | Unknown version number | |
0x4 | 0x4 | uint32_t | muSizeInBytes | ||
0x8 | 0x1 | uint8_t | muNumBodyParts | ||
0x9 | 0x1 | uint8_t | muNumBodies | ||
0xA | 0x1 | uint8_t | muNumJoints | ||
0xB | 0x1 | uint8_t | muNumJointDynamics | ||
0xC | 0x1 | uint8_t | muNumDriveLinearDynamics | ||
0xD | 0x1 | uint8_t | muNumDriveAngularDynamics | ||
0xE | 0x1 | uint8_t | muNumBoxVolumes | ||
0xF | 0x1 | uint8_t | muNumCapsuleVolumes | ||
0x10 | 0x1 | uint8_t | muNumSphereVolumes | ||
0x11 | 0x1 | uint8_t | muNumCylinderVolumes | ||
0x12 | 0x1 | uint8_t | muNumWheels | ||
0x13 | 0x1 | uint8_t | muNumWheelBodies | ||
0x14 | 0x18 | BodySpec*[6] | mapWheelBodies | ||
0x2C | 0x4 | Padding | |||
0x30 | 0x40 | Matrix44Affine | mCarModelSpaceToHandlingBodySpaceTransform | ||
0x70 | 0x1 | bool | mbHasHandlingBody | ||
0x71 | 0x3 | Padding | |||
0x74 | 0x4 | BodySpec* | mpHandlingBody | ||
0x78 | 0x4 | JointSpec* | mpHandlingJoint | ||
0x7C | 0x4 | BodyGroupSpec* | mpBodyParts | ||
0x80 | 0x4 | BodySpec* | mpBodies | ||
0x84 | 0x4 | BoxVolumeSpec* | mpBoxVolumes | ||
0x88 | 0x4 | CapsuleVolumeSpec* | mpCapsuleVolumes | ||
0x8C | 0x4 | SphereVolumeSpec* | mpSphereVolumes | ||
0x90 | 0x4 | CylinderVolumeSpec* | mpCylinderVolumes | ||
0x94 | 0x4 | JointDynamicsSpec* | mpJointDynamics | ||
0x98 | 0x4 | DriveLinearDynamicsSpec* | mpDriveLinearDynamics | ||
0x9C | 0x4 | DriveAngularDynamicsSpec* | mpDriveAngularDynamics | ||
0xA0 | 0x4 | JointSpec* | mpJoints | ||
0xA4 | 0x4 | Vector3* | mpWheelPositions | ||
0xA8 | 0x4 | Vector3* | mpWheelScales | ||
0xAC | 0xC | TagList | mGenericTags | ||
0xB8 | 0xC | TagList | mCameraTags | ||
0xC4 | 0xC | TagList | mLightTags |
BrnPhysics::RWPhysicsTypeData::BodySpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | muIndex | ||
0x1 | 0x3 | Padding | |||
0x4 | 0x4 | float32_t | mfMass | ||
0x8 | 0x8 | Padding | |||
0x10 | 0x10 | Vector3 | mInertia | ||
0x20 | 0x40 | Matrix44Affine | mTransform | ||
0x60 | 0x4 | VolumeSpec* | mpVolume | ||
0x64 | 0x4 | BodyGroupSpec* | mpBodyPart | ||
0x68 | 0x8 | Padding |
BrnPhysics::RWPhysicsTypeData::VolumeSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x40 | Matrix44Affine | mTransform | ||
0x40 | 0x1 | uint8_t | muType | ||
0x41 | 0x1 | uint8_t | muIndex | ||
0x42 | 0xE | uint8_t[14] | mauPad | Padding |
BrnPhysics::RWPhysicsTypeData::BodyGroupSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | muIndex | ||
0x1 | 0x1 | uint8_t | muNumberOfJointsToOtherBodyGroups | ||
0x2 | 0x1 | uint8_t | muFirstBodyIndex | ||
0x3 | 0x1 | uint8_t | muNumberOfBodies | ||
0x4 | 0x1 | uint8_t | muBodyPartType | ||
0x5 | 0x3 | Padding | |||
0x8 | 0x4 | float32_t | mfTotalMass | ||
0xC | 0x4 | float32_t | mfRadiusOfLargestBody |
BrnPhysics::RWPhysicsTypeData::JointSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | muIndex | ||
0x1 | 0xF | Padding | |||
0x10 | 0x40 | Matrix44Affine | mTransform | ||
0x50 | 0x4 | BodySpec* | mpParent | ||
0x54 | 0x4 | BodySpec* | mpChild | ||
0x58 | 0x4 | JointDynamicsSpec* | mpJointDynamicsSpec | ||
0x5C | 0x4 | DriveLinearDynamicsSpec* | mpDriveLinearDynamicsSpec | ||
0x60 | 0x4 | DriveAngularDynamicsSpec* | mpDriveAngularDynamicsSpec | ||
0x64 | 0x1 | uint8_t | mSpy | ||
0x65 | 0xB | Padding |
BrnPhysics::RWPhysicsTypeData::JointDynamicsSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | mJointType | ||
0x1 | 0x1 | uint8_t | mTwistType | ||
0x2 | 0x1 | uint8_t | mSwingType | ||
0x3 | 0x1 | Padding | |||
0x4 | 0x4 | float32_t | mTwistAngle | ||
0x8 | 0x4 | float32_t | mTwistOffset | ||
0xC | 0x4 | float32_t | mSwingAngle | ||
0x10 | 0x4 | float32_t | mSwingOffset | ||
0x14 | 0xC | Padding | |||
0x20 | 0x10 | Vector3 | mPositionLimit | ||
0x30 | 0x10 | Vector3 | mLinearFrame | ||
0x40 | 0x4 | float32_t | mLinearStressPlasticLimit | ||
0x44 | 0x4 | float32_t | mAngularStressPlasticLimit | ||
0x48 | 0x8 | Padding |
BrnPhysics::RWPhysicsTypeData::DriveLinearDynamicsSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | mType | ||
0x1 | 0x3 | Padding | |||
0x4 | 0x4 | float32_t | mLinearSpring | ||
0x8 | 0x4 | float32_t | mLinearMaxDisplacement | ||
0xC | 0x4 | float32_t | mLinearDamping | ||
0x10 | 0x4 | float32_t | mLinearMaxStrength | ||
0x14 | 0x4 | float32_t | mLinearDistancePlasticLimit | ||
0x18 | 0x8 | Padding |
BrnPhysics::RWPhysicsTypeData::DriveAngularDynamicsSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | mType | ||
0x1 | 0x3 | Padding | |||
0x4 | 0x4 | float32_t | mAngularSpring | ||
0x8 | 0x4 | float32_t | mAngularMaxDisplacement | ||
0xC | 0x4 | float32_t | mAngularDamping | ||
0x10 | 0x4 | float32_t | mAngularMaxStrength | ||
0x14 | 0x4 | float32_t | mAngularDistancePlasticLimit | ||
0x18 | 0x8 | Padding |
BrnPhysics::RWPhysicsTypeData::BoxVolumeSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x50 | VolumeSpec | Base class | ||
0x50 | 0x10 | Vector3 | mHalfDimensions |
BrnPhysics::RWPhysicsTypeData::CapsuleVolumeSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x50 | VolumeSpec | Base class | ||
0x50 | 0x4 | float32_t | mRadius | ||
0x54 | 0x4 | float32_t | mHalfHeight | ||
0x58 | 0x8 | Padding |
BrnPhysics::RWPhysicsTypeData::SphereVolumeSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x50 | VolumeSpec | Base class | ||
0x50 | 0x4 | float32_t | mRadius | ||
0x54 | 0xC | Padding |
BrnPhysics::RWPhysicsTypeData::CylinderVolumeSpec
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x50 | VolumeSpec | Padding | ||
0x50 | 0x4 | float32_t | mRadius | ||
0x54 | 0x4 | float32_t | mHalfHeight | ||
0x58 | 0x8 | Padding |
BrnPhysics::Deformation::ModelData::TagList
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muNumTagPoints | ||
0x4 | 0x4 | char* | mpaTagTypes | See | |
0x8 | 0x4 | Matrix44Affine* | mpaTagPoints |
Enumerations
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 |