Streamed Track Data

From Burnout Wiki

This format contains the mesh data and collision geometry of a single track unit. All of a given track's streamed objects are stored together as an array, in a single file named STREAMED.DAT.

Layout

Track Data

Offset Name Type Value Notes
0x00 Loaded state ELoadedState 0x00 = Not Loaded
0x01 = Loaded
0x02 = Usable
0x03 = Maximum States
0x04 Original hull ID int
0x08 Data size (bytes) int32
0x10 Bounding box Bounding Box
0x50 World render object Track Render Object
0x58 Is LOD? bool32

LOD/Collision Data

Offset Name Type Value Notes
0x60 Track hull Track Hull
0x90 Collision tree pointer Collision Tree*

Track Render Object

Offset Name Type Value Notes
0x00 Mesh count int16
0x04 Meshes Track Mesh*[] Pointer to an array of Track Meshes

Track Mesh

Offset Name Type Value Notes
0x00 Reserved (1) word
0x04 Reserved (2) word
0x08 Reserved (3) word
0x0C Render data (first) word*
0x10 Reserved (4) word
0x14 Reserved (5) word
0x18 Reserved (6) word
0x1C Render data (rest) word*
0x20 Reserved (7) word
0x24 Reserved (8) word
0x28 Reserved (9) word
0x2C Chained mesh int
0x30 Reserved (10) float
0x34 Reserved (11) float
0x38 Reserved (12) float
0x3C Reserved (13) word

Collision Tree

Offset Name Type Value Notes
0x00 Bounding box Bounding Box
0x20 Node branch array Node Branch*[] Pointer to an array of Node Branches
0x24 Polygon soups Polygon Soup*[] Pointer to an array of Polygon Soups
0x28 Polygon soup count uint16
0x2A Node branch count uint16
0x2C Is 16-bit? bool32

Node Branch

Offset Name Type Value Notes
Node Branch
0x00 Left node detail Node Detail
0x08 Right node detail Node Detail
Node Detail
0x00 Value float
0x04 Index uint16
0x06 Type uint8
0x07 Contents uint8