             The Quake Test1 console command list v0.23. (1.3.1996)
             by Lauri Alanko (mivars@cc.helsinki.fi, Nether in IRC)


Here's a list of console commands, flags and variables that I'm aware of. It
may be that all the commands in QTest1 are now listed (don't bet on it), but
there are lots of variables and commands whose functions are unclear. Not to
mention that I haven't deathmatched yet, so the network commands are rather
vaguely described. Additions, corrections, comments and clarifications would
be appreciated...




ALIAS
Syntax: alias <alias> <command line>

The ALIAS command creates a command alias. :) If either the alias or the
command line to be aliased contains spaces, it must be enclosed in
quotes. (No sense in creating a multi-word alias, though. It would have
to be enclosed in quotes at the command-line, too.)

It is possible to give the alias an argument, which will be appended to the
aliased command line, but for some reason there has to be a semicolon
separating them.


BF
Syntax: bf

The BF command fades the palette close to yellow and back in about a
second, creating a brief flash. It is apparently used when picking up
items.


BIND
Syntax: bind <keyname> <command line>

The BIND command assigns a command line to be triggered at a keypress.
The keyname can be a single letter, or one of the following: K_ALT,
K_DEL, K_PGDN, K_PGUP, K_SHIFT, K_CTRL, K_UPARROW, K_DOWNARROW,
K_LEFTARROW, K_RIGHTARROW, K_SPACE, K_ENTER, K_TAB, K_PAUSE, K_ESCAPE,
K_F1, K_F2, K_F3, K_F4, K_F5, K_F6, K_F7, K_F8, K_F9, K_F10, K_F11,
K_F12, K_HOME, K_END, K_BACKSPACE.

Note that when binding a key to a command line containing an action
command, only the first command on the line will get automatically a
corresponding "-" command if it is an action command. This can be avoided by
setting the first letter of the command line to something else. A space or a
semicolon will do. So, if you want to be able to activate freelook with one
button and deactivate it with another, you could do something like this:

bind q ";+mlook"
bind w "-mlook"

The rest of the action commands in the command line will be prolonged
infinitely unless they are explicitly stopped with a corresponding "-"
command. For example:

bind q "+jump;+attack;+moveleft;-attack;-moveleft"

This is a nice fire/dodge combo.


CLEAR
Syntax: clear

The CLEAR command clears the console screen.


CMD

Unknown. Probably affects the game world in some way, as this cannot be
executed unconnected.


COMx
Syntax: com1|com2 [enable|disable] [dial|answer] [reset] [port <port>]
                  [irq <irq>] [baud <baudrate>] [8250|16550]
                  [startup <initstring>] [shutdown <shutdownstring>]
                  [-cts|+cts] [-dtr|+dtr] [-cd|+cd]

From network.txt by John Cash:

        There are two commands to support serial/modem play for Quake.
        They are: COM1 and COM2. Entering one of these commands with no
        arguments will display the status of that serial port.

        When used with arguments, these commands change the settings and
        status of the COM ports. The possible arguments are listed
        below; examples follow.

        enable | disable

        "enable" means that your configuration is complete and you want
        to use the COM port. "disable" is used to turn off a COM port,
        usually to change its settings. The default (initial) state is
        disabled.

        dial | answer

        Specifying one of these two options indicates that you are using
        a modem. "dial" is used for Quake clients and means that you
        will be initiating the call. "answer" is used for Quake servers
        and means that you will be receiving the call(s). Using neither
        of these means that you are using a null modem cable and modem
        processing will be disabled.

        reset

        This will reset the COM port to its default settings and state.
        port <n> irq <n> These are used to set the I/O Port and IRQ that
        your serial port uses. The default values are: port=3f8 irq=4
        for COM1 and port=2f8 irq=3 for COM2. Note that the port number
        is displayed in hexadecimal; to enter it you would use something
        like "COM2 port 0x2f8"; the "0x" preceding the "2f8" indicates
        that you are giving the value in hexadecimal otherwise decimal
        is assumed.

        baud <n>

        Sets the baud rate. Valid values for <n> are: 9600, 14400,
        28800, 57600, and 115200. 28800 is the default. Please note that
        this is the baud rate used for the uart, not your modem. It is
        perfectly valid to use 57600 on a COM port that is connected to
        a 28.8 modem.

        8250 | 16550

        Specifies the type of uart chip in your system. Normally this is
        automatically detected, one of these need only be used if your
        chip is incorrectly detected.

        startup
        shutdown

        This allows you to specify the startup and shutdown strings
        needed for a modem for playing Quake. If you've found values
        that previously worked with Doom, use them here. If you are
        playing over a null modem cable, leave these blank.

        -cts | +cts
        -dsr | +dsr
        -cd  | +cd

        These determine if certain serial control lines should be
        honored or ignored. The "-" means you want that line ignored,
        the "+" means to honor it. "cts" is an abbreviation for "clear
        to send", "dsr" for "data set ready", and "cd" for "carrier
        detect". Most people will not need to change these values. The
        default is to honor all 3 lines.

        Quake always uses no parity, 8 data bits, and 1 stop bit; these
        values can not be changed. The baud, port, irq, and uart type
        can not be changed on an enabled port, you must disable it
        first.


CONNECT
Syntax: connect [server]

The CONNECT command connects the client to the server, or to the
specified server if there are many available.


DECIMATE_SFX
DECIMATE_SFX_SPEED
DECIMATE_SFX_WIDTH
Syntax: decimate_sfx [0|1]
        decimate_sfx_speed [speed]
        decimate_sfx_width [0|1]

From sound.txt by Dave Taylor:

        Setting DECIMATE_SFX to 1 will decimate all cached sound effects
        to the lower of their recorded sound rate or the value of
        DECIMATE_SFX_SPEED. It will also reduce 16 bit sound effects to
        8 bit sound effects if DECIMATE_SFX_WIDTH is 1. DECIMATE_SFX can
        save a great deal of memory at the cost of making some of the
        sounds a bit muffled or perhaps staticky. After setting this, a
        level must be reloaded for it to take effect. SOUNDLIST will
        display the new memory footprint and sound effect lengths. The
        following example will probably save 75% of the RAM required for
        a level's sound effects while keeping the sound effects at
        roughly the same playback quality of Doom's sound effects. After
        setting these variables, a map must be reloaded for them to take
        effect. By default, DECIMATE_SFX is 0, and sfx are not
        decimated.


DISCONNECT
Syntax: disconnect

The DISCONNECT command ends the client's session with the server,
removing it from the game.


ECHO
Syntax: echo [text string]

The ECHO command displays a string of text to the console. This is
mainly useful with aliases and keybindings.


EDICT
EDICTCOUNT
EDICTS
Syntax: edict <edict number>
        edictcount
        edicts

The edict commands display information about the "edicts" of the level, 
which seem to be rather more generic than the "things" of Doom. The 
information varies depending on the edict. The EDICT command displays 
information about a single edict. It makes no boundary checks, so don't 
give an invalid value or the program might crash! The EDICTS command 
displays the same data for every edict. The EDICTCOUNT gives a summary of 
different kinds of edicts in the game.


ENTITIES
Syntax: entities

The ENTITIES command displays a list of every entity in the game, "entity"
apparently meaning a visible object.

(Both EDICTS and ENTITIES commands produce a huge list that won't fit in any
console screen, no matter what the resolution. As such they are of little
debugging value, so it would be plausible to think that there has to be
either a backscroll or a pager implemented in the console, or then the
outputs of the commands can be redirected to a file. However, I've seen no
sign of any of these.)


EXEC
Syntax: exec <command file name>

The EXEC command loads a specified file and processes the console
commands contained therein. This is mainly useful at the initialization
phase, as all necessary command lines can be aliased at that stage.


FLY
Syntax: fly

The FLY command toggles the player's flymode on and off. In flymode,
gravity doesn't affect the player, allowing free vertical movement with
"+moveup" and "+movedown" action commands. However, in flymode, the
change from one side of water's surface to another will not affect the
"swimmode".


FOV
Syntax: fov <n>
Default: 20

The FOV variable adjusts the field of vision of the player. Basically, this
determines how far away from the monitor the eye is supposed to be. Give it
a value of 50, stick your face to the monitor, and you'll see that it looks
all right. :) The minimum is 5 (nice zoom for snipers) and the maximum is 80
(distorted, but at least your eyes are really open). A minor flaw is that
the sky isn't zoomed. This lessens the realism somewhat.

The change of the FOV variable takes effect only after the screen is resized
or the video mode is changed. So, if you want zoom buttons, you should do
something like this:

bind q "fov 5;sizedown;sizeup"
bind w "fov 20;sizedown;sizeup"
bind e "fov 80;sizedown;sizeup"

These won't affect your viewsize unless you're using a minimal window (in
which case you can reverse the sizeup and sizedown statements).

If you are having serious framerate problems and don't mind a little zoom,
you might try lowering FOV, since a zoomed view contains less polygons and
is thus rendered somewhat faster.


FRAGLIMIT
Syntax: fraglimit <n>
Default: 20

The FRAGLIMIT variable sets the amount of frags at which the game will
end. This basically determines how long a deathmatch will take.


GAMMA
Syntax: gamma <n>
Default: 1.00

The GAMMA variable adjusts the brightness of the screen. A value of 0
means all white, while a value of 2 is _real dark_. The proper value is
a matter of taste. Personally, I like 0.9.


GOD
Syntax: god

The GOD command toggles the player's godmode on and off. In godmode, the
player cannot be harmed, unlike her armor.


GRABNEXTSND

Unknown


HOSTNAME
Syntax: hostname [server name]
Default: "unnamed" or "local"

The HOSTNAME variable sets the name of the server as it will be shown in
SLIST.


IMPULSEx
Syntax: impulseX  where X is a number between 0 and 9

The IMPULSEx commands select the current weapon. In the Quake test 1,
the following weapons are potentially available:

        IMPULSE1        Shotgun
        IMPULSE2        Supershotgun
        IMPULSE3        Nailgun
        IMPULSE4        Chainnailgun
        IMPULSE5        Grenade launcher
        IMPULSE6        Rocket launcher

At the moment, it seems likely that in the future there will be two more
weapons:

        IMPULSE7        Lightninggun
        IMPULSE8        Chainlightninggun

Though this may very well change (as may all the other weapons). In
addition, IMPULSE9 will give all weapons and all ammo.


KILL
Syntax: kill

The KILL command will restart the level.

(How does this differ from the RESTART command? Could someone with a
network tell, please?)


KILLSERVER
Syntax: killserver

The KILLSERVER command will terminate the server program and thus ends
the game.


LOOKSPRING
Syntax: lookspring <n>
Default: 0

The LOOKSPRING variable controls the rate at which the player's current
vertical pitch centers back towards horizon after leaving freelook mode.

See also CL_PITCHCENTERSPEED.


MAP
Syntax: map <map name>

The MAP command makes the server load the specified map and start a game
in it, abandoning any current game. In the Quake test 1 there are three
maps available: test1, test2 and test3.


MESSAGEMODE
Syntax: messagemode

The MESSAGEMODE command starts a SAY command, effectively indicating the
start of a message terminated by a return key. This is only useful as a
keybinding.


MOUSEx
Syntax: mouse1|mouse2|mouse3 <command line>

The MOUSEx commands bind a command line to a mouse key. MOUSE1 binds the
left key, MOUSE2 binds the right key and MOUSE3 binds the center key if
available.

Note that when binding a mouse key to a command line containing an
action command, only the first command on the line will get
automatically a corresponding "-" command if it is an action command.
The rest of the action commands will be prolonged infinitely unless the
line has explicit "-" commands for them.


NAME
Syntax: name <name>
Default: "player"

The NAME variable sets the player's name in the game.


NO
Syntax: no

NO is a negative answer. It can be used to refuse from playing Quake.


NOCLIP
Syntax: noclip

The NOCLIP command toggles the player's noclip mode on and off. In
noclip mode, the player can walk through any walls and is not affected
by gravity. However, in noclip mode, the change from one side of water's
surface to another will not affect the "swimmode".

This is mainly for debugging purposes.


NOSOUND
Syntax: nosound <0|1>
Default: 0

From sound.txt by Dave Taylor:

        Setting NOSOUND to 1 will prevent further sound effects from
        being loaded or started. Returning it to 0 (default) will allow
        sound effects to be started again. However, if a level is
        started with NOSOUND set to 1, and then it is returned to 0, no
        sounds will be precached, and they will not be cached during
        play.


NOTARGET
Syntax: notarget

The NOTARGET command toggles the player's notarget mode on and off.
(Could someone please tell exactly what notarget mode does?)


NUMCHANNELS
Syntax: numchannels <n>
Default: 8

From sound.txt by Dave Taylor:

        This will specify the number of sound channels to mix in
        software. This number must be 2 or higher. The first channel is
        not used and may be used later for streaming CD audio.
        Increasing the number of channels will let you hear more
        similtaneous sounds in game play. However, the more sounds you
        have, the higher the demand on CPU performance. The default is 8
        channels. Note that some times sounds will get cut off for other
        reasons which will be sorted out in later versions. Running
        NUMCHANNELS several times may cause memory problems. There are
        as many "sleeping channels" as there are sound channels.
        Sleeping channels are sound channels which are currently
        inaudble, usually because the sound source is out of your range
        of hearing, but the channels are woken back up when the sound
        comes back in range, assuming the sound effect is not already
        over, or is looping.


PAUSABLE
Syntax: pausable <0|1>
Default: 1

The PAUSABLE flag determines whether the game can be paused by a player.


PAUSE
Syntax: pause

The PAUSE command toggles whether the game is paused or not.


PLAY
PLAYVOL
Syntax: play <soundfile>
        playvol <soundfile> <volume>

From sound.txt by Dave Taylor:

        PLAY will play a sound effect at 100% volume at the location of
        the player. PLAYVOL will play a sound effect at specified volume
        at the location of the player. The sound effect must be a WAV
        (RIFF) file or an AIFF file. If a WAV file, the sound effect may
        have a cue list. The first cue in that list will be interpreted
        as a loop startpoint, and the loop endpoint will be the end of
        the sound effect. Sound effects may be recorded at any speed and
        may be either 8-bit or 16-bit. If you specify more than one
        sound effect on the line, they will play simultaneously. If a
        specified sound effect is not already loaded into memory, it
        will first be loaded from disk.
        

POINTFILE

Unknown. Crashes the machine! At least with wrong parameters.


PROFILE
Syntax: profile

The PROFILE command gives information about the game's inner workings.
:)

(Seriously, what does it do? Are those the functions that the program
calls at every cycle or what? Any info would be appreciated.) Don't use
the command when not connected. It crashes the program!


PROGRESTART
Syntax: progrestart

The PROGRESTART command clears the memory cache and restarts just about
everything.


QUIT
Syntax: quit

The QUIT command exits the Quake program and returns to DOS. (Or just
closes the window in X, I gather.) (Does it also disconnect
automatically? I should think so, but would someone with a network care
to tell?)


RECORD
Syntax: record [filename]

The RECORD command starts and ends a demo recording. The demo will have
the specified filename, or demo.dem if none specified.

(The big question is: How to replay the demo?)


RESTART
Syntax: restart

The RESTART command reloads the map and starts the game anew.


RMSR

Unknown. Crashes the machine!


SAVESND
Syntax: savesnd <soundfile>

From sound.txt by Dave Taylor:

        Will cache (load) the specified sound effect then save it to a
        file named "snd.raw" in the directory you ran Quake in. The
        format of this file is raw sound data. Run SOUNDLIST to see the
        sample bit width and recording speed. If 8-bit, then the output
        may be either signed or unsigned. If it sounds funny on playback
        in a sound program, try the other way.


SAY
Syntax: say <message>

The SAY command transmits a message to other players.


SBINFO
Syntax: sbinfo

From sound.txt by Dave Taylor:

        This will print information on the Sound Blaster card in the
        system. If the version is 4 or greater, then it is some kind of
        Sound Blaster 16 or compatible. If less, then it is probably a
        Sound Blaster or Sound Blaster Pro or compatible. If the version
        is 3, then it will be reported as 2. This is a hack that may be
        fixed later. The port is the I/O port sensed from the A variable
        in the BLASTER environment variable. The DMA is the DMA channel
        and is confirmed in hardware if the card is version 4 or higher.
        The mixer port can be ignored.


SCREENSHOT
Syntax: screenshot

The SCREENSHOT command will save the current screen as a picture to the
disk. The picture will be in PCX format, with the name quakeXX.pcx,
where XX is the lowest available decimal number.


SENSITIVITY
Syntax: sensitivity <n>
Default: 3

The SENSITIVITY variable controls the mouse sensitivity, surprise,
surprise.


SIZEDOWN
SIZEUP
Syntax: sizedown|sizeup

The SIZEUP and SIZEDOWN commands affect the current screen size. They
effectively increase and decrease the VIEWSIZE variable by 10.


SLIST
Syntax: slist

The SLIST command lists all the available servers.


SOUND
Syntax: sound [speed <speed>] [bits <8|16>] [channels <numchannels>] [reset]

The SOUND command controls the general sound settings of the game.
Without arguments it displays the current settings. The SPEED argument
sets the frequency for sound effects. The BITS argument sets whether the
sounds use 8 or 16 bits. The CHANNELS argument sets the number of
channels to be mixed. The RESET argument might conceivably reset the
sound system. :P

