Prop Physics

From Burnout Wiki

The prop physics resource type handles collision attributes for props on a per-track unit basis.

Structures[edit | edit source]

BrnPhysics::Props::PropPhysicsDataHeader[edit | edit source]

32-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muNumberOfPropTypes Number of prop types
0x4 0x4 uint32_t muNumberOfVolumeTypes Number of volume types
0x8 0x4 uint32_t muNumberOfPartTypes Number of prop part types
0xC 0x4 uint32_t muSizeInBytes Resource size
0x10 0x7D0 PropTypeData*[500] mapPropTypes Prop types
0x7E0 0x4B0 PropPartTypeData*[300] mapPropPartTypes Prop part types
0xC90 0x2000 Volume*[2048] mapVolumeTypes Volume types
0x2C90 0x4 uint32_t muTimeStamp time_t timestamp Null in Remastered

64-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muNumberOfPropTypes Number of prop types
0x4 0x4 uint32_t muNumberOfVolumeTypes Number of volume types
0x8 0x4 uint32_t muNumberOfPartTypes Number of prop part types
0xC 0x4 uint32_t muSizeInBytes Resource size
0x10 0xFA0 PropTypeData*[500] mapPropTypes Prop types
0xFB0 0x960 PropPartTypeData*[300] mapPropPartTypes Prop part types
0x1910 0x4000 Volume*[2048] mapVolumeTypes Volume types
0x5910 0x4 uint32_t muTimeStamp time_t timestamp Null in Remastered

BrnPhysics::Props::PropTypeData[edit | edit source]

32-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mJointLocator
0x10 0x10 Vector3 mCOMOffset
0x20 0x10 Vector3 mInertia
0x30 0x8 ID mResourceId
0x38 0x4 float32_t mfMass
0x3C 0x4 Volume* maCollisionVolumes
0x40 0x4 PropPartTypeData* maParts Uninitialized in asset
0x44 0x4 float32_t mfSphereRadius
0x48 0x4 float32_t mfMaxJointAngleCos
0x4C 0x4 float32_t mfLeanThreshold
0x50 0x4 float32_t mfMoveThreshold
0x54 0x4 float32_t mfSmashThreshold
0x58 0x4 uint32_t muSceneUriId
0x5C 0x1 uint8_t muMaxState
0x5D 0x1 uint8_t muNumberOfParts
0x5E 0x1 uint8_t muNumberOfVolumes
0x5F 0x1 uint8_t mu8JointType Joint type
0x60 0x1 uint8_t mu8ExtraTypeInfo Extra type info
0x61 0xF padding

64-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mJointLocator
0x10 0x10 Vector3 mCOMOffset
0x20 0x10 Vector3 mInertia
0x30 0x8 ID mResourceId
0x38 0x4 float32_t mfMass
0x3C 0x4 padding
0x40 0x8 Volume* maCollisionVolumes
0x48 0x8 PropPartTypeData* maParts Uninitialized in asset
0x50 0x4 float32_t mfSphereRadius
0x54 0x4 float32_t mfMaxJointAngleCos
0x58 0x4 float32_t mfLeanThreshold
0x5C 0x4 float32_t mfMoveThreshold
0x60 0x4 float32_t mfSmashThreshold
0x64 0x4 uint32_t muSceneUriId
0x68 0x1 uint8_t muMaxState
0x69 0x1 uint8_t muNumberOfParts
0x6A 0x1 uint8_t muNumberOfVolumes
0x6B 0x1 uint8_t mu8JointType Joint type
0x6C 0x1 uint8_t mu8ExtraTypeInfo Extra type info
0x6D 0x3 padding

BrnPhysics::Props::PropPartTypeData[edit | edit source]

32-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mOffset
0x10 0x10 Vector3 mInertia
0x20 0x4 float32_t mfMass
0x24 0x4 Volume* maCollisionVolumes
0x28 0x4 float32_t mfSphereRadius
0x2C 0x1 uint8_t muNumberOfVolumes
0x2D 0x3 padding

