DKRDS Track (File Format)
DKRDS Track is the nameless file format used in Diddy Kong Racing DS that stores the tracks' section models, collision and textures. Its type identifier in assets.bin is 0x9A.
File Format
The file byte order is always little endian.
Header
The file starts with a header that is 56 bytes long.
Offset | Type | Description |
---|---|---|
0x00 | Int32 | Number of sections (N). |
0x04 | Int32 | Track Section Group offset. |
0x08 | Int32 | Unknown Section 1 offset. |
0x0C | Byte[4] | Unknown. Always 0xCCCCCCCC. |
0x10 | Int32 | Unknown Section 2 offset. |
0x14 | Int32 | Unknown Section 2 data type:
|
0x18 | Int32 | Number of textures. |
0x1C | Int32 | Texture Group offset. |
0x20 | Int32 | Unknown Section 3 offset. |
0x24 | Int32 | Wish Race Unknown Section entry count. |
0x28 | Int32 | Wish Race Unknown Section offset. |
0x2C | Byte[4] | Unknown. Seems to be some kind of flags. |
0x30 | Int32 | Unknown. |
0x34 | Int32 | File size. |
0x38 | End of header |
Track Section Group
This group starts with a list of N offsets.
Offset | Type | Description |
---|---|---|
0x00 | Int32[N] | Track Section Entry offsets. Relative to the start of this group. |
Track Section Entry
Every section entry defines model and collision data. The entry starts with a 32-byte header.
Offset | Type | Description |
---|---|---|
0x00 | Byte | Unknown. |
0x01 | Byte | Unknown. Always 5? |
0x02 | UInt16 | Unknown. |
0x04 | UInt16 | Number of entries in Track Section Collision (1E). |
0x06 | UInt16 | Number of vertices in Track Section Vertex Data (2E). |
0x08 | UInt16 | Number of entries in Track Section UV Data (3E). |
0x0A | UInt16 | Number of colors in Track Section Color Data (4E). |
0x0C | Int32 | Unknown. |
0x10 | Int32 | Track Section Unknown Data 1 offset. |
0x14 | Int32 | Track Section Vertex Data offset. |
0x18 | Int32 | Track Section Unknown Data 2 offset. |
0x1C | Int32 | Track Section Color Data offset. |
0x38 | End of header, start of Track Section Data |
Track Section Data
This data starts with an unknown size header and some data, followed by the model and collision data referenced by the previous header's offsets.
Track Section Collision Data
48-byte data per entry 1E. TBD
Track Section Vertex Data
Vertex data is stored as 6-byte groups per entry 2E.
Offset | Type | Description |
---|---|---|
0x00 | Int16[3][2E] | Vertex XYZ position. |
Track Section UV Data
UV data is stored as 4-byte groups per entry 3E.
Offset | Type | Description |
---|---|---|
0x00 | Int16[2][3E] | Vertex UV position. |
Track Section Color Data
Color data is stored as 2-byte groups per entry 4E.
Offset | Type | Description |
---|---|---|
0x00 | UInt16[4E] | RGBA5551 color. |
Unknown Section 1
TBD
Unknown Section 2
TBD
Texture Group
See DKRDS Texture.
Unknown Section 3
TBD
Wish Race Unknown Section
This section is only used for the Wish Race tracks. TBD
Tools
The following tools can handle DKRDS Track:
- (none)