(I'm not entirely sure if this is fully functional. Why wasn't this
documented?)


SOUNDINFO
Syntax: soundinfo

From sound.txt by Dave Taylor:

        This prints the "portable" information on your current audio
        hardware setting in the game. It specifies whether there is
        stereo output (0 or 1), the number of samples in the DMA buffer
        (usually 32768 or 65536), the current sample position (changes
        each time you run SOUNDINFO and ranges from 0 to the number of
        samples), the number of sample bits (either 8 or 16), the
        submission chunk (1 in DOS or Linux w/ mmaped sound, larger in
        Linux w/o mmaped sound), playback speed in Hz (usually 11025 to
        44100), the DMA buffer address in hexadecimal (usually 8 digits
        after the 0x, starting with 0xf00.. in DOS, starting with
        0x400.. in Linux, and less than 8 digits if the hardware was not
        initialized successfully), and the number of channels mixed in
        software (8 by default, changeable w/ NUMCHANNELS command).


SOUNDLIST
Syntax: soundlist

From sound.txt by Dave Taylor:

        Will list all the currently cached (loaded) sound effects. Each
        entry will contain the last 11 characters of the filename,
        followed by the length of the sound in bytes, the # of bits in
        each sample (either 8b or 16b), then the speed of the recording
        (usually between 11025 and 44100). At the end of the list will
        be the total memory usage by all cached sound effects. If you
        are experiencing memory shortages, experiment with the
        DECIMATE_SFX variable. When you PLAY a new sound effect which
        was not previously loaded, it will appear in this list.

                                            
SPAWN

Unknown. (Why cannot this be used at console?)


STATUS
Syntax: status

The STATUS command prints the current host, the current map, the number
of players on the level, the time each player has been connected and the
frags.


STOPSOUND

Unknown.


STUFFCMDS
Syntax: stuffcmds

The STUFFCMDS command processes the command-line arguments. This should
only be used in the initialization file, quake.rc.

(I think, that is. And the real command-line arguments (-dmasize and
such) are probably processed before the quake.rc is loaded. I think this
means only the "+" commands in the quake.exe (or xquake) commandline.)


TEAMPLAY
Syntax: teamplay <0|1>
Default: 0

The TEAMPLAY flag sets whether the similarly colored people are supposed
to be teams. Members of a team cannot harm each other too badly.


TEMP1
Syntax: temp1 <n>

The TEMP1 variable has no function. It can be used for whatever purposes
deemed necessary.

(And these are just _wild_ guesses. User variables would be a lot more
useful if they could be referenced... Has anybody succeeded in giving
the value of a variable as an argument?)


TIMELIMIT
Syntax: timelimit <n>
Default: 0

The TIMELIMIT variable controls the maximum duration of a game until it
will be terminated.


TIMEREFRESH
Syntax: timerefresh

The TIMEREFRESH command will pan the view 360 degrees around the Z-axis
and calculate the average frames per second.


TOGGLECONSOLE
Syntax: toggleconsole

The TOGGLECONSOLE command will toggle the console on and off, if you
didn't guess. You'd BETTER have this bound somewhere!


VERSION
Syntax: version

The VERSION command will give version information.


VIEWSIZE
Syntax: viewsize <n>
Default: 100

The VIEWSIZE variable controls the size of the 3D view. The minimum is
20. A full screen with all the three bars has a value of 100. Each bar
amounts to 10, so a full screen has a value of 130.


YES
Syntax: yes

The YES is an affirmative answer. This is probably the first command
you've used in the game!



CL_ANGLESPEEDKEY
Syntax: cl_anglespeedkey <n>
Default: 1.5

The CL_ANGLESPEEDKEY variable affects both the pitch speed and turning
speed, when using action commands, ie. keyboard. It seems to be just an
easier alternative to modifying CL_PITCHSPEED and CL_YAWSPEED
simultaneously.


CL_BACKSPEED
Syntax: cl_backspeed <n>
Default: 160

The CL_BACKSPEED variable controls the player's backwards walking speed.
The player can never move faster than SV_MAXSPEED, though.


CL_BOB
Syntax: cl_bob <n>
Default: 0.02

The CL_BOB variable affects the amplitude of the bobbing of the player's
weapon.


CL_BOBCYCLE
Syntax: cl_bobcycle <n>
Default: 0.6

The CL_BOBCYCLE variable affects the frequency (speed) of the bobbing of
the player's weapon. This might be the time of one "bobcycle" in
seconds. Don't set this to zero, even if you have deactivated bobbing.