64-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x10 Vector3 mOffset
0x10 0x10 Vector3 mInertia
0x20 0x4 float32_t mfMass
0x24 0x4 padding
0x28 0x8 Volume* maCollisionVolumes
0x30 0x4 float32_t mfSphereRadius
0x34 0x1 uint8_t muNumberOfVolumes
0x35 0x3 padding

rw::collision::Volume[edit | edit source]

32-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x40 Matrix44Affine transform
0x40 0x4 VTable* vTable List of Volume functions rw::collision::Volume::VTable
0x44 0xC Anonymous union Volume data
0x50 0x4 float32_t radius
0x54 0x4 uint32_t groupID
0x58 0x4 uint32_t surfaceID
0x5C 0x4 uint32_t m_flags See volume flags

64-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x40 Matrix44Affine transform
0x40 0x8 VTable* vTable List of Volume functions rw::collision::Volume::VTable
0x48 0xC Anonymous union Volume data
0x54 0x4 padding
0x58 0x4 float32_t radius
0x5C 0x4 uint32_t groupID
0x60 0x4 uint32_t surfaceID
0x64 0x4 uint32_t m_flags See volume flags

rw::collision::AggregateSpecificData[edit | edit source]

32-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 Aggregate* agg

64-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x8 Aggregate* agg

rw::collision::Aggregate[edit | edit source]

32-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x20 AABBox m_AABB
0x20 0x4 VTable* m_vTable List of Aggregate functions rw::collision::Aggregate::VTable
0x24 0x4 uint32_t m_numTagBits
0x28 0x4 uint32_t m_numVolumes
0x2C 0x4 uint32_t pad

64-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x20 AABBox m_AABB
0x20 0x8 VTable* m_vTable List of Aggregate functions rw::collision::Aggregate::VTable
0x28 0x4 uint32_t m_numTagBits
0x2C 0x4 uint32_t m_numVolumes
0x30 0x4 uint32_t pad
0x34 0x4 padding

AABBoxTemplate<Matrix44Affine,Vector3,AABBoxMemoryDumpPolicy>[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x10 Vector3 m_min
0x10 0x10 Vector3 m_max

rw::collision::SphereSpecificData[edit | edit source]

32-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 void* nothing

64-bit[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x8 void* nothing

rw::collision::CapsuleSpecificData[edit | edit source]

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

rw::collision::TriangleSpecificData[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 float32_t edgeCos0
0x4 0x4 float32_t edgeCos1
0x8 0x4 float32_t edgeCos2

rw::collision::BoxSpecificData[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 float32_t hx
0x4 0x4 float32_t hy
0x8 0x4 float32_t hz

rw::collision::CylinderSpecificData[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 float32_t hh
0x4 0x4 float32_t innerRadius

Unions[edit | edit source]

Anonymous union in Volume[edit | edit source]

Length Type Name Description Comments
0x4 AggregateSpecificData aggregateData
0x4 SphereSpecificData sphereData
0x4 CapsuleSpecificData capsuleData
0xC TriangleSpecificData triangleData
0xC BoxSpecificData boxData
0x8 CylinderSpecificData cylinderData
0x8 TargetPtr[2] sizeOfTargetPointer

Typedefs[edit | edit source]

rw::collision::VolRef::Volume[edit | edit source]

32-bit[edit | edit source]

Name Type Length Comments
Volume Volume 0x60

64-bit[edit | edit source]

Name Type Length Comments
Volume Volume 0x68

rw::collision::AALineClipper::Init::AABBox[edit | edit source]

Name Type Length Comments
AABBox AABBoxTemplate 0x20

TargetPtr[edit | edit source]

Name Type Length Comments
TargetPtr uint32_t 0x4

Enumerations[edit | edit source]

Prop joint type[edit | edit source]

Name Value Comments
? 0 Not used
? 1
? 2
? 3
E_TILT ? From a hardcoded string

Prop extra type info[edit | edit source]

Name Value Comments
? 0
? 1
? 2

Volume flags[edit | edit source]

Name Value Comments
? 0x1 IsEnabled?