ABC (File Format): Difference between revisions

From Wexos's Wiki
Jump to navigationJump to search
(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]]. It defines culling areas used in tracks.
'''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 [[#Culling Areas|Culling Areas]]''' ('''N''').
| 0x08 || Int32 || '''Number of [[#Areas|Areas]]''' ('''N''').
|-
|-
| 0x0C || Byte[4] || '''Padding'''.
| 0x0C || Byte[4] || '''Padding'''.
|-
|-
| 0x10 || colspan=2 {{unknown|End of header, start of Culling Areas}}
| 0x10 || colspan=2 {{unknown|End of header, start of Areas}}
|}
|}


== Culling Areas ==
== Areas ==
After the header, there are '''N''' 0x40-byte culling areas. Each area corresponds to each section of the track's [[VMD]] file, and it is made of a single 4x4 matrix that 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.
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
|+ Culling Area
|+ 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.

Area
Offset Type Description
0x00 Float[16] 4x4 matrix.

Tools

The following tools can handle ABC files:

  • (none)