Building from Source - Theseus-Aegis/TheseusServices GitHub Wiki

Building with HEMTT is recommended instead!

1. Requirements

  • Arma 3
  • Arma 3 Tools (available on Steam)
  • P-drive
  • Run Arma 3 and Arma 3 Tools directly from Steam once to install registry entries (and again after every update)
  • Python 3.x
  • Mikero Tools: DePbo, DeOgg, Rapify, MakePbo, PboProject
  • *.hpp removed from PboProject’s "Exclude From Pbo" list
  • Python, Mikero Tools and Git in PATH environment variable

2. Procedure

  • Navigate to tools folder
  • Execute setup.py to create symbolic links to P-drive and Arma 3 directory required for building
  • Execute build.py to create a test build using file patching
  • Execute make.py to create a release build

3. File Patching

File Patching allows you to change the files in an addon while the game is running, requiring only a restart of the mission. This makes it great for debugging, as it cuts down the time required between tests. Note that this only works with PBOs created using MakePbo, which build.py uses.

To run Arma 3 with file patching add the -filePatching startup parameter.

Files must exist in the built PBOs for file patching to work. If you create a new file you must rebuild the PBO or Arma will not find it in your file paths.

Configs are not patched during run time, only at load time. You do not have have to rebuild a PBO to make config changes, just restart Arma. You can get around this though if you are on the dev branch of Arma 3 and running the diagnostic exe. That includes diag_mergeConfig which takes a full system path (as in p:\x\tacs\addons\my_module\config.cpp) and allows you to selectivly reload config files.

Adapted from the ACE3 documentation.