BFG (File Format)

From Wexos's Wiki
Revision as of 17:08, 1 May 2024 by Wexos (talk | contribs) (Imported from avsys wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

BFG (Binary FoG) files are one of the multiple post-effect controllers Mario Kart Wii provides. It controls fog used in tracks, and they appear in the "./posteffect" folder inside U8 files.

File Format

The file byte order is always big endian. The structure of the file is based in four fog entries, where each entry is 0x1C bytes long.

Offset Type Description
0x00 Int32 Fog type:
  • 0x00 = No fog.
  • 0x01 = Perspective projection linear.
  • 0x02 = Perspective projection exponential.
  • 0x03 = Perspective projection exponent squared.
  • 0x04 = Perspective projection inverse exponent.
  • 0x05 = Perspective projection inverse of the square exponent.
  • 0x06 = Orthographic projection linear.
  • 0x07 = Orthographic projection exponential.
  • 0x08 = Orthographic projection exponent squared.
  • 0x09 = Orthographic projection inverse exponent.
  • 0x0A = Orthographic projection inverse of the square exponent.
0x04 Float StartZ. The Z-value where fog generation begins inside the view space.
0x08 Float EndZ. The Z-value at which fog density is maximum inside the view space.
0x0C Byte[4] Fog color, stored in RGBX format (alpha is ignored).
0x10 UInt16 Fog range correction. 0 = Disabled, 1 = Enabled.
0x12 UInt16 Maybe center to which the range correction is applied?
0x14 Float Affects the transition speed when swapping fog entries. 1.0 is instant; lower values create longer fades. Whether it affects swapping to this entry, from this entry, or both is unknown.
0x18 UInt16 Unknown. 0 in most Nintendo tracks, 5544 in N64 DK's Jungle Parkway.
0x1A UInt16 Unknown.
0x1C End of fog entry

Tools

The following tools can handle BFG files: