Next: Script hooks, Previous: Map style.xml, Up: Reference

### 4.12 Advanced settings

#### 4.12.1 audit

— Command-line option: `--audit`
— Environment variable: `LW6_AUDIT`

> Display all path values, defaults and current settings. This output is very usefull to track down problems such as missing directories, broken installations. If you get an error message that suggests some file is missing, then give this option a try.

#### 4.12.2 bench

— Command-line option: `--bench`
— Environment variable: `LW6_BENCH`

> Runs a benchmarking test which will report an approximative performance estimation of the game on your computer.

#### 4.12.3 bot-iq

— Command-line option: `--bot-iq=<value>`
— Environment variable: `LW6_BOT_IQ`
— XML key: `bot-iq`

> Type: integer.

> Default value: 100. Min value: 0. Max value: 200.

> The IQ (intelligence quotient) of bots. Typically, a value of 100 will make the bot behave normally, performing at its best. A value of 0 will just make it act the worst way it can. Values over 100 probably won't change anything compared to 100, but this truely depends on which bot backend you're running.

#### 4.12.4 bot-speed

— Command-line option: `--bot-speed=<value>`
— Environment variable: `LW6_BOT_SPEED`
— XML key: `bot-speed`

> Type: float.

> Default value: 1.0.

> The speed of bots, 1 means normal speed, higher value will speed it up, lower will slow it down. Note that this only has an impact on bot engines, not on the game speed itself.

#### 4.12.5 commands-per-sec

— Command-line option: `--commands-per-sec=<value>`
— Environment variable: `LW6_COMMANDS_PER_SEC`
— XML key: `commands-per-sec`

> Type: integer.

> Default value: 5.

> Defines the number of commands per second. When a command is generated, orders are actually sent to the game engine, for instance, 'this cursor moved there'. So this option will affect game responsiveness, setting this to a high value will make the game more responsive but consume bandwidth on network games.

#### 4.12.6 debug-layer-id

— Command-line option: `--debug-layer-id=<value>`
— Environment variable: `LW6_DEBUG_LAYER_ID`
— XML key: `debug-layer-id`

> Type: integer.

> Default value: 0. Min value: 0. Max value: 6.

> A team id which will be used for debugging purposes, for instance when displaying gradient.

#### 4.12.7 debug-team-id

— Command-line option: `--debug-team-id=<value>`
— Environment variable: `LW6_DEBUG_TEAM_ID`
— XML key: `debug-team-id`

> Type: integer.

> Default value: 0. Min value: 0. Max value: 9.

> A team id which will be used for debugging purposes, for instance when displaying gradient.

#### 4.12.8 demo

— Command-line option: `--demo`
— Environment variable: `LW6_DEMO`

> Start the game in demo mode. 2 bots play against each other forever.

#### 4.12.9 dirty-read

— Command-line option: `--dirty-read=<value>`
— Environment variable: `LW6_DIRTY_READ`
— XML key: `dirty-read`

> Type: integer.

> Default value: 2. Min value: 0. Max value: 2.

> How to handle dirty reads and locks when displaying stuff. If set to 0, there will be no dirty reads at all, a lock (mutex) will be set whenever it's needed. If set to 1, display might be done with inconsistent data, however the data itself won't be modified while displaying. If set to 2, displayed data can (and will) be modified while the rendering thread is running.

#### 4.12.10 display-background

— Command-line option: `--display-background=<value>`
— Environment variable: `LW6_DISPLAY_BACKGROUND`
— XML key: `display-background`

> Type: boolean.

> Default value: true.

> Decides wether the background animation/image should be displayed at all.

#### 4.12.11 display-console

— Command-line option: `--display-console=<value>`
— Environment variable: `LW6_DISPLAY_CONSOLE`
— XML key: `display-console`

> Type: boolean.

> Default value: false.

> Defines wether the interactive system console must be displayed. Note that console support must have been enabled at compilation time. It might not be available on your computer, for instance if you are running a system such as Microsoft Windows.

#### 4.12.12 display-cursors

— Command-line option: `--display-cursors=<value>`
— Environment variable: `LW6_DISPLAY_CURSORS`
— XML key: `display-cursors`

> Type: boolean.

> Default value: true.

> Debugging option which can be set to 'false' to disable the display of cursors when playing.

#### 4.12.13 display-debug-gradient

— Command-line option: `--display-debug-gradient=<value>`
— Environment variable: `LW6_DISPLAY_DEBUG_GRADIENT`
— XML key: `display-debug-gradient`

> Type: boolean.

> Default value: false.

> Set this to 'true' to display the gradient, this is usefull to debug the core algorithm or understand how it works.

#### 4.12.14 display-debug-zones

— Command-line option: `--display-debug-zones=<value>`
— Environment variable: `LW6_DISPLAY_DEBUG_ZONES`
— XML key: `display-debug-zones`

