BCP (File Format)
From Wexos's Wiki
The BCP (Binary Camera Parameter) file controls the opening camera around the character before the countdown in Mario Kart Wii. There are four BCP files found in Mario Kart Wii. All of them are found into Common.szs. The files are battle_camera.bcp (used for battle), mission_camera.bcp (used for widescreen Competition/Tournament), race_camera.bcp (used for Grand Prix, VS Race, Time Trial and most Competitions/Tournaments) and start_camera.bcp (unknown). All these files found in Mario Kart Wii are 0x130 bytes long.
File Format
The file byte order is always big endian, and it is always 0x130 bytes long.
Offset | Type | Description |
---|---|---|
0x00 | Int32 | Unknown, always 00 00 00 00. |
0x04 | UInt16 | This value stores the ID of the first point to ignore (1-based index), which means after the previous point, it will move to the default character view. Nintendo uses 7 for all files. |
0x06 | Byte[2] | Padding. |
0x08 | Float | Speed blend per camera position. |
0x0C | Float[3] | Scale of all points. |
0x18 | Float[3] | Camera rotation. |
0x24 | Float[3] | Camera start distance. |
0x30 | Float[3] | Start position of the camera. |
0x3C | Float[3] | 1st position of the camera. |
0x48 | Float[3] | 2nd position of the camera. |
0x54 | Float[3] | 3rd position of the camera. |
0x60 | Float[3] | 4th position of the camera. |
0x6C | Float[3] | 5th position of the camera. |
0x78 | Float[3] | 6th position of the camera. |
0x84 | Float[3] | 7th position of the camera. |
0x90 | Float[3] | 8th position of the camera. |
0x9C | Float[3] | 9th position of the camera. |
0xA8 | Float[3] | 10th position of the camera. |
0xB4 | Float[3] | 11th position of the camera. |
0xC0 | Float[3] | 12th position of the camera. |
0xCC | Float[3] | 13th position of the camera. |
0xD8 | Float[3] | 14th position of the camera. |
0xE4 | Float[3] | 15th position of the camera. |
0xF0 | Float | Speed between start and 1st vector. |
0xF4 | Float | Speed between 1st vector and 2nd vector. |
0xF8 | Float | Speed between 2nd vector and 3rd vector. |
0xFC | Float | Speed between 3rd vector and 4th vector. |
0x100 | Float | Speed between 4th vector and 5th vector. |
0x104 | Float | Speed between 5th vector and 6th vector. |
0x108 | Float | Speed between 6th vector and 7th vector. |
0x10C | Float | Speed between 7th vector and 8th vector. |
0x110 | Float | Speed between 8th vector and 9th vector. |
0x114 | Float | Speed between 9th vector and 10th vector. |
0x118 | Float | Speed between 10th vector and 11th vector. |
0x11C | Float | Speed between 11th vector and 12th vector. |
0x120 | Float | Speed between 12th vector and 13th vector. |
0x124 | Float | Speed between 13th vector and 14th vector. |
0x128 | Float | Speed between 14th vector and 15th vector. |
0x12C | Float | Speed between 15th vector and end. |
0x130 | End of file |
Tools
The following tools can handle BCP files:
- BCP Table, by Atlas.
- Wexos's Toolbox, by Wexos.