2018-11-05 09:42:11 +00:00
|
|
|
# Yamagi Quake II Console Variables
|
2017-04-22 09:16:06 +00:00
|
|
|
|
|
|
|
This lists explains most console variables (cvars) added by Yamagi
|
|
|
|
Quake II. Most of the original clients (Vanilla Quake II) cvars are
|
2018-02-14 07:42:47 +00:00
|
|
|
still in place, however due to architectural changes some of them
|
|
|
|
have been renamed. The prefixes are:
|
|
|
|
|
|
|
|
* No prefix: General stuff.
|
|
|
|
* `cl_`: Client.
|
|
|
|
* `gl_`: Common to all OpenGL renderers.
|
|
|
|
* `gl1_`: OpenGL 1.4 renderer.
|
2022-04-26 19:24:14 +00:00
|
|
|
* `gl3_`: OpenGL 3.2 and OpenGL ES3 renderers.
|
2018-02-14 07:42:47 +00:00
|
|
|
* `ogg_`: Ogg/Vorbis music playback.
|
2018-11-05 09:42:11 +00:00
|
|
|
* `r_`: Common to all renderers.
|
2018-02-14 07:42:47 +00:00
|
|
|
* `s_`: Sound system.
|
2018-11-05 09:42:11 +00:00
|
|
|
* `sw_`: Software renderer.
|
2018-02-14 07:42:47 +00:00
|
|
|
* `vid_`: Video backend.
|
|
|
|
|
2019-11-04 16:40:44 +00:00
|
|
|
All cvars may be given at command line through `+set cvar value` or typed
|
2019-04-03 09:33:20 +00:00
|
|
|
into the console. The console can be opended with *Left Shift + Esc*.
|
2018-02-14 07:42:47 +00:00
|
|
|
|
2019-11-04 16:40:44 +00:00
|
|
|
Keep in mind that some cvars need quotation marks around the arguments.
|
2019-10-12 14:25:19 +00:00
|
|
|
When giving such cvars at the command line the argument string must be
|
|
|
|
surrounded by ticks. For example `+set sv_maplist '"q2dm1 q2dm2"'`.
|
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
|
|
|
|
## Command line arguments
|
2018-02-14 07:42:47 +00:00
|
|
|
|
|
|
|
These are not console variables, they cannot be entered into the
|
2018-11-05 09:42:11 +00:00
|
|
|
console, only be given through 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).
|
2018-02-14 07:42:47 +00:00
|
|
|
|
2021-01-17 09:05:04 +00:00
|
|
|
* **cfgdir**: The name (not the path) of the configuration directory.
|
2021-06-03 05:24:42 +00:00
|
|
|
|
2018-02-14 07:42:47 +00:00
|
|
|
* **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.
|
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
* **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.
|
2018-02-14 07:42:47 +00:00
|
|
|
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
## General
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2020-04-21 11:00:00 +00:00
|
|
|
* **aimfix**: Fix aiming. When set to to `0` (the default) aiming is
|
|
|
|
slightly inaccurate, bullets and the like have a little drift. When
|
|
|
|
set to `1` they hit exactly were the crosshair is.
|
2021-09-27 11:06:58 +00:00
|
|
|
|
2020-04-21 11:00:00 +00:00
|
|
|
* **busywait**: By default this is set to `1`, causing Quake II to spin
|
2018-11-05 09:42:11 +00:00
|
|
|
in a very tight loop until it's time to process the next frame. This
|
2019-04-03 09:33:20 +00:00
|
|
|
is a very accurate way to determine the internal timing, but comes with
|
2018-11-05 09:42:11 +00:00
|
|
|
a 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
|
2022-05-11 15:44:11 +00:00
|
|
|
time for the next frame. The latter is more CPU friendly but can be
|
|
|
|
rather inaccurate, especially on Windows. Use with care.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2022-05-10 18:06:25 +00:00
|
|
|
* **cl_maxfps**: The approximate framerate for client/server ("packet")
|
|
|
|
frames if *cl_async* is `1`. If set to `-1` (the default), the engine
|
|
|
|
will choose a packet framerate appropriate for the render framerate.
|
|
|
|
See `cl_async` for more information.
|
|
|
|
|
|
|
|
* **cl_async**: Run render frames independently of client/server frames.
|
|
|
|
If set to `0`, client, server (gamecode) and the renderer run synchronous,
|
|
|
|
(like Quake2 originally did) which means that for every rendered frame
|
|
|
|
a client- and server-frame is executed, which includes the gamecode and
|
|
|
|
physics/movement-simulation etc. At higher framerates (above 95 or so)
|
|
|
|
this leads to movement bugs, like being able to jump higher than expected
|
|
|
|
(kind of like the infamous Quake 3 125Hz bug).
|
|
|
|
For `cl_async 0`, *vid_maxfps* (or, if vsync is enabled, the display
|
|
|
|
refresh rate) is used and *cl_maxfps* is ignored.
|
|
|
|
|
|
|
|
If *cl_async* is set to `1` (the default) the client is asynchronous,
|
|
|
|
which means that there can be multiple render frames between client-
|
|
|
|
and server-frames. This makes it possible to renderer as many frames
|
|
|
|
as desired without physics and movement problems.
|
|
|
|
The client framerate is controlled by *cl_maxfps*,
|
|
|
|
the renderer framerate is controlled by *vid_maxfps*.
|
|
|
|
|
|
|
|
As client/server frames ("packet frames") are only run together with
|
|
|
|
a render frame, the *real* client/server framerate is always rounded to
|
|
|
|
a fraction of the renderframerate that's closest to *cl_maxfps*.
|
|
|
|
So if for example *vid_maxfps* is `60` and *cl_maxfps* is `50`, it will
|
|
|
|
be rounded to `60` and every renderframe is also a packet frame.
|
|
|
|
If *vid_maxfps* is `60` and *cl_maxfps* is `40`, it will be rounded to
|
|
|
|
`30` and every second render frame is also a packet frame.
|
|
|
|
|
|
|
|
It seems like the best working packet framerate is `60` (which means that
|
|
|
|
the render framerate should be a multiple of that), otherwise values
|
|
|
|
between `45` and `90` seem to work ok, lower and higher values can lead
|
|
|
|
to buggy movement, jittering and other issues.
|
|
|
|
Setting *cl_maxfps* to `-1` (the default since 8.02) will automatically
|
|
|
|
choose a packet framerate that's *both* a fraction of *vid_maxfps*
|
|
|
|
(or display refreshrate if vsync is on) *and* between 45 and 90.
|
|
|
|
|
2022-02-26 16:34:16 +00:00
|
|
|
* **cl_http_downloads**: Allow HTTP download. Set to `1` by default, set
|
|
|
|
to `0` to disable.
|
|
|
|
|
|
|
|
* **cl_http_filelists**: Allow downloading and processing of filelists.
|
|
|
|
A filelist can contain an arbitrary number of files which are
|
|
|
|
downloaded as soon asthe filelist is found on the server. Set to `1`
|
|
|
|
by default, set to `0` to disable.
|
|
|
|
|
|
|
|
* **cl_http_max_connections**: Maximum number of parallel downloads. Set
|
|
|
|
to `4` by default. A higher number may help with slow servers.
|
|
|
|
|
|
|
|
* **cl_http_proxy**: Proxy to use, empty by default.
|
|
|
|
|
|
|
|
* **cl_http_show_dw_progress**: Show a HTTP download progress bar.
|
|
|
|
|
|
|
|
* **cl_kickangles**: If set to `0` angle kicks (weapon recoil, damage
|
|
|
|
hits and the like) are ignored. Cheat-protected. Defaults to `1`.
|
|
|
|
|
2021-01-30 12:51:02 +00:00
|
|
|
* **cl_limitsparksounds**: If set to `1` the number of sound generated
|
|
|
|
when shooting into power screen and power shields is limited to 16.
|
|
|
|
This works around global volume drops in some OpenAL implementations
|
|
|
|
if too many sounds are played at the same time. This was the default
|
|
|
|
behavior between Yamagi Quake II 7.10 and 7.45. Defaults to `0`.
|
|
|
|
|
2019-09-03 06:34:57 +00:00
|
|
|
* **cl_loadpaused**: If set to `1` (the default) the client is put into
|
|
|
|
pause mode during single player savegame load. This prevents monsters
|
|
|
|
and the environment from hurting the player while the client is still
|
|
|
|
connecting. If set to `2` the client stays in pause mode after
|
|
|
|
loading. If set to `0` pause mode is never entered, this is the
|
|
|
|
Vanilla Quake II behaviour.
|
|
|
|
|
2021-01-10 17:30:49 +00:00
|
|
|
* **cl_r1q2_lightstyle**: Since the first release Yamagi Quake II used
|
2021-01-11 06:31:03 +00:00
|
|
|
the R1Q2 colors for the dynamic lights of rockets. Set to `0` to get
|
|
|
|
the Vanilla Quake II colors. Defaults to `1`.
|
2021-01-10 17:30:49 +00:00
|
|
|
|
2019-04-03 09:33:20 +00:00
|
|
|
* **cl_showfps**: Shows the framecounter. Set to `2` for more and to
|
|
|
|
`3` for even more informations.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
* **in_grab**: Defines how the mouse is grabbed by Yamagi Quake IIs
|
|
|
|
window. If set to `0` the mouse is never grabbed and if set to `1`
|
|
|
|
it's always grabbed. If set to `2` (the default) the mouse is grabbed
|
|
|
|
during gameplay and released otherwise (in menu, videos, console or if
|
|
|
|
game is paused).
|
2017-05-25 11:59:10 +00:00
|
|
|
|
2022-04-16 05:37:15 +00:00
|
|
|
* **in_sdlbackbutton**: Defines which button is used in the gamepad or
|
2022-04-07 02:15:14 +00:00
|
|
|
joystick as the `Esc` key, that is, to be able to access the menu
|
|
|
|
and 'cancel'/'go back' on its options. When set to `0` (the default)
|
|
|
|
the Back/Select/Minus button is used. Set this to `1` to use the
|
|
|
|
Start/Menu/Plus button, and to `2` to use the Guide/Home/PS button.
|
|
|
|
Requires a game restart when changed.
|
|
|
|
|
2021-01-17 10:07:46 +00:00
|
|
|
* **singleplayer**: Only available in the dedicated server. Vanilla
|
|
|
|
Quake II enforced that either `coop` or `deathmatch` is set to `1`
|
|
|
|
when running the dedicated server. That made it impossible to play
|
|
|
|
single player campaigns over the dedicated server. When set to `1`,
|
|
|
|
both `coop` and `deathmatch` are forced to `0` and `maxclients` is
|
|
|
|
forced to `1`. This can be used to run a dedicated server with an old
|
|
|
|
single player mod, where the source code isn't available, inside a
|
|
|
|
Windows 98 or XP VM and connect over network from an non Windows
|
|
|
|
system.
|
|
|
|
|
2020-07-11 16:51:05 +00:00
|
|
|
* **coop_pickup_weapons**: In coop a weapon can be picked up only once.
|
|
|
|
For example, if the player already has the shotgun they cannot pickup
|
|
|
|
a second shotgun found at a later time, thus not getting the ammo that
|
2021-01-17 09:05:04 +00:00
|
|
|
comes with it. This breaks the balancing. If set to `1` a weapon can
|
|
|
|
be picked up if a) the player doesn't have it or b) it wasn't already
|
2020-07-11 16:51:05 +00:00
|
|
|
picked up by another player. Defaults to `1`.
|
|
|
|
|
|
|
|
* **coop_elevator_delay**: In coop it's often hard to get on the same
|
|
|
|
elevator together, because they're immediately triggered once the
|
|
|
|
first player steps on it. This cvar sets a delay for the elevator to
|
|
|
|
wait before moving, so other players have some time to get on it.
|
|
|
|
Defaults to `1.0` (seconds).
|
|
|
|
|
2019-11-04 16:40:44 +00:00
|
|
|
* **coop_baseq2 (Ground Zero only)**: In Ground Zero, entity spawnflags
|
|
|
|
(which difficulty modes / game modes level entities spawn in) are
|
2020-04-21 00:28:51 +00:00
|
|
|
interpreted a bit differently. In original Quake 2, if an entity is
|
2019-11-04 16:40:44 +00:00
|
|
|
set to not spawn on any difficulty, it is treated as deathmatch-only,
|
|
|
|
however, in Ground Zero this same condition is treated as coop-only.
|
|
|
|
This causes maps made for original Quake 2, including the entire
|
|
|
|
Quake 2 campaign, to not work correctly when played in Ground Zero
|
|
|
|
in co-op mode. This cvar, when set to 1, restores the original
|
|
|
|
interpretation and enables you to play original Quake 2 maps in
|
|
|
|
Ground Zero co-op. Though keep in mind that Ground Zero maps will
|
|
|
|
not work correctly when this cvar is enabled so remember to
|
|
|
|
disable it again before playing Ground Zero maps in co-op. By
|
|
|
|
default this cvar is disabled (set to 0).
|
2017-05-25 11:59:10 +00:00
|
|
|
|
2021-03-30 09:11:56 +00:00
|
|
|
* **g_commanderbody_nogod**: If set to `1` the tank commanders body
|
|
|
|
entity can be destroyed. If the to `0` (the default) it is
|
|
|
|
indestructible.
|
|
|
|
|
2021-03-02 14:08:23 +00:00
|
|
|
* **g_footsteps**: If set to `1` (the default) footstep sounds are
|
2021-08-25 16:29:50 +00:00
|
|
|
generated when the player is on ground and faster than 255. This is
|
|
|
|
the behaviour of Vanilla Quake II. If set to `2` footestep sound
|
|
|
|
always generated as long as the player is on ground. If set to `3`
|
|
|
|
footsteps are always generated. If set to `0` footstep sounds are
|
|
|
|
never generated. Cheat protected to `1`. Note that there isn't a
|
|
|
|
reliable way to figure out if the player is on ground. Footsteps
|
|
|
|
may not be generated in all circumstances, especially when the player
|
|
|
|
is moving over stairs and slopes.
|
2021-03-02 14:08:23 +00:00
|
|
|
|
2021-03-28 17:16:36 +00:00
|
|
|
* **g_fix_triggered**: This cvar, when set to `1`, forces monsters to
|
|
|
|
spawn in normally if they are set to a triggered spawn but do not
|
|
|
|
have a targetname. There are a few cases of this in GroundZero and
|
|
|
|
The Reckoning. This cvar is disabled by default to maintain the
|
|
|
|
original gameplay experience.
|
|
|
|
|
2021-09-28 16:40:07 +00:00
|
|
|
* **g_machinegun_norecoil**: Disable machine gun recoil in single player.
|
|
|
|
By default this is set to `0`, this keeps the original machine gun
|
|
|
|
recoil in single player. When set to `1` the recoil is disabled in
|
|
|
|
single player, the same way as in multiplayer.
|
|
|
|
This cvar only works if the game.dll implements this behaviour.
|
|
|
|
|
2020-04-21 00:28:51 +00:00
|
|
|
* **g_disruptor (Ground Zero only)**: This boolean cvar controls the
|
|
|
|
availability of the Disruptor weapon to players. The Disruptor is
|
|
|
|
a weapon that was cut from Ground Zero during development but all
|
|
|
|
of its code and assets were still present in the source code and
|
|
|
|
the released game. This is basically a player-held version of the
|
|
|
|
2nd Widow boss' tracker weapon - a black-ish ball of energy.
|
|
|
|
When this cvar is set to 1 you can use the "give Disruptor" and
|
|
|
|
"give rounds X" commands to give yourself the weapon and its ammo,
|
2021-06-03 05:24:42 +00:00
|
|
|
and its items, weapon\_disintegrator and ammo\_disruptor, can be
|
2020-04-21 00:28:51 +00:00
|
|
|
spawned in maps (in fact, some official Ground Zero maps contain
|
|
|
|
these entities). This cvar is set to 0 by default.
|
|
|
|
|
2020-10-06 20:38:05 +00:00
|
|
|
* **nextdemo**: Defines the next command to run after maps from the
|
|
|
|
`nextserver` list. By default this is set to the empty string.
|
|
|
|
|
|
|
|
* **nextserver**: Used for looping the introduction demos.
|
|
|
|
|
2021-01-13 20:06:39 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
## Audio
|
2017-05-25 11:59:10 +00:00
|
|
|
|
|
|
|
* **al_device**: OpenAL device to use. In most cases there's no need to
|
2018-11-05 09:42:11 +00:00
|
|
|
change this, since the default device is normally the correct choice.
|
2017-05-25 11:59:10 +00:00
|
|
|
|
2018-11-07 21:35:58 +00:00
|
|
|
* **al_driver**: OpenAL library to use. This is useful if for some
|
2017-06-06 15:48:51 +00:00
|
|
|
reasons several OpenAL libraries are available and Quake II picks the
|
|
|
|
wrong one. The given value is the name of the library, for example
|
|
|
|
`libopenal.so.1`.
|
|
|
|
|
2017-05-25 11:59:10 +00:00
|
|
|
* **ogg_enable**: Enable Ogg/Vorbis music playback.
|
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
* **ogg_ignoretrack0**: Normally Quake II disables the background music
|
|
|
|
if a major objective has been archived by setting the music track to
|
|
|
|
0. Setting this cvar to `1` disables this behavior, the music keeps
|
|
|
|
playing.
|
2017-05-25 11:59:10 +00:00
|
|
|
|
2020-04-21 11:58:58 +00:00
|
|
|
* **s_doppler**: If set to `1` doppler effects are enabled. This is only
|
|
|
|
supported by the OpenAL sound backend.
|
2017-05-25 11:59:10 +00:00
|
|
|
|
|
|
|
* **s_openal**: Use OpenAL for sound playback. This is enabled by
|
2017-05-25 13:56:10 +00:00
|
|
|
default. OpenAL gives a huge quality boost over the classic sound
|
2019-04-03 09:33:20 +00:00
|
|
|
system and supports surround speakers and HRTF for headphones. OpenAL
|
|
|
|
is much more reliable than the classic sound system, especially on
|
|
|
|
modern systems like Windows 10 or Linux with PulseAudio.
|
2017-05-25 11:59:10 +00:00
|
|
|
|
|
|
|
* **s_underwater**: Dampen sounds if submerged. Enabled by default.
|
|
|
|
|
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
## Graphics (all renderers)
|
2017-05-25 11:59:10 +00:00
|
|
|
|
|
|
|
* **cin_force43**: If set to `1` (the default) cinematics are displayed
|
|
|
|
with an aspect ratio of 4:3, regardless what the actual windows size
|
|
|
|
or resolution is.
|
|
|
|
|
2017-06-20 16:31:32 +00:00
|
|
|
* **cl_gun**: Decides whether the gun is drawn. If set to `0` the gun
|
2017-04-22 09:16:06 +00:00
|
|
|
is omitted. If set to `1` the gun is only drawn if the FOV is equal
|
|
|
|
or smaller than 90. This was the default with Vanilla Quake II. If set
|
2017-05-25 13:56:10 +00:00
|
|
|
to `2` the gun is drawn regardless of the FOV. This is the default
|
2017-04-22 09:16:06 +00:00
|
|
|
in Yamagi Quake II.
|
|
|
|
|
2018-04-21 16:23:32 +00:00
|
|
|
* **fov**: Sets the field of view.
|
|
|
|
|
|
|
|
* **r_gunfov**: The weapons are rendered with a custom field of view,
|
2018-11-05 09:42:11 +00:00
|
|
|
independently of the global **fov**, so they are not distorted at high
|
|
|
|
FOVs. A value of `75` should look identical to the old code at `fov
|
2020-04-20 09:57:27 +00:00
|
|
|
90`, it defaults to `80` because that looks a bit better. Set to `-1`
|
|
|
|
for the same value as `fov`.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2017-05-25 11:59:10 +00:00
|
|
|
* **horplus**: If set to 1 (the default) the horplus algorithm is used
|
2018-11-05 09:42:11 +00:00
|
|
|
to calculate an optimal horizontal and vertical field of view,
|
2019-04-03 09:33:20 +00:00
|
|
|
independent of the window or screen aspect ratio or resolution.
|
2017-05-25 11:59:10 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
* **r_consolescale** / **r_hudscale** / **r_menuscale** and
|
|
|
|
**crosshair_scale**: 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 `1` make the objects bigger, values lower 1
|
|
|
|
smaller. The special value `-1` (default) sets the optimal scaling
|
2019-04-03 09:33:20 +00:00
|
|
|
factor for the current resolution. All cvars are set through the
|
|
|
|
scaling slider in the video menu.
|
2018-11-05 09:42:11 +00:00
|
|
|
|
|
|
|
* **r_customheight** / **r_customwidth**: Specifies a custom resolution,
|
|
|
|
the windows will be *r_customheight* pixels high and *r_customwidth*
|
|
|
|
pixels wide. Set *r_mode* to `-1` to use the custom resolution.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2018-01-09 08:32:07 +00:00
|
|
|
* **r_farsee**: Normally Quake II renders only up to 4096 units. If set
|
2018-11-05 09:42:11 +00:00
|
|
|
to `1` the limit is increased to 8192 units. This helps with some
|
|
|
|
custom maps and is problematic with other custom maps.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2021-01-17 09:25:09 +00:00
|
|
|
* **r_fixsurfsky**: Some maps misuse sky surfaces for interior
|
|
|
|
lightning. The original renderer had a bug that made such surfaces
|
|
|
|
mess up the lightning of entities near them. If set to `0` (the
|
|
|
|
default) the bug is there and maps look like their developers
|
|
|
|
intended. If set to `1` the bug is fixed and the lightning correct.
|
|
|
|
|
2021-01-17 09:05:04 +00:00
|
|
|
* **r_vsync**: Enables the vsync: frames are synchronized with
|
|
|
|
display refresh rate, should (but doesn't always) prevent tearing.
|
|
|
|
Set to `1` for normal vsync and `2` for adaptive vsync.
|
|
|
|
|
2021-01-18 21:36:19 +00:00
|
|
|
* **r_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_msaa_samples**: Full scene anti aliasing samples. The number of
|
|
|
|
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 reverted
|
|
|
|
to the highest number of samples supported. Especially on OpenGL 3.2
|
|
|
|
anti aliasing is expensive and can lead to a huge performance hit, so
|
|
|
|
try setting it to a lower value if the framerate is too low.
|
|
|
|
|
2022-03-20 11:15:29 +00:00
|
|
|
* **r_videos_unfiltered**: If set to `1`, don't use bilinear texture
|
|
|
|
filtering on videos (defaults to `0`).
|
|
|
|
|
|
|
|
* **r_2D_unfiltered**: If set to `1`, don't filter textures of 2D
|
|
|
|
elements like menus and the HUD (defaults to `0`).
|
|
|
|
|
|
|
|
* **r_lerp_list**: List separated by spaces of 2D textures that *should*
|
|
|
|
be filtered bilinearly, even if `r_2D_unfiltered` is set to `1`.
|
|
|
|
|
|
|
|
* **r_nolerp_list**: List separated by spaces of textures omitted from
|
|
|
|
bilinear filtering (mostly relevant if `r_2D_unfiltered` is `0`).
|
|
|
|
Used by default to exclude the console and HUD font and crosshairs.
|
|
|
|
Make sure to include the default values when extending the list.
|
2021-01-18 21:36:19 +00:00
|
|
|
|
|
|
|
* **r_retexturing**: If set to `1` (the default) and a retexturing pack
|
|
|
|
is installed, the high resolution textures are used.
|
2021-10-17 08:11:05 +00:00
|
|
|
|
|
|
|
* **r_scale8bittextures**: If set to `1`, scale up all 8bit textures.
|
2021-01-18 21:36:19 +00:00
|
|
|
|
|
|
|
* **r_shadows**: Enables rendering of shadows. Quake IIs shadows are
|
|
|
|
very simple and are prone to render errors.
|
|
|
|
|
2021-01-17 09:05:04 +00:00
|
|
|
* **vid_displayrefreshrate**: Sets the displays refresh rate. The
|
|
|
|
default `-1` let the game determine the refresh rate automatically.
|
|
|
|
Often the default setting is okay, but some graphics drivers report
|
|
|
|
wrong refresh rates. For example 59hz are reported while the display
|
|
|
|
has 59.95hz.
|
|
|
|
|
|
|
|
* **vid_gamma**: The value used for gamma correction. Higher values look
|
|
|
|
brighter. The OpenGL 1.4 and software renderers use "Hardware Gamma",
|
|
|
|
setting the Gamma of the whole screen to this value in realtime
|
|
|
|
(except on MacOS where it's applied to textures on load and thus needs
|
|
|
|
a `vid_restart` after changing). The OpenGL 3.2 and Vulkan renderers
|
|
|
|
apply this to the window in realtime via shaders (on all platforms).
|
|
|
|
This is also set by the brightness slider in the video menu.
|
|
|
|
|
2021-03-10 09:10:47 +00:00
|
|
|
* **vid_fullscreen**: Sets the fullscreen mode. When set to `0` (the
|
|
|
|
default) the game runs in window mode. When set to `1` the games
|
|
|
|
switches the display to the requested resolution. That resolution
|
|
|
|
must be supported by the display, otherwise the game tries several
|
|
|
|
steps to recover. When set to `2` a fullscreen window is created.
|
|
|
|
It's recommended to use the displays native resolution with the
|
|
|
|
fullscreen window, use `r_mode -2` to switch to it.
|
|
|
|
|
2022-05-10 18:06:25 +00:00
|
|
|
* **vid_maxfps**: The maximum framerate. *Note* that vsync (`r_vsync`)
|
|
|
|
also restricts the framerate to the monitor refresh rate, so if vsync
|
|
|
|
is enabled, the game won't render more than frame than the display can
|
|
|
|
show. Defaults to `300`.
|
|
|
|
Related to this: *cl_maxfps* and *cl_async*.
|
2017-05-25 11:59:10 +00:00
|
|
|
|
2021-01-17 09:05:04 +00:00
|
|
|
* **vid_renderer**: Selects the renderer library. Possible options are
|
2021-05-27 15:15:54 +00:00
|
|
|
`gl1` (the default) for the old OpenGL 1.4 renderer, `gl3` for the
|
2022-04-26 19:24:14 +00:00
|
|
|
OpenGL 3.2 renderer, `gles3` for the OpenGL ES3 renderer
|
|
|
|
and `soft` for the software renderer.
|
2018-02-14 07:42:47 +00:00
|
|
|
|
2018-08-10 20:33:46 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
## Graphics (GL renderers only)
|
2018-08-10 20:33:46 +00:00
|
|
|
|
2017-05-25 13:56:10 +00:00
|
|
|
* **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
|
2019-04-03 09:33:20 +00:00
|
|
|
the overlapping surfaces to mitigate the flickering. This may make
|
|
|
|
things better or worse, depending on the map.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2022-03-26 18:48:33 +00:00
|
|
|
* **gl_texturemode**: How textures are filtered.
|
|
|
|
- `GL_NEAREST`: No filtering (using value of *nearest* source pixel),
|
|
|
|
mipmaps not used
|
|
|
|
- `GL_LINEAR`: Bilinear filtering, mipmaps not used
|
|
|
|
- `GL_LINEAR_MIPMAP_NEAREST`: The default - Bilinear filtering when
|
|
|
|
scaling up, using mipmaps with nearest/no filtering when scaling down
|
|
|
|
|
|
|
|
Other supported values: `GL_NEAREST_MIPMAP_NEAREST`,
|
|
|
|
`GL_NEAREST_MIPMAP_LINEAR`, `GL_LINEAR_MIPMAP_LINEAR`
|
2018-02-14 07:42:47 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
## Graphics (OpenGL 1.4 only)
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2019-04-03 09:33:20 +00:00
|
|
|
* **gl1_intensity**: Sets the color intensity. Must be a floating point
|
|
|
|
value, at least `1.0` - default is `2.0`. Applied when textures are
|
|
|
|
loaded, so it needs a `vid_restart`.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2018-01-09 13:16:13 +00:00
|
|
|
* **gl1_overbrightbits**: Enables overbright bits, brightness scaling of
|
2018-11-05 09:42:11 +00:00
|
|
|
lightmaps and models. Higher values make shadows less dark. Possible
|
2019-04-03 09:33:20 +00:00
|
|
|
values are `0` (no overbright bits), `1` (more correct lighting for
|
|
|
|
water), `2` (scale by factor 2) and `3` (scale by factor 3). Applied
|
|
|
|
in realtime, does not need `vid_restart`.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2020-01-12 10:05:15 +00:00
|
|
|
* **gl1_particle_square**: If set to `1` particles are rendered as
|
|
|
|
squares.
|
|
|
|
|
2018-01-09 13:51:59 +00:00
|
|
|
* **gl1_stencilshadow**: If `gl_shadows` is set to `1`, this makes them
|
2019-04-03 09:33:20 +00:00
|
|
|
look a bit better (no flickering) by using the stencil buffer.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2018-02-14 07:42:47 +00:00
|
|
|
|
2022-04-26 19:24:14 +00:00
|
|
|
## Graphics (OpenGL 3.2 and OpenGL ES3 only)
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2017-05-25 11:59:10 +00:00
|
|
|
* **gl3_debugcontext**: Enables the OpenGL 3.2 renderers debug context,
|
2018-11-07 21:35:58 +00:00
|
|
|
e.g. prints warnings and errors emitted by the GPU driver. Not
|
|
|
|
supported on macOS. This is a pure debug cvar and slows down
|
2018-11-05 09:42:11 +00:00
|
|
|
rendering.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2017-05-25 11:59:10 +00:00
|
|
|
* **gl3_intensity**: Sets the color intensity used for 3D rendering.
|
2018-11-05 09:42:11 +00:00
|
|
|
Similar to OpenGL 1.4 `gl1_intensity`, but more flexible: can be any
|
|
|
|
value between 0.0 (completely dark) and 256.0 (very bright). Good
|
|
|
|
values are between `1.0` and `2.0`, default is `1.5`. Applied in
|
2019-04-03 09:33:20 +00:00
|
|
|
realtime via shader, so it does not need a `vid_restart`.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
* **gl3_intensity_2D**: The same for 2D rendering (HUD, menu, console,
|
|
|
|
videos)
|
2017-05-25 11:59:10 +00:00
|
|
|
|
|
|
|
* **gl3_overbrightbits**: Enables overbright bits, brightness scaling of
|
2019-04-03 09:33:20 +00:00
|
|
|
lightmaps and models. Higher values make shadows less dark. Similar
|
2018-11-05 09:42:11 +00:00
|
|
|
to OpenGL 1.4 `gl1_overbrightbits`, but allows any floating point
|
|
|
|
number. Default is `1.3`. In the OpenGL 3.2 renderer, no lighting
|
|
|
|
fixes for water are needed, so `1.0` has no special meaning.
|
2017-05-25 11:59:10 +00:00
|
|
|
|
|
|
|
* **gl3_particle_size**: The size of particles - Default is `40`.
|
2017-04-22 09:16:06 +00:00
|
|
|
|
2017-05-25 11:59:10 +00:00
|
|
|
* **gl3_particle_fade_factor**: "softness" of particles: higher values
|
2018-11-05 09:42:11 +00:00
|
|
|
look less soft. Defaults to `1.2`. A value of `10` looks similar to
|
|
|
|
the OpenGL 1.4 particles.
|
2017-06-20 16:31:32 +00:00
|
|
|
|
2018-11-05 09:42:11 +00:00
|
|
|
* **gl3_particle_square**: If set to `1`, particles are rendered as
|
|
|
|
squares, like in the old software renderer or Quake 1. Default is `0`.
|
2019-09-02 15:15:51 +00:00
|
|
|
|
2022-03-26 18:48:33 +00:00
|
|
|
* **gl3_colorlight**: When set to `0`, the lights and lightmaps are
|
|
|
|
colorless (greyscale-only), like in the original soft renderer.
|
|
|
|
Default is `1`.
|
|
|
|
|
2022-04-26 19:24:14 +00:00
|
|
|
* **gl3_usefbo**: When set to `1` (the default), an OpenGL Framebuffer
|
|
|
|
Object is used to implement a warping underwater-effect (like the
|
|
|
|
software renderer has). Set to `0` to disable this, in case you don't
|
|
|
|
like the effect or it's too slow on your machine.
|
|
|
|
|
2021-01-13 20:06:39 +00:00
|
|
|
|
2020-04-20 09:57:27 +00:00
|
|
|
## Graphics (Software only)
|
|
|
|
|
|
|
|
* **sw_gunzposition**: Z offset for the gun. In the original code this
|
|
|
|
was always `0`, which will draw the gun too near to the player if a
|
2021-06-03 05:24:42 +00:00
|
|
|
custom gun field of view is used. Defaults to `8`, which is more or
|
2020-04-20 09:57:27 +00:00
|
|
|
less optimal for the default gun field of view of 80.
|
2019-09-02 15:15:51 +00:00
|
|
|
|
2022-03-20 19:21:31 +00:00
|
|
|
* **sw_colorlight**: enable experimental color lighting.
|
2021-01-13 20:06:39 +00:00
|
|
|
|
2019-09-02 15:15:51 +00:00
|
|
|
## cvar operations
|
|
|
|
|
2019-09-02 15:29:00 +00:00
|
|
|
cvar operations are special commands that allow the programmatic
|
|
|
|
manipulation of cvar values. They can be used for scripting and the
|
|
|
|
like.
|
2019-09-02 15:15:51 +00:00
|
|
|
|
2019-09-02 15:54:02 +00:00
|
|
|
* **dec <cvar> [val]**: Decrements the given cvar by `1` or the optional
|
|
|
|
value `val`.
|
|
|
|
|
|
|
|
* **inc <cvar> [val]**: Increments the given cvar by `1` or the optional
|
|
|
|
value `val`.
|
|
|
|
|
2019-09-02 15:29:00 +00:00
|
|
|
* **reset <cvar>**: Reset the given cvar to it's default value.
|
2019-09-02 15:15:51 +00:00
|
|
|
|
|
|
|
* **resetall**: Reset all known cvar to their default values.
|
2019-09-02 15:29:00 +00:00
|
|
|
|
|
|
|
* **toggle <cvar> [val0] [val1]**: Toggle the given cvar between `0` and
|
|
|
|
`1`. If the optional arguments `val0` and `val1` are given the given
|
|
|
|
cvar is toggled between them.
|