Polygon Soup is a subtype of Streamed Track Data. This data type, along with the Node Branch type, is used to store the collision geometry of a given track unit.
32-bit (PolygonSoup)
Burnout 3's promotional demo is the only known game to use the 32-bit version; otherwise, all Takedown-era games use the 16-bit version documented further below.
Offset
|
Name
|
Type
|
Value
|
Notes
|
0x00 |
Polygon indices offset |
PolygonBase* |
|
|
0x04 |
Vertices offset |
Vertex*[] |
|
|
0x08 |
Data size |
uint |
|
|
0x0C |
Polygon size |
uint8 |
|
|
0x0D |
Polygon count |
uint8 |
|
|
0x0E |
Vertex count |
uint8 |
|
|
PolygonBase
Offset
|
Name
|
Type
|
Value
|
Notes
|
0x00 |
Indices |
uint8[] |
|
|
Vertex
Offset
|
Name
|
Type
|
Value
|
Notes
|
0x00 |
X |
float |
|
|
0x04 |
Y |
float |
|
|
0x08 |
Z |
float |
|
|
16-bit (PolygonSoup16)
Offset
|
Name
|
Type
|
Value
|
Notes
|
0x00 |
Polygon indices offset |
PolygonBase* |
|
|
0x04 |
Vertices offset |
Vertex16*[] |
|
|
0x08 |
Data size |
uint16 |
|
|
0x0A |
X offset |
uint8 |
|
|
0x0B |
Y offset |
uint8 |
|
|
0x0C |
Z offset |
uint8 |
|
|
0x0D |
Polygon size |
uint8 |
|
|
0x0E |
Polygon count |
uint8 |
|
|
0x0F |
Vertex count |
uint8 |
|
|
PolygonBase
Offset
|
Name
|
Type
|
Value
|
Notes
|
0x00 |
Indices |
uint8[] |
|
|
Vertex16
Offset
|
Name
|
Type
|
Value
|
Notes
|
0x00 |
X |
uint16 |
|
|
0x02 |
Y |
uint16 |
|
|
0x04 |
Z |
uint16 |
|
|