BFG (File Format)
The structure of the file is based in four fog entries, 0x1C (28) bytes long each.
|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||Fog color, stored in RGBX format (alpha is ignored).|
|0x10||UInt16||Fog range correction:
|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.|
|0x1C||End of fog entry|
Controlling the density of the fog can be a process of trial and error, and it is recommended that you have extracted your ISO, and boot the game in Dolphin through the main.dol file found in Files → Race → Course, to quickly test the changes that you have made. The settings below are similar to various other Nintendo tracks, and is most easily controlled by changing "Start Z" from -10,000 to +10,000.
The Fade Speed corresponds to 1/x frames to transition. For instance, if you wanted a two-second (120 frame) transition, you would want a speed of 1/120 (0.0083). A speed of 0 defaults to a transition of 33 seconds.
Other notes: In the material settings in BrawlBox or BrawlCrate, the fog index should be set to 0, for the material to receive the fog effect as well. Additionally, each BFG entry needs an AREA to activate it. Below is a picture showing what this AREA could look like within KMP Cloud.
The Type should be Type 2 to enable BFG. Additionally, the setting underlined is what determines which BFG the AREA should enable, noting that BFG entries start at 0.
The following tools can handle BFG files: