DKRDS Track (File Format)

From Wexos's Wiki
Revision as of 12:20, 22 June 2024 by Atlas (talk | contribs) (Created page with "{{under-construction}} '''DKRDS Track''' is the nameless file format used in ''[https://en.wikipedia.org/wiki/Diddy_Kong_Racing_DS 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. {|class=wikitable ! Offset !! Type !! Description |- | 0x00 || Int32 || '...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.

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:
  • 1 = 4-byte per N group.
  • 2 = 8-byte per N group.
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.

Track Section Header
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.

Track Section Entry 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)