Streamed Track Data: Difference between revisions
Content added Content deleted
AcuteSyntax (talk | contribs) No edit summary |
AcuteSyntax (talk | contribs) m (→Collision Tree) |
||
Line 102: | Line 102: | ||
| 0x20 || Node branch array || Node Branch*[] || || Pointer to an array of Node Branches |
| 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 |
| 0x24 || Polygon soups || [[Polygon Soup]]*[] || || Pointer to an array of Polygon Soups |
||
|- |
|- |
||
| 0x28 || Polygon soup count || uint16 || || |
| 0x28 || Polygon soup count || uint16 || || |
Revision as of 18:45, 20 May 2021
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 |