Fog tags describe the colour and density properties of fog which can be applied to BSP fog planes using Sapien.

Non-planar atmospheric fog does not use a fog tag, and is instead controlled by the sky tag.

Known issues

Due to a renderer regression, the screen layers effect of these tags does not render on H1CE or H1PC, nor does it draw over the skybox. This tag renders correctly in H1X and H1A.

Structure and fields

Field Type Comments
flags bitfield
Flag Mask Comments
is water 0x1

Determines if the volume behind (anti-normal to) this fog plane is a "water fog volume", which causes it to be considered underwater. This affects vehicles' ability to travel over water.

atmosphere dominant 0x2

As documented in Guerilla, this was originally used to fix polygon popping when atmospheric fog density reached 1.0 within the confines of the map and interacted with fog planes. It is only enabled in c10's swamp fog tag on both Xbox and PC. This flag is possibly changing fog render order and therefore also coincidentally fixes the shader inconsistency between Xbox and PC which causes the Assault on the Control Room snowy fog to look incorrect on PC.

fog screen only 0x4

Unknown purpose. This flag was not set in any original Halo maps.

maximum density float
  • Min: 0
  • Max: 1

Scales how dense the fog is at its opaque distance and depth, where 1 is the fully opaque color and 0 is transparent.

opaque distance float
  • Unit: world units

The distance from the player where the fog reaches its maximum density.

opaque depth float
  • Unit: world units

The distance from the fog plane where the fog reaches its maximum density.

distance to water plane float
  • Unit: world units
color ColorRGB
Field Type Comments
red float
green float
blue float
flags 1 bitfield
Flag Mask Comments
no environment multipass 0x1
no model multipass 0x2
no texture based falloff 0x4
layer count uint16
distance gradient Bounds
  • Unit: world units
Field Type Comments
min float
max float
density gradient Bounds
  • Min: 0
  • Max: 1
Field Type Comments
min float
max float
start distance from fog plane float
  • Unit: world units
screen layers color ColorARGBInt

Sets the colour of the screen layer volumetrics particles. Note that this effect only works on the original Xbox version of the game.

RGB Color with alpha, with 8-bit color depth per channel (0-255)

Field Type Comments
alpha uint8
red uint8
green uint8
blue uint8
rotation multiplier float
  • Min: 0
  • Max: 1
strafing multiplier float
  • Min: 0
  • Max: 1
zoom multiplier float
  • Min: 0
  • Max: 1
map scale float
map

TagDependency: bitmap

animation period float
  • Unit: seconds
wind velocity Bounds?
  • Unit: world units per second
wind period Bounds?
  • Unit: seconds
wind acceleration weight float
  • Min: 0
  • Max: 1
wind perpendicular weight float
  • Min: 0
  • Max: 1
background sound

TagDependency: sound_looping

Overrides the background sound of the cluster while under the fog plane. This is used for underwater areas.

sound environment

TagDependency: sound_environment

Overrides the sound environment of the cluster while under the fog plane. This is used for underwater areas.

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • Kavawuvi (Invader tag definitions)
  • MosesOfEgypt (Tag structure research)