Update cvar documentation.

* Explain command line arguments.
* Document busywait and datadir.
* Distinguish between all renderers and all GL renders.
This commit is contained in:
Yamagi Burmeister 2018-02-14 08:42:47 +01:00
parent 278ff83ad4
commit fe6e147c2b
1 changed files with 52 additions and 18 deletions

View File

@ -3,18 +3,48 @@ Yamagi Quake II Console Variables
This lists explains most console variables (cvars) added by Yamagi This lists explains most console variables (cvars) added by Yamagi
Quake II. Most of the original clients (Vanilla Quake II) cvars are Quake II. Most of the original clients (Vanilla Quake II) cvars are
still in place, however the `r_*` renderer cvars have been renamed still in place, however due to architectural changes some of them
to `gl_*` and there are cvars specific to the OpenGL3.2 renderer that have been renamed. The prefixes are:
start with `gl3_`.
Please note: There's normally no need to change any cvar! Use the menu instead. * No prefix: General stuff.
* `cl_`: Client.
* `gl_`: Common to all OpenGL renderers.
* `gl1_`: OpenGL 1.4 renderer.
* `gl3_`: OpenGL 3.2 renderer.
* `ogg_`: Ogg/Vorbis music playback.
* `r_`: All renderers.
* `s_`: Sound system.
* `vid_`: Video backend.
Command line arguments
----------------------
These are not console variables, they cannot be entered into the
console only be given at the command line at startup. While cvars
are prefixed with a `+` arguments are starting with a `-`. For
example it's `+set busywait 0` (setting the `busywait` cvar) and
`-portable` (setting the `portable` argument).
* **datadir**: Directory from which the game data is loaded. Can be used
in startup scripts, to test binaries, etc. If not set, the directory
containing the binaries is used.
* **portable**: Makes Quake II portable, all runtime data like the
the config, savegames and so on is stored next to the executable and
not in the users home directory.
General: General:
-------- --------
* **basedir**: Directory from which the game data is loaded. Can be used * **busywait**: By default this is set to `1`. causing Quake II to spin
in startup scripts, to test binaries, etc. If not set, the directory in a very tight loop until it's time to process the next frame. This is
containing the binaries is used. a very accurate way to determine the internal timing but comes with a
To use this cvar, set it at startup, like `./quake2 +set basedir /path/to/quake2` relatively high CPU usage. If set to `0` Quake II lays itself to sleep
and tells the operating system to send a wakeup signal when it's time
for the next frame. The later is more CPU friendly but rather inaccurate,
especially on Windows. Use with care.
* **cl_async**: If set to `1` (the default) the client is asynchronous. * **cl_async**: If set to `1` (the default) the client is asynchronous.
The client framerate is fixed, the renderer framerate is variable. The client framerate is fixed, the renderer framerate is variable.
@ -99,11 +129,6 @@ Graphics (all renderers):
(on all platforms). (on all platforms).
This is also set by the brightness slider in the video menu. This is also set by the brightness slider in the video menu.
* **gl_anisotropic**: Anisotropic filtering. Possible values are
dependent on the GPU driver, most of them support `1`, `2`, `4`, `8`
and `16`. Anisotropic filtering gives a huge improvement to texture
quality by a negligible performance impact.
* **r_consolescale** / **r_hudscale** / **r_menuscale**, **crosshair_scale**: * **r_consolescale** / **r_hudscale** / **r_menuscale**, **crosshair_scale**:
Scale the console, the HUD, the menu and the crosshair. The value given Scale the console, the HUD, the menu and the crosshair. The value given
is the scale factor, a factor of `1` means no scaling. Values greater is the scale factor, a factor of `1` means no scaling. Values greater
@ -125,6 +150,18 @@ Graphics (all renderers):
the monitor refresh rate, so if vsync is enabled, you won't get more than the monitor refresh rate, so if vsync is enabled, you won't get more than
60fps on most displays (or 120 on a 120hz display etc). 60fps on most displays (or 120 on a 120hz display etc).
* **r_vsync**: Enables the vsync: frames are synchronized with
display refresh rate, should (but doesn't always) prevent tearing.
Graphics (GL renderers only):
-----------------------------
* **gl_anisotropic**: Anisotropic filtering. Possible values are
dependent on the GPU driver, most of them support `1`, `2`, `4`, `8`
and `16`. Anisotropic filtering gives a huge improvement to texture
quality by a negligible performance impact.
* **gl_msaa_samples**: Full scene anti aliasing samples. The number of * **gl_msaa_samples**: Full scene anti aliasing samples. The number of
samples depends on the GPU driver, most drivers support at least samples depends on the GPU driver, most drivers support at least
`2`, `4` and `8` samples. If an invalid value is set, the value is `2`, `4` and `8` samples. If an invalid value is set, the value is
@ -142,14 +179,12 @@ Graphics (all renderers):
* **gl_shadows**: Enables rendering of shadows. Quake IIs shadows are * **gl_shadows**: Enables rendering of shadows. Quake IIs shadows are
very simple and are prone to render errors. very simple and are prone to render errors.
* **r_vsync**: Enables the vsync: frames are synchronized with
display refresh rate, should (but doesn't always) prevent tearing.
* **gl_zfix**: Sometimes two or even more surfaces overlap and flicker. * **gl_zfix**: Sometimes two or even more surfaces overlap and flicker.
If this cvar is set to `1` the renderer inserts a small gap between If this cvar is set to `1` the renderer inserts a small gap between
the overlapping surfaces to mitigate the flickering. This may lead to the overlapping surfaces to mitigate the flickering. This may lead to
small render errors. small render errors.
Graphics (GL1 only): Graphics (GL1 only):
-------------------- --------------------
@ -167,6 +202,7 @@ Graphics (GL1 only):
look a bit better (no flickering) by using the stencil buffer. look a bit better (no flickering) by using the stencil buffer.
(This is always done in GL3, so not configurable there) (This is always done in GL3, so not configurable there)
Graphics (GL3 only): Graphics (GL3 only):
-------------------- --------------------
@ -196,5 +232,3 @@ Graphics (GL3 only):
* **gl3_particle_square**: If set to `1`, particles are rendered as squares, * **gl3_particle_square**: If set to `1`, particles are rendered as squares,
like in the old software renderer or Quake1. Default is `0`. like in the old software renderer or Quake1. Default is `0`.