Polygon Soup List
PolygonSoupList | |||
---|---|---|---|
aka CollisionMeshData | |||
Resource names | TRK_COL_* *Track unit ID | ||
Type ID | 0x43 | ||
Category | Generic | ||
Memory distribution |
Main Memory only | ||
Imported by | ID List | ||
Editor available? |
No |
Polygon Soup List resources contain collision data for track units. They are also linked to roads, AI behaviour, and respawn locations.
This resource type supersedes the Clustered Mesh type.
Note: The PS4 version of the game contains more polygons in its resources.
Structures
CgsGeometric::PolygonSoupList
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x20 | AxisAlignedBox | mOverallAabb | ||
0x20 | 0x4 | PolygonSoup** | mpapPolySoups | ||
0x24 | 0x4 | AxisAlignedBox4* | mpaPolySoupBoxes | ||
0x28 | 0x4 | int32_t | miNumPolySoups | ||
0x2C | 0x4 | int32_t | miDataSize |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x20 | AxisAlignedBox | mOverallAabb | ||
0x20 | 0x8 | PolygonSoup** | mpapPolySoups | ||
0x28 | 0x8 | AxisAlignedBox4* | mpaPolySoupBoxes | ||
0x30 | 0x4 | int32_t | miNumPolySoups | ||
0x34 | 0x4 | int32_t | miDataSize |
CgsGeometric::AxisAlignedBox
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector3 | mMin | ||
0x10 | 0x10 | Vector3 | mMax |
CgsGeometric::PolygonSoup
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | int32_t[3] | maiVertexOffsets | ||
0xC | 0x4 | float32_t | mfComprGranularity | ||
0x10 | 0x4 | PolygonSoupPoly* | mpaPolygons | ||
0x14 | 0x4 | PolygonSoupVertex* | mpaVertices | ||
0x18 | 0x2 | uint16_t | mu16DataSize | ||
0x1A | 0x1 | uint8_t | mu8TotalNumPolys | ||
0x1B | 0x1 | uint8_t | mu8NumQuads | ||
0x1C | 0x1 | uint8_t | mu8NumVertices | ||
0x1D | 0x3 | padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | int32_t[3] | maiVertexOffsets | ||
0xC | 0x4 | float32_t | mfComprGranularity | ||
0x10 | 0x8 | PolygonSoupPoly* | mpaPolygons | ||
0x18 | 0x8 | PolygonSoupVertex* | mpaVertices | ||
0x20 | 0x2 | uint16_t | mu16DataSize | ||
0x22 | 0x1 | uint8_t | mu8TotalNumPolys | ||
0x23 | 0x1 | uint8_t | mu8NumQuads | ||
0x24 | 0x1 | uint8_t | mu8NumVertices | ||
0x25 | 0xB | padding |
CgsGeometric::PolygonSoupPoly
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muCollisionTag | ||
0x4 | 0x4 | uint8_t[4] | mau8VertexIndices | ||
0x8 | 0x4 | uint8_t[4] | mau8EdgeCosines |
CgsGeometric::PolygonSoupVertex
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2 | uint16_t | mu16X | ||
0x2 | 0x2 | uint16_t | mu16Y | ||
0x4 | 0x2 | uint16_t | mu16Z |
CgsGeometric::AxisAlignedBox4
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector4 | mAabbMinX | ||
0x10 | 0x10 | Vector4 | mAabbMinY | ||
0x20 | 0x10 | Vector4 | mAabbMinZ | ||
0x30 | 0x10 | Vector4 | mAabbMaxX | ||
0x40 | 0x10 | Vector4 | mAabbMaxY | ||
0x50 | 0x10 | Vector4 | mAabbMaxZ | ||
0x60 | 0x10 | Mask4 | mValidMasks |