Database changes have finished applying - please report any issues you're (still) seeing to support@shoutwiki.com.
COL file type
Jump to navigation
Jump to search
General Info[edit | edit source]
Col files store the collision model of the game. It's made up of a header, multiple groups (info about a collision type), multiple vertices, and the vertex indexes to create triangles.
File Structure * Header * Group List * Vertex List * Triangle Variables
Header Section[edit | edit source]
Intro part of the file, holds info about the future sections of the file
Section Offset | Byte Length | Description |
---|---|---|
0x00 | 4 | Vertex Count: uint32 |
0x04 | 4 | Vertex Offset: uint32 |
0x08 | 4 | Group Count: uint32 |
0x0c | 4 | Group Offset: uint32 |
Groups[edit | edit source]
A group holds the information about a specific collision type. Each group has a vertex index offset, which specifies which vertex to start making triangles from (uses 3 and move to the next 3). Reminder that the order of vertices calculate the normal of the face.
Section Offset | Byte Length | Description |
---|---|---|
0x00 | 2 | Collision Type: uint16 |
0x02 | 2 | Triangle Count: uint16 |
0x04 | 1 | Group Flags (Padding): bool |
0x05 | 1 | Has Col Parameter: bool |
0x06 | 2 | Padding: Always 0xFFFF |
0x08 | 4 | Vertex Index Offset: uint32 |
0x0C | 4 | Terrain Type Offset: uint32 |
0x10 | 4 | Unknown Offset: uint32 |
0x14 | 4 | Col Parameter Offset: uint32 |
Vertexes[edit | edit source]
Vertex Data
Section Offset | Byte Length | Description |
---|---|---|
0x00 | 4 | X Pos: float32 |
0x04 | 4 | Y Pos: float32 |
0x08 | 4 | Z Pos: float32 |
Triangle Variables[edit | edit source]
The information held for each triangle
Section Offset | Byte Length | Description |
---|---|---|
0x00 | 1 uint8 | Terrain Type |
0x01 | 1 uint8 | ???? |
0x02 | 2 uint16 | Parameter (if yes) |