The CLSN format in Donkey Kong Country: Tropical Freeze is for static collision, usually used by world geometry.
|
This file format is almost completely documented Collision materials need experimentation to verify structure + figure out what the different flags do
|
Format
Type
|
Count
|
Name
|
Description
|
Form Descriptor
|
1
|
Collision Form Descriptor
|
Data type is CLSN
|
Chunk Descriptor
|
1
|
Vertices Chunk Descriptor
|
Data type is VERT
|
u32
|
1
|
Vertex Count
|
|
vector3
|
Vertex Count
|
Vertex Data
|
|
Chunk Descriptor
|
1
|
Collision Materials Chunk Descriptor
|
Data type is MTRL
|
u32
|
1
|
Collision Material Count
|
|
Collision Material
|
Collision Material Count
|
Collision Materials
|
Collision materials define collision properties.
|
Chunk Descriptor
|
1
|
Triangles Chunk Descriptor
|
Data type is TRIS
|
u32
|
1
|
Triangle Count
|
|
Collision Triangle
|
Triangle Count
|
Triangles Array
|
|
Chunk Descriptor
|
1
|
Tree Chunk Descriptor
|
Data type is TREE
|
u32
|
1
|
Leaf Node Count
|
|
Tree Leaf Node
|
Leaf Node Count
|
Leaf Node Array
|
|
End of file
|
Collision Material
Offset
|
Type
|
Count
|
Name
|
Description
|
0x0
|
u32
|
1
|
Unknown
|
|
0x4
|
u32
|
1
|
Unknown
|
|
0x8
|
u32
|
1
|
Unknown
|
|
0xC
|
u32
|
1
|
Unknown
|
|
0x10
|
u32
|
1
|
Unknown
|
|
0x14
|
End of collision material
|
Collision Triangle
Offset
|
Type
|
Count
|
Name
|
Description
|
0x0
|
u32
|
3
|
Vertex Indices
|
|
0xC
|
u16
|
1
|
Collision Material Index
|
|
0xE
|
u16
|
1
|
Unknown
|
Always 0? The game actually does read and store it, so it may not just be padding.
|
0x10
|
End of triangle
|
Tree Leaf Node
Offset
|
Type
|
Count
|
Name
|
Description
|
0x0
|
vector3
|
2
|
Axis-Aligned Bounding Box
|
Represented by a pair of points where point 1 is min and point 2 is max.
|
0x18
|
u32
|
1
|
Unknown
|
|
0x1C
|
u32
|
1
|
Unknown
|
|
0x20
|
u32
|
1
|
Unknown
|
|
0x24
|
End of leaf node
|