invader-build is a command-line tool included in the Invader project. It builds maps from tags similar to the Tool build-cache-file verb. Supported engines are H1X (and demo), H1PC (and demo), H1CE, and H1A.

Invader-build is stricter than Tool about tag validity and offers clearer warning and error messages. When compiling stock scenarios (any of the stock maps), it will automatically forge checksums, use the stock tag index, and apply certain tag patches to ensure maps can be used in multiplayer compatibly.


As an example, to compile Prisoner for custom edition:

invader-build -g custom "levels\test\prisoner\prisoner"

See official documentation for more usage instructions. The tool has many options to customize; run with the -h flag to learn more. In the past this tool supported creating compressed maps for H1CE that required Chimera to play them, as the base game does not support this.

Hardcoded tag patches

Like Tool, invader-build applies some hard-coded tag patches. The patches vary by target engine and scenario, but are designed to help users avoid incorrect tag values due to the differences in extracted stock tags across game editions and map types.

Tag typeTag path(s)Changes
weaponweapons\pistol\pistolFor any SP scenario, min error to 0.2 degrees, error angle range 0.2 to 0.4 for first trigger
damage_effectweapons\pistol\bulletFor any SP scenario, elite energy shield damage modifier to 0.8
weaponweapons\plasma rifle\plasma rifleFor any SP scenario, error angle range 0.25 to 2.5 for first trigger
  • vehicles\ghost\ghost bolt
  • vehicles\banshee\banshee bolt
For stock MP scenarios:
  • Stun: 0.0 if Custom Edition, else 1.0
  • Maximum stun: 0.0 if Custom Edition, else 1.0
  • Stun time: 0.0 if Custom Edition, else 0.15
weaponvehicles\rwarthog\rwarthog_gunFor stock MP scenarios:
  • Autoaim angle: 6.0° if Custom Edition, else 1.0°
  • Deviation angle: 12.0° if Custom Edition, else 1.0°

Invader also modifies the "ting" sound effect for multiplayer to have a gain of 1.0 if Custom Edition and 0.2 if not. This is so the sound is not too loud or too quiet when played on their respective versions.

Note that the changes done in common with Tool are reversed when extracting tags using invader-extract.