ABC (File Format)
ABC (Area BloCk) is a file format found in Mario Kart Arcade GP DX and Luigi's Mansion Arcade. In Mario Kart Arcade GP DX it defines culling areas used in tracks, whereas in Luigi's Mansion Arcade it defines areas used for lighting.
File Format
The file byte order is always little endian.
File Header
The file starts with a header that is 0x10 bytes long.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Char[4] | File magic. Always ABCT in ASCII. |
| 0x04 | Int32 | Always 1. Maybe version? The game checks if this value is 1, otherwise it won't read the file. |
| 0x08 | Int32 | Number of Areas (N). |
| 0x0C | Byte[4] | Padding. |
| 0x10 | End of header, start of Areas | |
Areas
After the header, there are N 0x40-byte areas. Each area corresponds to each section of a corresponding VMD file. In Luigi's Mansion Arcade, it also references the sections from an ABT file. The area is made of a single 4x4 matrix. In Mario Kart Arcade GP DX this matrix is used to transform the current position of the camera's target. The game checks once per frame if the transformed position of each area lies within a -0.5f to 0.5f AABB cube to determine the culling status.
| Offset | Type | Description |
|---|---|---|
| 0x00 | Float[16] | 4x4 matrix. |
Tools
The following tools can handle ABC files:
- (none)