BCO (File Format)

A BCO contains the track's collision data in Mario Kart: Double Dash!!. It is split into 4 parts, where only 2 are known, and are listed below.

Triangles
Triangles are parts of the collision format that are formed from 3 vertices. Triangles also have the collision type for the defined triangle. The structure is a 0x24 byte structure defined below.

Vertices
Vertices are sets of 3 floats that form a triangle. Each vertex structure is defined in a 0x0C byte structure below.

Unknown Section
This is a section with an unknown purpose. The number of entries is defined in byte 0x18 in the header. The 0xC byte structure is defined below.

Collision Flags
Each triangle face has a collision flag that defines how the face acts when the player interacts with it. This can define whether it's sand, mud, ice, and more.

Sound Types
Each triangle also has a Sound-Type associated with it that defines how the face sounds when the player interacts with it. These are not part of the material name, but instead set in the obj_sound.txt files.

Tools
Mkdd-collision by Yoshi2