CommandLineOptions.wiki
author Smasher816@gmail.com
Mon, 17 Dec 2012 00:14:18 +0000
changeset 277 718cb9d18147
parent 276 5d525c4b0130
child 290 b681434f3ef9
permissions -rw-r--r--
Edited wiki page CommandLineOptions through web user interface.

#labels Documentation,Engine,Frontend
The basic parameters to pass to the Hedgewars frontend and engine control the location of the game data, configuration files and saves.

= Frontend =

There are two options that enable to load the data directory and the configuration directory in non standard locations.

  * {{{--data-dir=[path containing 'hedgewars/Data']}}}
  * {{{--config-dir=[path containing 'Demos' 'Saves' etc.]}}}

You can set up both on the command line. The program exits if either of the folders is not correct; quotes are optional, but needed if your path contains spaces

_Example_ 
{{{
$ /usr/bin/hedgewars --data-dir="/opt/local/share/" --config-dir=".hedgewars/tesing config/"
}}}

= Engine =

It is possible to start a replay or save file directly from the terminal issuing the standalone {{{hwengine}}} utility with very simple syntax. 

== Standard Use ==
{{{$ hwengine <path to replay file> [options]}}}

By default hwengine will look in the current folder for game assets, if you wish to use another directory you should set the --prefix option.

The replay file can be stored anywhere.

== Advanced Use ==
It is possible to specify settings by adding additional arguments:

  * {{{--prefix [path to hedgewars folder]}}} - Sets the path to game folder
  * {{{--user-prefix [path to hedgewars folder]}}} - Sets a secondary folder to find game content
  * {{{--locale [path to language file]}}} - Sets the game language
  * {{{--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)
  * {{{--frame-interval [interval]}}} - Sets minimum timer interval between each frame in milliseconds. Ex: 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. 
  * {{{--nomusic}}} - Disables music
  * {{{--nosound}}} - Disables sound
  * {{{--fullscreen}}} - Starts in fullscreen
  * {{{--showfps}}} - Shows a fps counter in the top right
  * {{{--altdmg}}} - Uses an alternative damage indicator
  * {{{--low-quality}}} - Lowers the game quality
  * {{{--stats-only}}} - Outputs the round information without launching the game
  * {{{--help}}} - Shows this list of command line options

Note: any modification to the command line arguments should be reflected in the autostart .desktop file.

== Deprecated Options ==

These options are outdated and may be removed in the future, please use the above options:

  * {{{--depth [color depth]}}}
  * {{{--set-video [screen width] [screen height] [color dept]}}}
  * {{{--set-audio [volume] [enable music] [enable sounds]}}}
  * {{{--set-other [language file] [full screen] [show FPS]}}}
  * {{{--set-multimedia [screen height] [screen width] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen]}}}
  * {{{--set-everything [screen height] [screen width] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen] [show FPS] [alternate damage] [timer value] [reduced quality]}}}

== Advanced Option Explanations ==

--prefix and --user-prefix should refer to an installation folder where the game content can be found (DATA_INSTALL_DIR cmake flag).

Personal game data is by default contained in the following directory:

  * _Windows_: {{{%USERPROFILE%\Hedgewars}}}
  * _Linux_: {{{~/.hedgewars}}}
  * _Mac OS X_: {{{~/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 hex) are online. [http://code.google.com/p/hedgewars/source/browse/hedgewars/uConsts.pas#62 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}}}

Ex: to have blurry land and simple rope, you would use the number 10 (2+8)

If you want to get your hands dirty and see how the engine interprets commands, you can check out the source code.
[http://code.google.com/p/hedgewars/source/browse/hedgewars/ArgParsers.inc ArgParsers.inc]

== Some examples ==
let's see some *GOOD* examples

{{{
$ hwengine installpath/hedgewars/Data anywhere/replay.hwd
$ hwengine pathtohedgewars/ installpath/hedgewars/Data anywhere/replay.hwd --width 1024 --height 768
$ hwengine installpath/hedgewars/Data anywhere/replay.hwd --nosound
}}}

and some *BAD* examples

{{{
$ hwengine anywhere/replay.hwd
$ hwengine installpath/hedgewars/Data anywhere/replay.hwd --set-video 1024 768
$ hwengine installpath/hedgewars/Data anywhere/replay.hwd --nosound 1
}}}