Polygon Soup

From Burnout Wiki
Jump to navigation Jump to search

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)[edit]

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[edit]

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[edit]

Offset Name Type Value Notes
0x00 Indices uint8[]

Vertex[edit]

Offset Name Type Value Notes
0x00 X float
0x04 Y float
0x08 Z float

16-bit (PolygonSoup16)[edit]

Header[edit]

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[edit]

Offset Name Type Value Notes
0x00 Indices uint8[]

Vertex16[edit]

Offset Name Type Value Notes
0x00 X uint16
0x02 Y uint16
0x04 Z uint16