BFG (File Format)

From Custom Mario Kart
Revision as of 15:09, 5 February 2018 by Caron (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, 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 structure of the file is based in four fog entries, 0x1C (28) bytes long each.

Table showing fog types, with their curve equations
Offset Type Description
0x00 Int32 Fog type:
  • 0x0 = No fog.
  • 0x1 = Perspective projection linear.
  • 0x2 = Perspective projection exponential.
  • 0x3 = Perspective projection exponent squared.
  • 0x4 = Perspective projection inverse exponent.
  • 0x5 = Perspective projection inverse of the square exponent.
  • 0x6 = Orthographic projection linear.
  • 0x7 = Orthographic projection exponential.
  • 0x8 = Orthographic projection exponent squared.
  • 0x9 = Orthographic projection inverse exponent.
  • 0xA = Orthographic projection inverse of the square exponent.
0x04 Float StartZ: stores the Z value where fog generation begins inside the view space.
0x08 Float EndZ: stores 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:
  • 0x0 = Disabled.
  • 0x1 = 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


The following tools can handle BFG files: