CommandLineOptions.wiki
changeset 734 63cad3d4a62b
parent 733 5e67a58c1361
child 735 f749a4528835
equal deleted inserted replaced
733:5e67a58c1361 734:63cad3d4a62b
     4 *Table of Contents*
     4 *Table of Contents*
     5 <wiki:toc max_depth="2" />
     5 <wiki:toc max_depth="2" />
     6 
     6 
     7 ----
     7 ----
     8 
     8 
     9 = Engine =
       
    10 
       
    11 It is possible to start a replay or save file directly from the terminal issuing the standalone {{{hwengine}}} utility with very simple syntax. 
       
    12 
       
    13 == Standard Use ==
       
    14 {{{$ hwengine [options] <path to replay file>}}}
       
    15 
       
    16 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 option. See below for even more commands.
       
    17 
       
    18 The replay file can be stored anywhere. Note that, as always, engine can only load replay files generated from the same Hedgewars version.
       
    19 
       
    20 == Advanced Use ==
       
    21 It is possible to specify almost any settings by adding additional arguments:
       
    22 
       
    23   * {{{--prefix [path to Hedgewars data folder]}}} - Sets the path to the system game data folder
       
    24   * {{{--user-prefix [path to custom Hedgewars folder]}}} - Sets the path to the custom data folder to find game content
       
    25   * {{{--locale [language file]}}} - Sets the game language (en.txt for sample)
       
    26   * {{{--nick [string]}}} - Represents the user nickname
       
    27   * {{{--width [size]}}} - Starts the game with the given width (in pixels)
       
    28   * {{{--height [size]}}} - Starts the game with the given height (in pixels)
       
    29   * {{{--volume [level]}}} - Sets the volume level, possible values range from 0-100 (negative is muted)
       
    30   * {{{--nomusic}}} - Disables music
       
    31   * {{{--nosound}}} - Disables sound effects
       
    32   * {{{--fullscreen}}} - Starts game in fullscreen
       
    33   * {{{--showfps}}} - Shows a fps counter in the top right
       
    34   * {{{--altdmg}}} - Uses an alternative damage indicator
       
    35   * {{{--low-quality}}} - Lowers the game quality
       
    36   * {{{--stereo [type]}}} - Sets stereoscopic rendering type (1 to 14)
       
    37   * {{{--help}}} - Shows this list of command line options
       
    38 
       
    39 === More Advanced use ===
       
    40 Generally you don't need to set these options but here they are for full documentation:
       
    41 
       
    42   * {{{--frame-interval [interval]}}} - Sets minimum interval (in ms) between each frame. Eg, 40 would make the game run at most 25 fps
       
    43   * {{{--raw-quality [flags]}}} - (For advanced users only). Manually specifies the reduced quality flags, see below. 
       
    44   * {{{--stats-only}}} - Outputs the round information without launching the game, useful for statistics only
       
    45   * {{{--fullscreen-width [size]}}} - Starts the game with the given width (in pixels) when fullscreen
       
    46   * {{{--fullscreen-height [size]}}} - Starts the game with the given height (in pixels) when fullscreen
       
    47 
       
    48 Note: any modification to the command line arguments should be reflected in the autostart .desktop file, game.cpp, GameInterfaceBridge.m.
       
    49 
       
    50 --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.
       
    51 
       
    52 Personal game data is by default contained in the following directory:
       
    53 
       
    54   * _Windows_: {{{%USERPROFILE%\Hedgewars}}}
       
    55   * _Linux_: {{{~/.hedgewars}}}
       
    56   * _Mac OS X_: {{{~/Library/Application Support/Hedgewars}}}
       
    57 
       
    58 --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://hg.hedgewars.org/hedgewars/file/default/hedgewars/uConsts.pas#l62 uConsts.pas]
       
    59 
       
    60   * {{{qLowRes        = 1}}}
       
    61   * {{{rqBlurryLand   = 2}}}
       
    62   * {{{rqNoBackground = 4}}}
       
    63   * {{{rqSimpleRope   = 8}}}
       
    64   * {{{rq2DWater      = 16}}}
       
    65   * {{{rqAntiBoom     = 32}}}
       
    66   * {{{rqKillFlakes   = 64}}}
       
    67   * {{{rqSlowMenu     = 128}}}
       
    68   * {{{rqPlainSplash  = 256}}}
       
    69   * {{{rqClampLess    = 512}}}
       
    70   * {{{rqTooltipsOff  = 1024}}}
       
    71   * {{{rqDesyncVBlank = 2048}}}
       
    72 
       
    73 Eg: to have blurry land and simple rope, you would use the number 10 (2+8)
       
    74 
       
    75 There are some internal commands, such as --internal, --port [int], that are not meant for command line usage.
       
    76 
       
    77 If you want to get your hands dirty and see how the engine interprets commands, you can check out the source code.
       
    78 [http://hg.hedgewars.org/hedgewars/file/default/hedgewars/ArgParsers.inc ArgParsers.inc]
       
    79 
       
    80 ----
       
    81 
       
    82 = Frontend =
     9 = Frontend =
       
    10 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).
    83 
    11 
    84 Symtax: `hedgewars [OPTION …] [CONNECTSTRING]`
    12 Symtax: `hedgewars [OPTION …] [CONNECTSTRING]`
    85 
    13 
    86 All command-line arguments are optional. When invoked without any command-line arguments, Hedgewars will start normally with standard directory locations.
    14 All command-line arguments are optional. When invoked without any command-line arguments, the Hedgewars frontend will start normally with standard directory locations.
    87 
    15 
    88 `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:
    16 `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:
    89 
    17 
    90   * {{{--data-dir=[path containing 'hedgewars/Data']}}}: Data directory
    18   * {{{--data-dir=[path containing 'hedgewars/Data']}}}: Data directory
    91   * {{{--config-dir=[path containing 'Demos' 'Saves' etc.]}}}: Configuration directory
    19   * {{{--config-dir=[path containing 'Demos' 'Saves' etc.]}}}: Configuration directory
   109 $ /usr/bin/hedgewars hwplay://example.org
    37 $ /usr/bin/hedgewars hwplay://example.org
   110 }}}
    38 }}}
   111 
    39 
   112 Makes Hedgewars join an alternative server `example.org` on start.
    40 Makes Hedgewars join an alternative server `example.org` on start.
   113 
    41 
       
    42 = Engine =
       
    43 The engine is the program which runs the actual game.
       
    44 
       
    45 It is possible to start a replay or save file directly from the console issuing the standalone {{{hwengine}}} utility with a very simple syntax. 
       
    46 
       
    47 == Standard usage ==
       
    48 {{{hwengine [options] <path to replay file>}}}
       
    49 
       
    50 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.
       
    51 
       
    52 The replay file can be stored anywhere. Note that, as always, engine can only load replay files generated from the same Hedgewars version.
       
    53 
       
    54 == Advanced usage ==
       
    55 It is possible to specify almost any settings by adding additional arguments:
       
    56 
       
    57   * {{{--prefix [path to Hedgewars data folder]}}} - Sets the path to the system game data folder
       
    58   * {{{--user-prefix [path to custom Hedgewars folder]}}} - Sets the path to the custom data folder to find game content
       
    59   * {{{--locale [language file]}}} - Sets the game language (en.txt for sample)
       
    60   * {{{--nick [string]}}} - Represents the user nickname
       
    61   * {{{--width [size]}}} - Starts the game with the given width (in pixels)
       
    62   * {{{--height [size]}}} - Starts the game with the given height (in pixels)
       
    63   * {{{--volume [level]}}} - Sets the volume level, possible values range from 0-100 (negative is muted)
       
    64   * {{{--nomusic}}} - Disables music
       
    65   * {{{--nosound}}} - Disables sound effects
       
    66   * {{{--fullscreen}}} - Starts game in fullscreen
       
    67   * {{{--showfps}}} - Shows a fps counter in the top right
       
    68   * {{{--altdmg}}} - Uses an alternative damage indicator
       
    69   * {{{--low-quality}}} - Lowers the game quality
       
    70   * {{{--stereo [type]}}} - Sets stereoscopic rendering type (1 to 14)
       
    71   * {{{--help}}} - Shows a list of command line options and exits the program directly after
       
    72 
       
    73 === More advanced usage ===
       
    74 Generally you don't need to set these options but here they are for full documentation:
       
    75 
       
    76   * {{{--frame-interval [interval]}}} - Sets minimum interval (in ms) between each frame. Eg, 40 would make the game run at most 25 fps
       
    77   * {{{--raw-quality [flags]}}} - (For advanced users only). Manually specifies the reduced quality flags, see below. 
       
    78   * {{{--stats-only}}} - Outputs the round information without launching the game, useful for statistics only
       
    79   * {{{--fullscreen-width [size]}}} - Starts the game with the given width (in pixels) when fullscreen
       
    80   * {{{--fullscreen-height [size]}}} - Starts the game with the given height (in pixels) when fullscreen
       
    81 
       
    82 Note: any modification to the command line arguments should be reflected in the autostart `.desktop` file, `game.cpp`, `GameInterfaceBridge.m`.
       
    83 
       
    84 `--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`.
       
    85 
       
    86 Personal game data is by default contained in one of the following directories:
       
    87 
       
    88   * _Windows_: {{{%USERPROFILE%\Hedgewars}}}
       
    89   * _GNU/Linux_: {{{~/.hedgewars}}}
       
    90   * _Mac OS X_: {{{~/Library/Application Support/Hedgewars}}}
       
    91 
       
    92 `--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: [http://hg.hedgewars.org/hedgewars/file/default/hedgewars/uConsts.pas#l62 uConsts.pas]
       
    93 
       
    94   * {{{qLowRes        = 1}}}
       
    95   * {{{rqBlurryLand   = 2}}}
       
    96   * {{{rqNoBackground = 4}}}
       
    97   * {{{rqSimpleRope   = 8}}}
       
    98   * {{{rq2DWater      = 16}}}
       
    99   * {{{rqAntiBoom     = 32}}}
       
   100   * {{{rqKillFlakes   = 64}}}
       
   101   * {{{rqSlowMenu     = 128}}}
       
   102   * {{{rqPlainSplash  = 256}}}
       
   103   * {{{rqClampLess    = 512}}}
       
   104   * {{{rqTooltipsOff  = 1024}}}
       
   105   * {{{rqDesyncVBlank = 2048}}}
       
   106 
       
   107 E.g., to have blurry land and simple rope, you would use the number 10 (2+8).
       
   108 
       
   109 There are some internal commands, such as `--internal`, `--port [int]`, that are not meant for command-line usage.
       
   110 
       
   111 If you want to get your hands dirty and see how the engine interprets commands, you can check out the source code:
       
   112 [http://hg.hedgewars.org/hedgewars/file/default/hedgewars/ArgParsers.inc ArgParsers.inc]
       
   113 
   114 ----
   114 ----
   115 
   115 
   116 = Server =
   116 = Server =
   117 
   117 
   118 Server can be configured to run on non standard port or to run as separate process.
   118 The server can be configured to run on non standard port or to run as separate process.
   119 
   119 
   120   * {{{--port=PORT}}} - Server listens on PORT (-p)
   120   * {{{--port=PORT}}} or {{{-p PORT}}}: Server listens on `PORT`
   121   * {{{--dedicated=BOOL}}} - Spawn a separate process (-d)
   121   * {{{--dedicated=BOOL}}} or {{{-d BOOL}}}: Spawn a separate process (`BOOL` is either “True” or “False”)
       
   122   * {{{--help}}}: Shows a short text explaining the command-line arguments and exists the program thereafter.