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


4.11 Advanced settings

4.11.1 checkpoint-period

— Command-line option: --checkpoint-period=<value>
— Environment variable: LW6_CHECKPOINT_PERIOD
— XML key: checkpoint-period

Defines with what period (in msec) system values such as frames per sec, network traffic, and others, will be updated. Default value should fit in most cases.

4.11.2 loader-sleep

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

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

4.11.3 log-level

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

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.11.4 max-frames-per-sec

— Command-line option: --max-frames-per-sec=<value>
— Environment variable: LW6_MAX_FRAMES_PER_SEC
— XML key: max-frames-per-sec

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.

4.11.5 max-io-per-display

— Command-line option: --max-io-per-display=<value>
— Environment variable: LW6_MAX_IO_PER_DISPLAY
— XML key: max-io-per-display

Like 'max-logic-per-display', but input/output related. If too much time is spent on IO stuff, the game will simply drop out and stop processing IO, giving priority to display. Logically, when display is fast, about one IO per display is just enough.

4.11.6 max-io-per-sec

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

Defines how many calls to the internal input/output function there will be during a second. Might condition network responsiveness. Default value should fit in most cases.

4.11.7 max-logic-per-display

— Command-line option: --max-logic-per-display=<value>
— Environment variable: LW6_MAX_LOGIC_PER_DISPLAY
— XML key: max-logic-per-display

This is a limit value which will avoid, on slow machines, to spend all the CPU cycles to calculate internal things, and display nothing. While it's important to keep up with other network players for instance, it makes no sense to do it for a long period without showing anything. Thus, this value. Basically, it only helps not being locked-out in an 'I can't quit' nightmare when running fullscreen on a slow machine.

4.11.8 max-logic-per-sec

— Command-line option: --max-logic-per-sec=<value>
— Environment variable: LW6_MAX_LOGIC_PER_SEC
— XML key: max-logic-per-sec

Defines how many calls to the internal logic() function there will be during a second. This is really an internal value, the actual speed of the game, that is, how fast fighters will move, is defined elsewhere in the map parameters. See 'moves-per-tick' for instance. Default value should fit in most cases.

4.11.9 memory-bazooka-eraser

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

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 bazzooka must be big enough if you want this feature to actually work.

4.11.10 memory-bazooka-size

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

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.