Streamed Track Data: Difference between revisions

From Burnout Wiki
Content added Content deleted
(Created page with "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 nam...")
 
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 18: Line 18:
| 0x10 || Bounding box || Bounding Box || ||
| 0x10 || Bounding box || Bounding Box || ||
|-
|-
| 0x50 || World render object || [[Streamed_Track_Data#Track_Render_Object|Track Render Object]] || ||
| 0x50 || World render object || Track Render Object || ||
|-
|-
| 0x58 || Is LOD? || bool32 || ||
| 0x58 || Is LOD? || bool32 || ||
|}

=== LOD/Collision Data ===
{| class="wikitable"
! Offset
! Name
! Type
! Value
! Notes
|-
| 0x60 || Track hull || Track Hull || ||
|-
| 0x90 || Collision tree pointer || Collision Tree* || ||
|}
|}


Line 33: Line 46:
| 0x00 || Mesh count || int16 || ||
| 0x00 || Mesh count || int16 || ||
|-
|-
| 0x04 || Meshes || [[Streamed_Track_Data#Track Mesh|Track Mesh]]*[] || || Pointer to an array of Track Meshes
| 0x04 || Meshes || Track Mesh*[] || || Pointer to an array of Track Meshes
|}
|}


Line 76: Line 89:
| 0x3C || Reserved (13) || word || ||
| 0x3C || Reserved (13) || word || ||
|}
|}

=== Collision Tree ===
{| class="wikitable"
! 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 ===
{| class="wikitable"
! Offset
! Name
! Type
! Value
! Notes
|-
! colspan="5" | Node Branch
|-
| 0x00 || Left node detail || Node Detail || ||
|-
| 0x08 || Right node detail || Node Detail || ||
|-
! colspan="5" | Node Detail
|-
| 0x00 || Value || float || ||
|-
| 0x04 || Index || uint16 || ||
|-
| 0x06 || Type || uint8 || ||
|-
| 0x07 || Contents || uint8 ||
|}


[[Category:Formats_(Takedown-Dominator)]]

Latest revision as of 22:08, 5 February 2022

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