Scenery are non-moving objects placed within maps that are not part of the BSP. Some examples of scenery include boulders, trees, crashed pelicans, and smoke emitters. Scenery objects can be added to a palette in Sapien and placed many times throughout the level, with each scenery implicitly belonging to a particular BSP.

While scenery and their collision models can be animated, they do not have physics like units and items and the object technically remains fixed at one location. Doors and elevators are implemented using device_machine instead.

Limits

While thousands of scenery can be placed in a scenario, the unmodified game engine only supports rendering at most 256 at any given time. This limit can be increased to 512 using OpenSauce.

Shadows

Because these objects are non-moving, they cast shadows in lightmaps. A scenery's collision is used to cast shadows rather than its gbxmodel. Scenery can also be forced to use dynamic shadow mapping; see object lighting.

Structure and fields

FieldTypeComments
flagsbitfield
  • H1A only

This field is padding in legacy Halo. It is visible in H1A Guerilla.

FlagMaskComments
off in pegasus0x1
  • Pegasus (China) only

Presumably hides the scenery in MCC "Pegasus", the censored Chinese release of the game. This flag is now unused in modern versions.

Acknowledgements

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

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