CL_BOBUP
Syntax: cl_bobup <n>
Default: 0.5

The CL_BOBUP variable affects the time the weapon stays at "the end of
the cycle", ie. at its topmost height.


CL_FORWARDSPEED
Syntax: cl_forwardspeed <n>
Default: 200

The CL_FORWARDSPEED variable affects the player's forwards walking rate.
The player can never move faster than SV_MAXSPEED, though.


CL_MOVESPEEDKEY
Syntax: cl_movespeedkey <n>
Default: 2.0

The CL_MOVESPEEDKEY variable sets the factor by which speeds are multiplied
when +SPEED is activated, ie. the player is running. The player can never
move faster than SV_MAXSPEED, though. If you are running all the time, set
your walking speeds to maximum and set CL_MOVESPEEDKEY below 1.0, and your
run key will become a "slow down" key.


CL_NOLERP
Syntax: cl_nolerp <0|1>
Default: 0

Unknown.


CL_PITCHCENTERSPEED
Syntax: cl_pitchcenterspeed <n>
Default: 400

The CL_PITCHCENTERSPEED variable controls the speed at which the
vertical pitch of the player is centered back to horizon after she
starts moving. Set both this and CL_PITCHDRIFTSPEED to 0, if you want
complete control over your pitch.


CL_PITCHDRIFTSPEED
Syntax: cl_pitchdriftspeed <n>
Default: 40

The CL_PITCHDRIFTSPEED variable controls the speed at which the vertical
pitch of the player is aligned to point to the level of the ground, if
the ground is at a different height from the player where the player is
looking. (The exact algorithm for deciding the "correct" pitch isn't
clear to me.)


CL_PITCHSPEED
Syntax: cl_pitchspeed <n>
Default: 100

The CL_PITCHSPEED variable controls the speed at which the pitch is
changed when using the +LOOKUP and +LOOKDOWN action commands. Keyboard,
that is.


CL_ROLLANGLE
Syntax: cl_rollangle <n>
Default: 2.0

The CL_ROLLANGLE variable controls the angle by which the player will
lean when strafing or moving and turning simultaneously. Setting this
over 20 gets kind of jerky.


CL_ROLLSPEED
Syntax: cl_rollspeed <n>
Default: 200

The CL_ROLLSPEED variable controls how quickly the leaning will happen.
It's just a guess, but I think it that CL_ROLLSPEED is the speed at
which the player is leaning fully, and below that the leaning is
proportional to the speed. Set this to 1. Jerky.


CL_SHOWNET
Syntax: cl_shownet <0|1>
Default: 0

The CL_SHOWNET flag sets whether to display something. :) (Has anyone
any idea what these numbers mean?)


CL_SIDESPEED
Syntax: cl_sidespeed <n>
Default: 350

The CL_SIDESPEED variable controls the walking strafing speed of the
player. The player can never move faster than SV_MAXSPEED, though.


CL_TICRATE
Syntax: cl_ticrate <n>
Default: 0.03

Unknown.


CL_UPSPEED
Syntax: cl_upspeed <n>
Default: 200

The CL_UPSPEED variable controls how powerful the player's jumps are when
using the +MOVEUP action command. This doesn't seem to affect the player's
vertical velocity while in air.


CL_YAWSPEED
Syntax: cl_yawspeed <n>
Default: 140

The CL_YAWSPEED variable controls the speed at which the player turns
when using the +LEFT and +RIGHT action commands. Keyboard, that is.



D_ADRAWFLAT
Syntax: d_adrawflat <0|1>
Default: 0

The D_ADRAWFLAT flag controls whether alias models (eg. weapons and
monsters, _not_ boxes) will be drawn without textures.


D_SHOWSUBDIV
Default: 0

Unknown.


HOST_FRAMERATE
Syntax: host_framerate <n>
Default: 0

The HOST_FRAMERATE variable affects the speed of the game. Maximum is
0.01, which is slowest.

(I haven't ever noticed any change, but, then again, I haven't been
playing over a network.)


HOST_LINEREFRESH
Default: 0

Unknown.


HOST_SPEEDS
Syntax: host_speeds <0|1>
Default: 0

The HOST_SPEEDS flag controls the display of host speeds.

(Additional info could be used...)



NET_MESSAGETIMEOUT
Syntax: net_messagetimeout <n>
Default: 180

The NET_MESSAGETIMEOUT variable controls the time in seconds the program
will wait for messages before considering the connection broken.


