hemtt launch

Test your project

Usage: hemtt [OPTIONS] [CONFIG]... [-- <PASSTHROUGH>...]

Arguments:
  [CONFIG]...       Launches with the specified configurations
  [PASSTHROUGH]...  Passthrough additional arguments to Arma 3

Options:
  -e, --executable <EXECUTABLE>  Executable to launch, defaults to `arma3_x64.exe`
  -i, --instances <INSTANCES>    Launches multiple instances of the game
  -Q, --quick                    Skips the build step, launching the last built version
  -F, --no-filepatching          Disables file patching
  -b, --binarize                 Use BI's binarize on supported files
  -o, --optional <OPTIONAL>      Include an optional addon folder
  -O, --all-optionals            Include all optional addon folders
      --no-rap                   Do not rapify (cpp, rvmat)
      --just <JUST>              Only build the given addon
  -t, --threads <THREADS>        Number of threads, defaults to # of CPUs
  -v...                          Verbosity level
  -h, --help                     Print help (see more with '--help')

Description

Test your project

hemtt launch is used to build and launch a dev version of your mod. It will run the hemtt dev command internally after a few checks, options are passed to the dev command.

You can chain multiple configurations together, and they will be overlayed from left to right. Any arrays will be concatenated, and any duplicate keys will be overridden. With the below configuration, hemtt launch default vn ace would launch with all three configurations. Note that default must be specified when specifying additional configurations, default is only implied when no configurations are specified.

Configuration

hemtt launch requires the mainprefix option to be set.

Launch configurations can be stored in either .hemtt/project.toml under hemtt.launch, or in a separate file under .hemtt/launch.toml. The latter is useful for keeping your main configuration file clean. When using launch.toml, the hemtt.launch key is not required.

.hemtt/project.toml

mainprefix = "z"

# Launched with `hemtt launch`
[hemtt.launch.default]
workshop = [
    "450814997", # CBA_A3's Workshop ID
]
presets = [
    "main", # .html presets from .hemtt/presets/
]
dlc = [
    "Western Sahara",
]
optionals = [
    "caramel",
]
mission = "test.VR" # Mission to launch directly into the editor with
parameters = [
    "-skipIntro",           # These parameters are passed to the Arma 3 executable
    "-noSplash",            # They do not need to be added to your list
    "-showScriptErrors",    # You can add additional parameters here
    "-debug",
    "-filePatching",
]
executable = "arma3" # Default: "arma3_x64"
file_patching = false # Default: true
binarize = true # Default: false
rapify = false # Default: true

# Launched with `hemtt launch vn`
[hemtt.launch.vn]
extends = "default"
dlc = [
    "S.O.G. Prairie Fire",
]

# Launched with `hemtt launch ace`
[hemtt.launch.ace]
extends = "default"
workshop = [
    "463939057", # ACE3's Workshop ID
]

.hemtt/launch.toml

[default]
workshop = [
    "450814997", # CBA_A3's Workshop ID
]

[vn]
extends = "default"
dlc = [
    "S.O.G. Prairie Fire",
]

extends

The name of another configuration to extend. This will merge all arrays with the base configuration, and override any duplicate keys.

workshop

A list of workshop IDs to launch with your mod. These are not subscribed to, and will need to be manually subscribed to in Steam.

presets

A list of .html presets to launch with your mod. Exported from the Arma 3 Launcher, and kept in .hemtt/presets/.

dlc

A list of DLCs to launch with your mod. The fullname or short-code can be used.

Currently supported DLCs:

Full NameShort Code
Contactcontact
Global Mobilizationgm
S.O.G. Prairie Firevn
CSLA Iron Curtaincsla
Western Saharaws
Spearhead 1944spe
Reaction Forcesrf

optionals

A list of optional addon folders to launch with your mod.

mission

The mission to launch directly into the editor with. This can be specified as either the name of a folder in .hemtt/missions/ (e.g., test.VR would launch .hemtt/missions/test.VR/mission.sqm) or the relative (to the project root) path to a mission.sqm file or a folder containing it.

parameters

A list of Startup Parameters to pass to the Arma 3 executable.

executable

The name of the Arma 3 executable to launch. This is usually arma3 or arma3_x64. Do not include the .exe extension, it will be added automatically on Windows. Only paths relative to the Arma 3 directory are supported.

file_patching

Whether to launch Arma 3 with -filePatching. Equivalent to --no-filepatching or -F.

binarize

Whether to use BI's binarize on supported files. Equivalent to --binarize.

rapify

Provides the ability to disable rapify for the launch command. Equivalent to --no-rap.

Arguments

<CONFIG>

Launches with the specified configurations

Configured in either:

  • .hemtt/project.toml under hemtt.launch
  • .hemtt/launch.toml

-e, --executable <EXECUTABLE>

Executable to launch, defaults to arma3_x64.exe

Overrides the executable option in the configuration file.

Can be either a relative path to the Arma 3 directory, or an absolute path.

-e arma3profiling_x64 # Relative to the Arma 3 directory
-e "C:\Program Files\Steam\steamapps\common\Arma 3\arma3_x64.exe" # Absolute path

<PASSTHROUGH>

Passthrough additional arguments to Arma 3

Any options after -- will be passed to the Arma 3 executable. This is useful for passing additional Startup Parameters.

hemtt launch -- -world=empty -window

-i, --instances <INSTANCES>

Launches multiple instances of the game

If unspecified, it will default to 1.

-Q, --quick

Skips the build step, launching the last built version

Will throw an error if no build has been made, or no symlink exists.

-F, --no-filepatching

Disables file patching

-b, --binarize

Use BI's binarize on supported files

By default, hemtt dev will not binarize any files, but rather pack them as-is. Binarization is often not needed for development.

-o, --optional <OPTIONAL>

Include an optional addon folder

This can be used multiple times to include multiple optional addons.

hemtt dev -o caramel -o chocolate

-O, --all-optionals

Include all optional addon folders

--no-rap

Do not rapify (cpp, rvmat)

They will be copied directly into the PBO, not .bin version is created.