DKRDS Model (File Format)

From Wexos's Wiki
Revision as of 13:17, 22 June 2024 by Atlas (talk | contribs)
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 Model is the nameless file format used in Diddy Kong Racing DS that stores models and textures.

File Format

The file byte order is always little endian.

Header

The file starts with a header that is 48 bytes long. Unused models that might use an older version of the format have been seen with a 44-byte long header.

Offset Type Description
0x00 UInt16 Size flag. This flag indicates how much the vertex data is divided by in the short-to-float conversion:
  • 0 = Divided by 16 (?)
  • 1 = Divided by 4096 (?)
0x02 UInt16 Unknown various flags. Each bit seems to correspond to a different flag:
  • 0 = If 1, bone IDs are attached to each vertex
0x04 UInt16 Number of models.
0x06 UInt16 Unknown.
0x08 UInt16 Number of textures.
0x0A UInt16 Unknown.
0x0C Int32 Unknown.
0x10 Byte[12] Unknown. Padding? In earlier versions this would be an 8-byte padding instead
0x1C Int32 Model Group offset.
0x20 Int32 Texture Group offset.
0x24 Int32 Texture Reference Table offset.
0x28 Int32 Unknown.
0x2C Int32 Unknown.
0x30 End of header

Model Group

TBD

Texture Group

See DKRDS Texture Group.

Texture Reference Table

This section lists each 4-byte texture UID directly, in order. The index of each reference is used in the model data to know which texture corresponds to which triangle.

Offset Type Description
0x00 Byte[4][Number of Textures in Texture Group] Texture UID.

Tools

The following tools can handle DKRDS Model:

  • (none)