Clustered Mesh/Development

From Burnout Wiki

Structures

rw::collision::ClusteredMesh

2007-02-22

32-bit
Offset Length Type Name Description Comments
0x0 0x30 Procedural Base class
0x30 0x4 KDTree* mKDTree
0x34 0x4 uint32_t* mCluster Effectively a ClusteredMeshCluster**
0x38 0x4 uint32_t mNumClusters
0x3C 0x4 uint32_t mMaxClusters
0x40 0x4 uint32_t mNumUnits
0x44 0x4 uint32_t mMaxUnits
0x48 0x4 float32_t mVertexCompressionGranularity
0x4C 0x4 uint32_t mSizeOfThis
0x50 0x2 uint16_t mFlags See CMFlags
0x52 0x2 uint16_t mDefaultGroupId
0x54 0x2 uint16_t mDefaultSurfaceId
0x56 0x1 uint8_t mDefaultEdgeAngle
0x57 0x1 uint8_t mGroupIdSize Number of bytes 1 or 2
0x58 0x1 uint8_t mSurfaceIdSize Number of bytes 1 or 2
0x59 0x7 Padding

rw::collision::ClusteredMeshCluster

2007-02-22

Offset Length Type Name Description Comments
0x0 0x2 uint16_t unitCount
0x2 0x2 uint16_t unitDataSize
0x4 0x2 uint16_t unitDataStart The index of the vertex array where unit data starts
0x6 0x2 uint16_t normalStart The index of the vertex array where normal data starts
0x8 0x1 uint8_t vertexCount
0x9 0x1 uint8_t normalCount
0xA 0x1 uint8_t compressionMode 0, 1 or 2
0xB 0x5 uint8_t[5] Padding
0x10 0x10 vpu::Vector3[1] vertexArray Variable size data
Hmmm...
Hmmm...
To do:
Normals?
Vertex data
Unit data