Polygon Soup

From Burnout Wiki

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.

Header

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)

Header

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