Command-line options
Frontend
The frontend in Hedgewars refers to the main and all the other menus before an actual game has started. It does
not refer to the part where the actual game takes place (see “Engine” for this).
Symtax:
hedgewars [OPTION …] [CONNECTSTRING]
All command-line arguments are optional. When invoked without any command-line arguments, the Hedgewars frontend will start normally with standard directory locations.
OPTION
is a sequence of one or more options (seperated by spaces. There are options that enable to load the data directory and the configuration directory in non-standard locations. The following options are available:
-
--data-dir=[path containing 'hedgewars/Data']
: Data directory
-
--config-dir=[path containing 'Demos' 'Saves' etc.]
: Configuration directory
-
--help:
: Display help about command-line arguments and exit the program thereafter
The program exits if either one of the folders is not correct; quotes are optional, but needed if your path contains spaces.
Specify
CONNECTSTRING
if you want Hedgewars to join a server and possibly even a room on start. This must be a
hwplay
URL (see HWPlaySchemeSyntax to learn more about this).
Examples
This is an example on GNU/Linux on a shell (the dollar sign is not part of the input):
$ /usr/bin/hedgewars --data-dir="/opt/local/share/" --config-dir=".hedgewars/tesing config/"
This starts Hedgewars with the data directory
/opt/local/share/
and the configuration directory
.hedgewars/testing config/
(relative to the current working directory).
Another example:
$ /usr/bin/hedgewars hwplay://example.org
Makes Hedgewars join an alternative server
example.org
on start.
Engine
The engine is the program which runs the actual game.
It is possible to start a replay or save file directly from the console issuing the standalone
hwengine
utility with a very simple syntax.
Standard usage
hwengine [options] <path to replay file>
By default,
hwengine
will look in the current folder for game assets, if you wish to use another directory you should set the
--prefix
and
--user-prefix
options. See below for even more commands.
The replay file can be stored anywhere. Note that, as always, engine can only load replay files generated from the same Hedgewars version.
Advanced usage
It is possible to specify almost any settings by adding additional arguments:
-
--prefix [path to Hedgewars data folder]
- Sets the path to the system game data folder
-
--user-prefix [path to custom Hedgewars folder]
- Sets the path to the custom data folder to find game content
-
--locale [language file]
- Sets the game language (en.txt for sample)
-
--nick [string]
- Represents the user nickname
-
--width [size]
- Starts the game with the given width (in pixels)
-
--height [size]
- Starts the game with the given height (in pixels)
-
--volume [level]
- Sets the volume level, possible values range from 0-100 (negative is muted)
-
--nomusic
- Disables music
-
--nosound
- Disables sound effects
-
--fullscreen
- Starts game in fullscreen
-
--showfps
- Shows a fps counter in the top right
-
--altdmg
- Uses an alternative damage indicator
-
--low-quality
- Lowers the game quality
-
--stereo [type]
- Sets stereoscopic rendering type (1 to 14)
-
--help
- Shows a list of command line options and exits the program directly after
More advanced usage
Generally you don't need to set these options but here they are for full documentation:
-
--frame-interval [interval]
- Sets minimum interval (in ms) between each frame. Eg, 40 would make the game run at most 25 fps
-
--raw-quality [flags]
- (For advanced users only). Manually specifies the reduced quality flags, see below.
-
--stats-only
- Outputs the round information without launching the game, useful for statistics only
-
--fullscreen-width [size]
- Starts the game with the given width (in pixels) when fullscreen
-
--fullscreen-height [size]
- Starts the game with the given height (in pixels) when fullscreen
Note: any modification to the command line arguments should be reflected in the autostart
.desktop
file,
game.cpp
,
GameInterfaceBridge.m
.
--prefix location
is usually hardcoded at compile time, but should you changed the installation directory, then you can use this flag to override it; alternatively you can just specify
--user-prefix
.
Personal game data is by default contained in one of the following directories:
- Windows:
%USERPROFILE%\Hedgewars
- GNU/Linux:
~/.hedgewars
- macOS:
~/Library/Application Support/Hedgewars
--raw-quality value
is determined by combining the values of the flags you wish to enable. Up-to-date variables (in hexadecimal) are online here: uConsts.pas
-
qLowRes = 1
-
rqBlurryLand = 2
-
rqNoBackground = 4
-
rqSimpleRope = 8
-
rq2DWater = 16
-
rqAntiBoom = 32
-
rqKillFlakes = 64
-
rqSlowMenu = 128
-
rqPlainSplash = 256
-
rqClampLess = 512
-
rqTooltipsOff = 1024
-
rqDesyncVBlank = 2048
E.g., to have blurry land and simple rope, you would use the number 10 (2+8).
There are some internal commands, such as
--internal
,
--port [int]
, that are not meant for command-line usage.
If you want to get your hands dirty and see how the engine interprets commands, you can check out the source code:
ArgParsers.inc
Server
The server can be configured to run on non standard port or to run as separate process.
-
--port=PORT
or
-p PORT
: Server listens on
PORT
-
--dedicated=BOOL
or
-d BOOL
: Spawn a separate process (
BOOL
is either “True” or “False”)
-
--help
: Shows a short text explaining the command-line arguments and exists the program thereafter.