> Type: boolean.

> Default value: false.

> Set this to 'true' to display the zones, this is usefull to debug the core algorithm or understand how it works.

#### 4.12.15 display-fighters

— Command-line option: `--display-fighters=<value>`
— Environment variable: `LW6_DISPLAY_FIGHTERS`
— XML key: `display-fighters`

> Type: boolean.

> Default value: true.

> Debugging option which can be set to 'false' to disable the display of fighters when playing.

#### 4.12.16 display-fps

— Command-line option: `--display-fps=<value>`
— Environment variable: `LW6_DISPLAY_FPS`
— XML key: `display-fps`

> Type: boolean.

> Default value: false.

> Set this to 'true' to display the number of frames per second. When this gets too low... play a smaller map, buy a new computer or contribute and hack Liquid War 6 so that it runs faster!

#### 4.12.17 display-hud

— Command-line option: `--display-hud=<value>`
— Environment variable: `LW6_DISPLAY_HUD`
— XML key: `display-hud`

> Type: boolean.

> Default value: true.

> Decides wether the hud (informations while playing) should be displayed.

#### 4.12.18 display-log

— Command-line option: `--display-log=<value>`
— Environment variable: `LW6_DISPLAY_LOG`
— XML key: `display-log`

> Type: boolean.

> Default value: true.

> Set this to 'false' to disable the display of error messages on the screen. Mote that you can miss valuable informations.

#### 4.12.19 display-map

— Command-line option: `--display-map=<value>`
— Environment variable: `LW6_DISPLAY_MAP`
— XML key: `display-map`

> Type: boolean.

> Default value: true.

> Debugging option which can be set to 'false' to disable map (level) display when playing.

#### 4.12.20 display-menu

— Command-line option: `--display-menu=<value>`
— Environment variable: `LW6_DISPLAY_MENU`
— XML key: `display-menu`

> Type: boolean.

> Default value: true.

> Debugging option which can be set to 'false' to disable the display of menus.

#### 4.12.21 display-mouse

— Command-line option: `--display-mouse=<value>`
— Environment variable: `LW6_DISPLAY_MOUSE`
— XML key: `display-mouse`

> Type: boolean.

> Default value: true.

> Set this to 'false' to always hide the mouse pointer.

#### 4.12.22 display-preview

— Command-line option: `--display-preview=<value>`
— Environment variable: `LW6_DISPLAY_PREVIEW`
— XML key: `display-preview`

> Type: boolean.

> Default value: true.

> Decides wether a map preview should be displayed when choosing a level.

#### 4.12.23 display-progress

— Command-line option: `--display-progress=<value>`
— Environment variable: `LW6_DISPLAY_PROGRESS`
— XML key: `display-progress`

> Type: boolean.

> Default value: true.

> Decides wether a progress bar should be displayed when a long operation is realized as a background task.

#### 4.12.24 display-rps

— Command-line option: `--display-rps=<value>`
— Environment variable: `LW6_DISPLAY_RPS`
— XML key: `display-rps`

> Type: boolean.

> Default value: false.

> Set this to 'true' to display the number of rounds per second. In theory the game should maintain this constant but in practise it can get low if your computer is too slow or too busy.

#### 4.12.25 display-score

— Command-line option: `--display-score=<value>`
— Environment variable: `LW6_DISPLAY_SCORE`
— XML key: `display-score`

> Type: boolean.

> Default value: true.

> Decides wether the score screen should be displayed.

#### 4.12.26 display-splash

— Command-line option: `--display-splash=<value>`
— Environment variable: `LW6_DISPLAY_SPLASH`
— XML key: `display-splash`

> Type: boolean.

> Default value: true.

> Set this to 'false' to disable the display of the splash screen at game startup.

#### 4.12.27 gfx-cpu-usage

— Command-line option: `--gfx-cpu-usage=<value>`
— Environment variable: `LW6_GFX_CPU_USAGE`
— XML key: `gfx-cpu-usage`

> Type: float.

> Default value: 0.75. Min value: 0. Max value: 1.

> Percentage of the CPU which will be used by the display thread. It's wise to leave some time to other threads to execute. The OS does it naturally, but setting this helps the whole process by explicitely pausing (sleep call) the display thread. You could change this to a low value if you have lagging games but smooth display.

#### 4.12.28 io-per-sec

— Command-line option: `--io-per-sec=<value>`
— Environment variable: `LW6_IO_PER_SEC`
— XML key: `io-per-sec`

> Type: integer.

> Default value: 15.

> Defines the number of calls to input/output functions per second. This can affect speed of menus but also cursors, but won't change the speed of the game itself. It's a cosmectic, comfort option.

#### 4.12.29 loader-sleep

— Command-line option: `--loader-sleep=<value>`
— Environment variable: `LW6_LOADER_SLEEP`
— XML key: `loader-sleep`

