DCLN (Metroid Prime)
This article is for the DCLN format from the Metroid Prime series and Donkey Kong Country Returns. See DCLN (File Format) for other revisions of this format.
The DCLN format stores one or more collision meshes, each partitioned via an OBB tree. These are used as dynamic collision data for actors and platforms. Most of the format is shared with the MREA format, but there are some sections that are unique to DCLN.
Format
The file can store multiple collision meshes; each one has its own chunk in the file.
Type | Count | Name | Notes |
---|---|---|---|
u32 | 1 | Collision Mesh Count | Number of collision meshes in the file. |
Collision Mesh | Collision Mesh Count | Collision Mesh Array | Array of collision meshes. |
End of File |
Collision Mesh
Offset | Type | Count | Name | Notes | MP1/2/3 | DKCR |
---|---|---|---|---|---|---|
0x0 | u32 | 1 | Magic | Always 0xDEAFBABE
|
✔ | ✔ |
0x4 | u32 | 1 | Version | Possible values:
|
✔ | ✔ |
0x8 | AABox | 1 | Mesh Bounding Box | Bounding box of the collision mesh. | ✖ | ✔ |
u32 | 1 | Internal Memory Allocation Size | Used to build CNode/CLeafData from the stored representation. Each node/leaf's size is aligned to the nearest 4-byte boundary. | ✔ | ✔ | |
Collision Index Data | 1 | Collision Index Data | Index data for the collision mesh. This data section is what actually defines the collision mesh itself. This part of the format is shared with MREA. | ✔ | ✔ | |
OBB Tree | 1 | Collision OBB Tree | OBB tree for the collision mesh. This is used to quickly locate triangles that an actor could potentially be colliding with. | ✔ | ✔ | |
End of Collision Mesh |
OBB Tree
To do: OBB tree format documentation |