ABC (File Format): Difference between revisions
(Created page with "'''ABC''' is a file format found in Mario Kart Arcade GP DX. It defines culling areas used in tracks. = File Format = The file byte order is always little endian. == File Header == The file starts with a header that is 0x10 bytes long. {|class=wikitable ! 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 fil...") |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
'''ABC''' is a file format found in [[Mario Kart Arcade GP DX]]. | '''ABC''' ('''A'''rea '''B'''lo'''C'''k) 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 = | = File Format = | ||
| Line 14: | Line 14: | ||
| 0x04 || Int32 || Always 1. Maybe version? The game checks if this value is 1, otherwise it won't read the file. | | 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 [[# | | 0x08 || Int32 || '''Number of [[#Areas|Areas]]''' ('''N'''). | ||
|- | |- | ||
| 0x0C || Byte[4] || '''Padding'''. | | 0x0C || Byte[4] || '''Padding'''. | ||
|- | |- | ||
| 0x10 || colspan=2 {{unknown|End of header, start of | | 0x10 || colspan=2 {{unknown|End of header, start of Areas}} | ||
|} | |} | ||
== | == Areas == | ||
After the header, there are '''N''' 0x40-byte | 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. | ||
{|class=wikitable | {|class=wikitable | ||
|+ | |+ Area | ||
! Offset !! Type !! Description | ! Offset !! Type !! Description | ||
|- | |- | ||
| Line 35: | Line 35: | ||
* (none) | * (none) | ||
[[Category:Luigi's Mansion Arcade File Formats]] | |||
[[Category:Mario Kart Arcade GP DX File Formats]] | [[Category:Mario Kart Arcade GP DX File Formats]] | ||
Latest revision as of 10:57, 4 May 2026
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)