> Type: float.

> Default value: 0.5.

> Defines how long the loader thread should wait between two polls. Default value should fit in most cases.

#### 4.12.30 log-level

— Command-line option: `--log-level=<value>`
— Environment variable: `LW6_LOG_LEVEL`
— XML key: `log-level`

> Type: integer.

> Default value: 3. Min value: 0. Max value: 4.

> Defines the log level, that is, how verbose the program will be regarding logs and console output. 0 (ERROR) is the minimum, only errors are reported. 1 (WARNING) means errors + warnings. 2 (NOTICE) displays most important messages. 3 (INFO) is the default, the log file will contain all messages but debug stuff. 4 (DEBUG) logs everything, including debug informations.

#### 4.12.31 log-timeout

— Command-line option: `--log-timeout=<value>`
— Environment variable: `LW6_LOG_TIMEOUT`
— XML key: `log-timeout`

> Type: integer.

> Default value: 5000.

> Delay, in msec, for which a log message will stay displayed on the screen.

#### 4.12.32 memory-bazooka-eraser

— Command-line option: `--memory-bazooka-eraser=<value>`
— Environment variable: `LW6_MEMORY_BAZOOKA_ERASER`
— XML key: `memory-bazooka-eraser`

> Type: boolean.

> Default value: true.

> The memory eraser is a tool which will systematically fill allocated memory with 'M', and overwrite all allocated bytes with 'F' before freeing memory. It will even handle realloc calls. This is usefull to track bugs. Indeed, with this option enabled, freshly allocated memory will never contain zeroes unless one calls calloc, and if you ever free some memory zone before being done with it, it will be filled with junk and therefore not be usable. The memory bazooka must be big enough if you want this feature to actually work.

#### 4.12.33 memory-bazooka-size

— Command-line option: `--memory-bazooka-size=<value>`
— Environment variable: `LW6_MEMORY_BAZOOKA_SIZE`
— XML key: `memory-bazooka-size`

> Type: integer.

> Default value: 100000.

> The memory bazooka is a brute-force tool, conceived after a full night spent tracking some memory leak. The idea is to keep a track of all allocated pointers, when the data was allocated (timestamp), where in the code (file, line), and even point out what data there is in that place. A memory bazooka report at the end of the game will just show what's left. There should be nothing. This parameter is here to avoid wasting CPU cycles on a feature which is very debug-oriented and does not really make sense for the casual user. Set it to 0 for best performance, something like 100 might just be helpfull, but 1000000 is the right way to seriously debug code.

#### 4.12.34 modules

— Command-line option: `--modules`
— Environment variable: `LW6_MODULES`

> Tells which modules have been enabled when the game was compiled. It's still possible to add or remove modules afterwards, but this option allows you to know how things were at first.

#### 4.12.35 pedigree

— Command-line option: `--pedigree`
— Environment variable: `LW6_PEDIGREE`

> Display all build values, these are general constants which can help debugging, tracing what binary you are running, and so on. It's a good idea to take a look at the output of 'pedigree' if you have problems running the game.

#### 4.12.36 pilot-lag

— Command-line option: `--pilot-lag=<value>`
— Environment variable: `LW6_PILOT_LAG`
— XML key: `pilot-lag`

> Type: integer.

> Default value: 10.

> Maximum lag, in rounds, until the game engine is slowed down. This will typically be usefull if your computer is too slow for the map resolution and the game speed you set up.

#### 4.12.37 quick-start

— Command-line option: `--quick-start`
— Environment variable: `LW6_QUICK_START`

> Start the game just like if the player had requested a quick start, without showing any menu.

#### 4.12.38 reset

— Command-line option: `--reset`
— Environment variable: `LW6_RESET`

> Clears the config file so that the game will run with defaults next time. The idea is to get rid of traces of previous executions. The difference with '–defaults' is that '–reset' does not run the game, while '–defaults' does.

#### 4.12.39 server

— Command-line option: `--server`
— Environment variable: `LW6_SERVER`

> Start the game in server mode, without requiring any graphics backend.

#### 4.12.40 target

— Command-line option: `--target`
— Environment variable: `LW6_TARGET`

> Display all known system target properties, including os and cpu informations.

#### 4.12.41 target-fps

— Command-line option: `--target-fps=<value>`
— Environment variable: `LW6_TARGET_FPS`
— XML key: `target-fps`

> Type: integer.

> Default value: 60.

> Defines how many frames will be displayed per second. Of course this is a maximum value, if your hardware can't keep up with this value, display will just be slow, no matter what value you define here. Note that you might really wish to have something rather low here, to keep network and 'logic' function responsiveness. Passed 60 frames per second, speed is really only for visual comfort, as Liquid War 6 is now so fast-paced that it requires 200 frames/sec to outperform opponents.