Contributing¶
Setting up the development environment¶
- Clone the repository from GitHub.
-
Install HEMTT:
-
Build the mod with
hemtt build, or validate it without building viahemtt check. hemtt launchstarts Arma 3 with the mod. The test range mission.hemtt/missions/itc_land_vr_test.VRhas a station for every system and a control board for teleports, scenarios and diagnostics.
Coding guidelines¶
This mod follows the same coding guidelines as the ACE3 mod — naming conventions, function headers, bracket/spacing style, and the general avoidance of scheduled space (spawn/execVM) and magic numbers.
- User-facing text goes in the addon's
stringtable.xml(CSTRINGin configs,LLSTRINGin scripts). Runhemtt ln sortafter adding keys. - Never put macros inside quoted strings, the preprocessor does not expand them there; use
QUOTE(...)or theQ-prefixed macros.
Validating changes¶
Before opening a PR, run:
hemtt check
python tools/stringtable_validator.py
python tools/config_style_checker.py
python tools/macro_in_string_checker.py
These mirror the checks run in CI (.github/workflows/check.yml and validate.yml). Lint severities are set in .hemtt/lints.toml.
Translations¶
All player-facing text is in the stringtable.xml of each addon. Only English exists so far; add your language as a new element next to <English> in every key.
Documentation¶
The documentation is built with Zensical from the docs folder:
Pushes to master that change the docs publish them to GitHub Pages (.github/workflows/docs.yml). Add a new vehicle or item with its classname to the page of its system in docs/systems/, and new config for modders to Mission Makers & Modders.
The open work list is docs/TODO.md; it is kept out of the published site.