NET_NAKGRACETIME
Syntax: net_nakgracetime <n>
Default: 0.5

Unknown.


NET_PACKETTIMEOUT
Syntax: net_packettimeout <n>
Default: 1.0

Unknown. One might guess that this has something to do with packet
timeouts.


NET_STATS
Syntax: net_stats

The NET_STATS command displays some statistical network information.


NET_SPEEDS
Syntax: net_speeds <0|1>

The NET_SPEEDS flag controls the display of various network transfer
rates.



R_ALIASSTATS
Syntax: r_aliasstats <0|1>

The R_ALIASSTATS flag controls the display of information about currently
visible alias models (e.g. weapons and monsters, _not_ ammo boxes).


R_CLEARCOLOR
Syntax: r_clearcolor <n>

The R_CLEARCOLOR variable controls the color that will be used at the
map when there is nothing else to show at that point. There should be
none of this unless you've gotten outside the map.

Goodbye, HOM! :)


R_CSHIFT

Unknown.


R_DMABUF
Default: 0

Unknown.


R_DRAWENTITIES
Syntax: r_drawentities <0|1>
Default: 1

The R_DRAWENTITIES flag controls whether to draw the entities (weapons
etc.) in the map.


R_DRAWFLAT
Syntax: r_drawflat <0|1>
Default: 0

The R_DRAWFLAT flag controls whether to draw all the polygons on the map
without textures and colored distinctively. Though this does speed up
the game, this probably hasn't been intended as a low-detail option, but
is just a clearer way to see the polygons than R_SHOWPOLYS.


R_DRAWORDER
Syntax: r_draworder <0|1>
Default: 0

The R_DRAWORDER flag controls whether to draw the map in backwards
order, farthest first. Though this is probably just a debugging tool,
it's a nice X-ray vision, too. :)


R_DSPEEDS
Syntax: r_dspeeds <0|1>
Default: 0

The R_DSPEEDS flag controls the display of some timing information.

(Yeah, right. What exactly do all these debugging lists show?)


R_EDGECOUNT
Syntax: r_edgecount <0|1>
Default: 0

More debugging... details would be nice to know...


R_FULLBRIGHT
Syntax: r_fullbright <0|1>
Default: 0

The R_FULLBRIGHT flag sets whether to draw every part of the map with
maximum lighting, duplicating the "lite-amp" effect of Doom.


R_GRAPHHEIGHT
Syntax: r_graphheight <n>
Default: 10

The R_GRAPHHEIGHT variable controls the height of the graph when R_TIMEGRAPH
is set.


R_SHOWPOLYS
Syntax: r_showpolys <0|1>
Default: 0

The R_SHOWPOLYS flag sets whether to draw outlines of all the polygons
in the map. This is an alternative to R_DRAWFLAT.


R_SHOWVERTS
Syntax: r_showverts <0|1>
Default: 0

Unknown. One might think that this would show the vertices...


R_SPEEDS
Syntax: r_speeds <0|1>
Default: 0

The R_SPEEDS flag sets whether to display some basic timing data. Even I
understand the "ms" bit. :)


R_TIMEGRAPH
Syntax: r_timegraph <0|1>
Default: 0

The R_TIMEGRAPH flag sets whether to show a graph which _might_ display
system load or something. The height of the graph in pixels is determined
by the R_GRAPHHEIGHT variable.


R_WAVE
Syntax: r_wave <0|1>
Default: 0

The R_WAVE flag sets whether to show the world as if the player was
underwater, ie. with the cool wavy effect.

Going underwater doesn't change this flag, though, and setting this to 0
underwater doesn't remove the waves.



SCR_COLORCON
Syntax: scr_colorcon <n>
Default: 251

Unknown.


SCR_CONSPEED
Syntax: scr_conspeed <n>
Default: 300

The SCR_CONSPEED sets the speed by which the console will scroll in and out
of the screen.


SCR_OFSX
SCR_OFSY
SCR_OFSZ
Syntax: scr_ofsX <n>  where X is x, y or z
Default: 0 for all three.

The SCR_OFSx variables are offsets to the player's viewpoint. SCR_OFSZ
is for vertical offset, SCR_OFSY is for horizontal, and SCR_OFSX is
for... whatsits- name.


SCR_SHOWCACHETHRASH
Default: 1

Unknown.


SCR_XPARCON
Default: 0

Unknown.



SFX_ASYNCH
Default: 0

