MCOL (File Format)
MCOL or HCOL is a collision format developed by Aqualead and found in some Wii and 3DS games (and suspected to be used in GameCube titles as well), such as One Piece: Unlimited Adventure, One Piece: Unlimited Cruise Episode 1 - The Treasure Beneath The Waves, One Piece: Unlimited Cruise Episode 2: Awakening of a Hero, One Piece: Unlimited Cruise SP and One Piece: Unlimited Cruise SP 2.
File Format
The file byte order can be either big endian (Wii) or little endian (3DS).
Header
The file starts with the following header:
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | File magic. Always ALMC in ASCII. |
| 0x04 | UInt32 | Unknown. Always 0x18? |
| 0x08 | UInt32 | Unknown. |
| 0x0C | UInt32 | Unknown. |
| 0x10 | UInt32 | Unknown. |
| 0x14 | UInt32 | Number of triangle indices (I). |
| 0x18 | UInt16 | Unknown. |
| 0x1A | UInt16 | Unknown. |
| 0x1C | UInt32 | Number of vertices (V). |
| 0x20 | UInt32 | Number of extra attributes (A). |
| 0x24 | Float[4] | Minimum value point, made of XYZ coordinates and a normal value (?) |
| 0x34 | Float[4] | Maximum value point, made of XYZ coordinates and a normal value (?) |
Vertex Data
After the header comes the vertex data, stored as XYZ coordinates and (maybe) a normal value.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Float[3][V] | Vertex XYZ position and normal (?) |
Index Data
After the vertex data comes the triangle indices.
| Offset | Type | Description |
|---|---|---|
| 0x00 | UInt32[3][I / 3] | Triangle indices |
Extra Attribute Data
After the index data comes the extra attribute data.
| Offset | Type | Description |
|---|---|---|
| 0x00 | UInt16[2][A] | Extra attributes, unknown usage. |
Tools
The following tools can handle MCOL/HCOL files:
- (none)