Unknown, but might have something to do with asynchronic sound effects.
:)



SND_TIMING
Default: 0

Unknown, but might have something to do with the timing of sounds.



SV_ACCELERATE
Syntax: sv_accelerate <n>
Default: 10

The SV_ACCELERATE variable sets the acceleration rate for players.


SV_AIM
Syntax: sv_aim <n>
Default: 0.93

The SV_AIM variable controls the treshold for autotargeting, ie. how 
far from an enemy must you be pointing for the weapon to 
automatically target it. With a value of 0 you can't miss, with a 
value of 1 you _almost_ always fire exactly where you point at.


SV_FRICTION
Syntax: sv_friction <n>
Default: 4

The SV_FRICTION variable controls the ground friction. Set this very low
to get ice. Don't confuse this with SV_STOPSPEED. SV_FRICTION is about
inertia. SV_STOPSPEED is about braking.


SV_GRAVITY
Syntax: sv_gravity <n>
Default: 800

The SV_GRAVITY variable sets the global gravity force. Set this low to
get _high_ jumps. Also try the grenade launcher with low gravity in an
open space. Grenades bounce off the sky! You can also set this to negative.


SV_IDEALPITCHSCALE
Syntax: sv_idealpitchscale <n>
Default: 0.8

The SV_IDEALPITCHSCALE variable controls how greatly the player's 
vertical pitch changes when looking at a place above or below her. Set 
this to 0 if you are bothered by the automatic reaiming in stairs. See 
also CL_PITCHDRIFTSPEED.
   

SV_MAXSPEED
Syntax: sv_maxspeed <n>
Default: 320

The SV_MAXSPEED variable is the upper limit for the speeds of the
players.


SV_MAXVELOCITY
Syntax: sv_maxvelocity <n>
Default: 2000

The SV_MAXVELOCITY variable sets the upper limit for the speed of _any_
object. Setting this too low causes bullets to move inaccurately.
Probably an error in rounding or something.


SV_NOSTEP
Syntax: sv_nostep <0|1>
Default: 0

The SV_NOSTEP flag controls whether players can rise up the steps
without jumping. Set gravity high, too, and there's only one way you 
can go: down.


SV_STOPSPEED
Syntax: sv_stopspeed <n>
Default: 100

The SV_STOPSPEED variable controls the rate of deceleration of players.
Do not confuse this with SV_FRICTION.



SYS_NOSTDOUT
Default: 0

Unknown.


SYS_TICRATE
Syntax: sys_ticrate <n>
Default: 0.05

Unknown.



V_KICKPITCH
Syntax: v_kickpitch <n>
Default: 0.6

The V_KICKPITCH variable controls the amount of momentary change in
pitch when the player is wounded.


V_KICKROLL
Syntax: v_kickroll <n>
Default: 0.6

The V_KICKROLL variable controls the amount of momentary change in
leaning ("roll" seems to bee the Quake term) when the player is wounded.


V_KICKTIME
Syntax: v_kicktime <n>
Default: 0.5

The V_KICKTIME variable controls the duration of the "being shaken"
reaction when the player is hit.



VID_DESCRIBECURRENTMODE
VID_DESCRIBEMODE
VID_DESCRIBEMODES
Syntax: vid_describecurrentmode
        vid_describemode <n>
        vid_describemodes

The video mode description commands give information about the available
video modes. VID_DESCRIBECURRENTMODE tells what is the current video
mode, VID_DESCRIBEMODE describes a specified video mode and
VID_DESCRIBEMODES lists all available modes.

(A lot of fuzz. One command would have been sufficient...)


VID_MODE
Syntax: vid_mode <n>
Default: 0 (VGA mode 13h)

The VID_MODE variable sets the current video mode.


VID_NUMMODES
Syntax: vid_nummodes

The VID_NUMMODES command tells the total number of available video
modes.


VID_TESTMODE
Syntax: vid_testmode <n>

The VID_TESTMODE command changes to the specified mode for a couple of
seconds, then returns to the original mode. This is useful when trying
to see if a mode works. Of course, if changing to a mode crashes the
program, it doesn't really matter. :)


VID_WAIT
Syntax: vid_wait <0|1|2>

The VID_WAIT variable sets the buffering and waiting mode of the video
adapter. Briefly put:

0       No waiting, double buffering. (?)
1       Wait for vertical blank, double buffering.
2       Wait for display enable, triple buffering.

See the video.txt file by Michael Abrash for more detail.


