This document lists all commands and cvars supported by the current version of 
ZDoom (1.12) and a short description of each.
================================================================================

There are four types of cvars:

boolean: This is a number that can be either "0" or "1". "0" indicates no/false, 
         and "1" indicates yes/true.

  color: This is a series of three hexadecimal numbers representing the amounts 
         of red, green, and blue in a color. For example, red would be 
         represented as "ffff 0000 0000". The setcolor command can be used to 
         set one of these cvars using a color name instead of numbers. (See the 
         description of the setcolor command below.)

 number: This is an ordinary number.

 string: This is a series of text characters enclosed in quotes.


Some commands also take parameters. Any parameters that are required are 
enclosed in < >, and those that are optional are enclosed in [ ].


ACTION COMMANDS
===============
NOTE: As in Quake, all action commands come in pairs. When prefixed by a '+', 
they activate the corresponding action, and when prefixed by a '-', they 
deactivate that action.


+attack, -attack
While active, causes the player to fire his active weapon.

+back, -back
While active, causes the player to move backward.
See also: +forward

+forward, -forward
While active, causes the player to move forward.
See also: +back

+jump, -jump
Causes the player to jump.

+klook, -klook
While active, causes +forward and +back to act like +lookup and +lookdown 
instead.
See also: +mlook, +lookup, +lookdown, +forward, +back

+left, -left
While active, normally causes the player to turn to the left. However, as long 
as +strafe is active, this will cause the player to move to the left instead.
See alse: +right, +strafe, +moveleft

+lookdown, -lookdown
While active, causes the player to look down.
See also: +lookup, +klook

+lookup, -lookup
While active, causes the player to look up.
See also: +lookdown, +klook

+mlook, -mlook
While active, causes movement along the mouse's vertical axis to tilt the 
player's view up or down instead of moving the player forward or backward.
See also: +klook, freelook, invertmouse, lookspring

+moveleft, -moveleft
While active, causes the player to move to the left.
See also: +moveright, +left, +strafe

+moveright, -moveright
While active, causes the player to move to the right.
See also: +moveleft, +right, +strafe

+movedown, -movedown
Not implemented.
See also: +moveup

+moveup, -moveup
Not implemented.
See also: +movedown

+right, -right
While active, normally causes the player to turn to the right. However, as long 
as +strafe is active, this will cause the player to move to the right instead.
See alse: +left, +strafe, +moveright

+speed, -speed
While active, all player movements occur at a rate faster than normal.
See also: cl_run

+strafe, -strafe
While active, causes all +left and +right commands to act like +moveleft and 
+moveright instead.
See also: +left, +right, +moveleft, +moveright

+use, -use
While active, causes the player to attempt to use any usable items in front of 
him/her.


OTHER COMMANDS AND CVARS
========================
alias <new command> <command string>
(command)
If specified with no parameters, will display a list of all current aliases. If 
only <new command> is specified, it will be removed from the list of aliases. If 
<command string> is also specified, it will be added to the list of aliases as 
<new command>.

am_backcolor
(cvar: color)
default: "6c6c 5454 4040" (a light tan)
The color of the automap background. Changes to this cvar take effect the next 
time the automap is activated.
See also: all the am_* cvars

am_cdwallcolor
(cvar: color)
default: "4c4c 3838 2020" (a dark tan)
The color of two-sided lines that have a different ceiling height on each side. 
Changes to this cvar take effect the next time the automap is activated.
See also: all the am_* cvars

am_fdwallcolor
(cvar: color)
default: "8888 7070 5858" (a lighter tan)
The color of two-sided lines that have a different floor height on each side. 
Changes to this cvar take effect the next time the automap is activated.
See also: all the am_* cvars

am_gridcolor
(cvar: color)
default: "8b8b 5a5a 2b2b" (tan4)
The color of the automap grid. Changes to this cvar take effect the next time 
the automap is activated.
See also: all the am_* cvars

am_key1color
(cvar: color)
default: "0000 0000 9898" (a blue)
The color of lines that need a blue key to be activated. Changes to this cvar 
take effect the next time the automap is activated.
See also: all the am_* cvars

am_key2color
(cvar: color)
default: "9898 0000 0000" (a red)
The color of lines that need a red key to be activated. Changes to this cvar 
take effect the next time the automap is activated.
See also: all the am_* cvars

am_key3color
(cvar: color)
default: "e8e8 d8d8 5454" (a yellow)
The color of lines that need a yellow key to be activated. Changes to this cvar 
take effect the next time the automap is activated.
See also: all the am_* cvars

am_notseencolor
(cvar: color)
default: "6c6c 6c6c 6c6c" (somewhat dark gray)
The color of lines on the automap that haven't yet been seen. Visible with a 
computer area map. Changes to this cvar take effect the next time the automap is 
activated.
See also: all the am_* cvars

am_overlay
(cvar: boolean)
default: 0
Normally, the togglemap command switches the automap between fully off and fully 
on. Setting this cvar to "1" will cause togglemap to draw the automap on top of 
the player's view before it draws the automap fullscreen. (Bad description, I 
know.)
See also: am_rotate, togglemap

am_ovotherwallcolor
(cvar: color)
default: "0000 8888 4444" (a dark blueish-green)
The color of passable lines on the automap when the map is overlayed. Changes to 
this cvar take effect the next time the automap is activated.
See also: all the am_* cvars

am_ovthingcolor
(cvar: color)
default: "e8e8 8888 0000" (an orange)
The color of things visible with the automap cheat when the map is overlayed.  
Changes to this cvar take effect the next time the automap is activated.
See also: all the am_* cvars

am_ovunseencolor
(cvar: color)
default: "0000 2222 6e6e" (a dark greenish-blue)
The color of unseen lines on the automap when the map is overlayed. Changes to 
this cvar take effect the next time the automap is activated.
See also: all the am_* cvars

am_ovwallcolor
(cvar: color)
default: "0000 ffff 0000" (a bright green)
The color of impassable walls when the automap is overlayed. Changes to this 
cvar take effect the next time the automap is activated.
See also: all the am_* cvars

am_ovyourcolor
(cvar: color)
default: "fcfc e8e8 d8d8" (a very light orange--almost white)
The color of the arrow representing the player in single player games when the 
map is overlayed. Changes to this cvar take effect the next time the automap is 
activated.
See also: all the am_* cvars

am_rotate
(cvar: boolean)
default: 0
Normally, the automap is always drawn such that north is at the top of the 
screen. Setting this cvar to "1" causes the automap to be drawn so that lines 
toward the top of the screen are always directly in front of the player's view. 
Changes to this cvar take effect immediately, unlike most of the other am_* 
cvars.
See also: am_overlay

am_showmonsters
(cvar: boolean)
default: 1
When true, the fullscreen automap will display a count of the number of monsters 
that have been killed in the current level and the total number of monsters in 
the level.
See also: am_showtime, am_showsecrets

am_showsecrets
(cvar: boolean)
default: 1
When true, the fullscreen automap will display a count of the number of secrets 
that have been found in the current level and the total number of secrets in the 
level.
See also: am_showmonsters, am_showtime

am_showtime
(cvar: boolean)
default: 1
When true, the fullscreen automap will display the total amount of time you have 
been in a level (excluding time that has been paused).
See also: am_showmonsters, am_showsecrets

am_thingcolor
(cvar: color)
default: "fcfc fcfc fcfc" (almost white)
The color of things revealed with the map cheat. Changes to this cvar take 
effect the next time the automap is activated.
See also: all the am_* cvars

am_tswallcolor
(cvar: color)
default: "8888 8888 8888" (gray)
The color of two-sided lines that don't have any difference in floor or ceiling 
heights on either side. Only seen using map cheat. Changes to this cvar take 
effect the next time the automap is activated.
See also: all the am_* cvars

am_usecustomcolors
(cvar: boolean)
default: 1
When true, the automap uses the colors specified by the am_* cvars, otherwise it 
uses the standard DOOM automap colors. Changes to this cvar take effect the next 
time the automap is activated.
See also: all the am_* cvars

am_wallcolor
(cvar: color)
default: "2c2c 1818 0808" (a dark brown)
The color of one-sided and secret walls in the automap. Changes to this cvar 
take effect the next time the automap is activated.
See also: all the am_* cvars

am_xhaircolor
(cvar: color)
default: "8080 8080 8080" (gray)
The color of the "crosshair" dot in the center of the automap. Changes to this 
cvar take effect the next time the automap is activated.
See also: all the am_* cvars

am_yourcolor
(cvar: color)
default: "fcfc e8e8 d8d8" (a very light orange--almost white)
The color of the arrow representing the player in single player games. Changes 
to this cvar take effect the next time the automap is activated.
See also: all the am_* cvars

autoaim
(cvar: number)
default: 5
This represents the vertical distance from an object that the player's sight 
must be before that object is aimed at. Setting this cvar to "0" effectively 
disables autoaiming, while values around "20" should be sufficient to reproduce 
the original DOOM behavior.

bind <key> <command string>
(command)
If no parameters are specified, the entire list of bound keys will be printed to 
the console. If only <key> is specified, the binding for that specific key will 
be printed. If both <key> and <command string> are specified, <command string> 
will be bound to <key>.
See also: unbind, unbindall

binddefaults
(command)
Binds all keys to their default commands. This will not unbind any keys that do 
not have any default bindings, so if you want to properly restore the default 
controls, you need to use unbindall first.
See also: unbindall, bind

bumpgamma
(command)
Increases the current gamma level by 0.1. If the new gamma level would be 
greater than 3.0, it wraps the gamma around to 1.0
See also: gamma

centerview
(command)
Causes the player to look straight ahead.
See also: +lookup, +lookdown

changemus <music>
(command)
Changes the currently playing music. <music> should be the name of a music lump 
or file.

chatmacro0
chatmacro1
chatmacro2
chatmacro3
chatmacro4
chatmacro5
chatmacro6
chatmacro7
chatmacro8
chatmacro9
(cvar: string)
These are all strings programmable to the function keys during a netgame. I've 
never used them, so I don't know specifically how to put them to use, nor is it 
probably necessary to keep them around once I implement a "say" command.

cheats
(cvar: boolean)
default: 0
When non-zero, cheats will be allowed in Nightmare difficulty. Eventually, this 
should also allow for cheating in network games.
See also: give, god, noclip, notarget, idclev

clear
(command)
Clears the console of all text.

cl_run
(cvar: boolean)
default: 0
When non-zero, the game will always treat movement commands as if +speed is 
active.
See also: +speed

cmdlist
(command)
Lists all commands currently supported by ZDoom.

con_notifytime
(cvar: number)
default: 3
This is the number of seconds that new messages will stay at the top of the 
screen before they start scrolling away. Currently also the length of time that 
messages in the middle of the screen will be displayed, but this will probably 
be separated to another cvar in the next release.

crosshair
(cvar: number)
default: 0
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the 
crosshair is translucent, otherwise it is opaque. The specific crosshair drawn 
depends on the value of this cvar.

developer
(cvar: boolean)
default: 0
When true, prints various debugging messages to the console.

dimamount
(cvar: number)
default: 1
This is the amount of dimcolor to mix with the background when a menu is 
displayed. The available values are:
0: Do not dim the background.
1: Mix 25% of dimcolor with the background.
2: Mix 50% of dimcolor with the background.
3: Mix 75% of dimcolor with the background.
See also: dimcolor

dimcolor
(cvar: color)
default: "ffff d7d7 0000" (gold)
This is the color to mix with the background when a menu is displayed.
See also: dimamount, setcolor

dumpheap
(command)
Prints detailed information about the heap. Probably not very useful.

echo <string>
(command)
Prints [string] to the local console.

exec <script file>
(command)
Executes a series of commands stored in the <script file> as if they were typed 
in at the console.

freelook
(cvar: boolean)
default: 0
When true, mouse aiming will always be on, regardless of the state of +mlook.
See also: +mlook, invertmouse

gameversion
(command)
Prints the version number and compile date of ZDoom.

gamma <level>
(command)
If <level> is not specified, displays the current gamma correction level. 
Otherwise, sets the gamma correction level to <level>. 1.0 is equivalent to no 
correction, while larger numbers translate into a brighter display, and smaller 
numbers translate into a darker display. 0.0 is invalid and will be rejected. 
Negative numbers are technically invalid as well but will be accepted solely for 
the novelty value doing so provides.
See also: bumpgamma

get <cvar>
Displays the value of <cvar>. This is probably redundant since typing the name 
of the cvar alone will accomplish the same thing.
See also: set

give <item>
(command)
Gives an item to the player. This is a cheat.
See also: cheats

god
(command)
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by 
normal attacks (although telefragging will still kill you). Also known as iddqd. 
This is a cheat.

history
(command)
Prints the console command history.

idclev <level code>
(command)
Changes to the level specified by <level code>.

idclip
See noclip.

iddqd
See god.

idmypos
(cvar: boolean)
default: 0
When non-zero, constantly displays the player's current position and view angle.
See also: idmypos (command)

idspispopd
See noclip.

impulse <number>
(command)
This is currently a hack to get weapon selection to work with keybindings until 
I finalize the inventory system (at which time, weapon selections will be 
handled as they are in Quake2). <number> can be a value ranging between 1 and 8 
inclusive and will select the corresponding weapon.

invertmouse
(cvar: boolean)
default: 0
When true, reverses the way mouse movement up and down is interpreted with 
+mlook. Normally, moving the mouse forward will make you look up, and moving it 
back will make you look down. Setting this cvar changes this behavior so that 
moving the mouse forward makes you look down, and moving it back makes you look 
up.
See also: +mlook, freelook

i_remapkeypad
(cvar: boolean)
default: 1
When non-zero, most keypad keys will act like the keys in the cursor island 
between the main keyboard and the numeric keypad. For instance, when this cvar 
is true, pressing "4" on the keypad is the same as pressing the left arrow on 
the cursor island. If you need to map different commands to these keys, set 
i_remapkeypad to "0".
See also: bind

key [value] ...
(command)
Translates all parameters on the command into their corresponding key values 
which are used internally for command and alias lookup. Probably not very 
useful.

kill [monsters]
(command)
If used as "kill monsters", will kill all monsters on the level. Otherwise, it 
will kill you instead. This command is broken in netgames, so don't use it 
unless you are playing a single player game.

logfile [log file]
(command)
If [log file] is not specified, will stop console logging (if active). 
Otherwise, all console output will be sent to the [log file] as well as the 
screen.

lookspring
(cvar: boolean)
default: 1
When true, all -mlook commands will also generate centerview commands.
See also: +mlook

lookstrafe
(cvar: boolean)
default: 0
When true, moving the mouse left and right will always cause the player strafe 
left and right regardless of the state of +strafe.
See also: +strafe

menu_endgame
(command)
Asks the user if they want to end the current game, and drops to the title 
screen if they do.

menu_game
(command)
Displays the new game menu.

menu_help
(command)
Displays the help screen.

menu_keys
(command)
Displays the customize controls menu.

menu_load
(command)
Displays the load game menu.

menu_main
(command)
Displays the main menu.

menu_options
(command)
Displays the options menu.

menu_quit
(command)
Asks the user if they want to quit, and quits if they do.

menu_save
(command)
Displays the save game menu.

menu_video
(command)
Displays the video options menu.

mouse_sensitivity
(cvar: number)
default: 1.0
The larger this cvar, the more sensitive the game is to all mouse movements.

m_forward
(cvar: number)
default: 1.0
This is the sensitivity of moving forward and backward with the mouse.
See also: mouse_sensitivity

m_pitch
(cvar: number)
default: 1.0
This is the sensitivity of looking left and right with the mouse.
See also: mouse_sensitivity

m_side
(cvar: number)
default: 2.0
This is the sensitivity of strafing left and right with the mouse.
See also: mouse_sensitivity, +strafe, lookstrafe

m_yaw
(cvar: number)
default: 1.0
This is the sensitivity of looking up and down with the mouse.
See also: mouse_sensitivity, +mlook, freelook

noclip
(command)
Toggles noclipping mode on/off. Also known as idclip and idspispopd. This is a 
cheat.
See also: cheats

notarget
(command)
Toggles notarget mode on/off. While active, monsters will not target you unless 
you hurt them first. This is a cheat.
See also: cheats

pause
(command)
Pauses or unpauses the game depending on whether or not it is currently paused.

quickload
(command)
Loads the last quicksaved game.
See also: quicksave

quicksave
(command)
Quick saves the game.
See also: quickload

quit
(command)
Exits ZDoom and saves all configuration information to disk.

r_drawplayersprites
(cvar: boolean)
default: 1
When zero, the game will not draw the player's weapon or muzzle flash.

r_viewsize
(cvar: string)
String containing the width and height of the current view window. This cvar is 
read only.
See also: sizeup, sizedown, screenblocks

screenblocks
(cvar: integer)
default: 10
This cvar is used during startup to determine the initial size of the view 
window.
See also: sizeup, sizedown, r_viewsize

set <cvar> [value]
(command)
If neither <cvar> nor [value] are specified, displays a list of all cvars and 
their associated values. (This behavior will probably be moved to a separate 
cvarlist command ala Quake2.) If only <cvar> is specified, it will be removed 
from the list of cvars if it is a custom cvar, otherwise nothing will happen. If 
[value] is also specified, <cvar> will be assigned the value [value].
See also: get

setcolor <cvar> <color name>
(command)
Sets <cvar> to a color value specified in the X11R6RGB lump. (This is the 
X11R6.rgb file from a standard X-Windows system.) If <color name> cannot be 
found, the contents of <cvar> are left unchanged.
See also: all the am_* cvars, dimcolor

show_messages
(cvar: boolean)
Default: 1
When this variable is non-zero, game messages will be displayed at the top of 
the screen. Regardless of the state of this cvar, console messages will always 
be displayed in the console and also written to disk if logging is enabled.

sizedown
(command)
Decreased the size of the active display area.
See also: sizeup

sizeup
(command)
Increases the size of the active display area.
See also: sizedown

skill
(cvar: integer)
default: 2
This variable contains the game skill, ranging from 0 to 4 inclusive. Changes to 
this cvar only take effect when a new level is loaded.

snd_channels
(cvar: integer)
default: 8
This cvar determines the number of sound effect channels are handled by the 
high-level sound code. Currently, it does not actually change the number of 
channels used for sound effects. Until it does, you should keep it set to its 
default value.

snd_musicvolume
(cvar: integer)
default: 9
This is the volume at which music is played and can range from 0-64 inclusive. 
Currently, this only effects MOD music, and this may never change. To set the 
volume of MIDI music, use the standard Windows Mixer. Note that setting this 
near its maximum will probably result in distortions of the music. Also, changes 
to this cvar only take effect when you use the menu to change the volume.
See also: snd_sfxvolume

snd_samplerate
(cvar: integer)
default: 44100
This is the sampling rate at which sounds are mixed in the game. The value in 
this cvar will only take effect when MIDAS is restarted (usually when the game 
first starts). If you do not play MOD music from within the game, you can set 
this as low as 11025 without experiencing much perceptable loss of sound 
quality. If you try to set this to a rate your sound card does not support, the 
game will refuse to run, and you will need to edit the config.cfg file by hand. 
(I intend to eventually change this behavior.)

snd_sfxvolume
(cvar: integer)
default: 8
This is the volume at which sound effects are played and can range from 0-15 
inclusive. Changes to this cvar only take effect when the menu is used to change 
the volume.
See also: snd_musicvolume

stop
(command)
Stops demo recording and exits the game.

toggle <cvar>
(command)
Toggles the value of <cvar> between zero and non-zero.

toggleconsole
(command)
Toggles display of the console on/off.

togglemap
(command)
Toggles the automap on/off. 
See also: am_overlay

togglemessages
(command)
Toggles display of game messages on/off. The only difference between doing this 
and "toggle show_messages" is that this command always displays a message.
See also: show_messages, toggle

unbind <key>
(command)
Removes a keybinding from the specified key.
See also: bind, unbindall

unbindall
(command)
Removes all keybindings from every key. To restore the default keybindings, you 
can use the binddefaults command. There is no way to restore any custom 
keybindings after issuing this command.
See also: bind, unbind, binddefaults

use_joystick
(cvar: boolean)
default: 0
This cvar was preserved from the original Doom's default.cfg and is not actually 
used anywhere.
See also: use_mouse

use_mouse
(cvar: boolean)
default: 1
This cvar was preserved from the original Doom's default.cfg and is not actually 
used anywhere.
See also: use_joystick

vid_defdriver
(cvar: string)
default: "NULL"
Specifies a display driver to use upon game startup. If the driver could not be 
found, the system default driver will be used instead.
See also: vid_describecurrentdriver, vid_describedrivers

vid_defheight
(cvar: integer)
default: 200
Specifies the default screen height to use if not overridden at the command 
line.
See also: vid_defwidth

vid_defwidth
(cvar: integer)
default: 320
Specifies the default screen width to use if not overridden at the command line.
See also: vid_defheight

vid_describecurrentdriver
(command)
Displays information about the video driver ZDoom is currently using.
See also: vid_describedrivers, vid_defdriver

vid_describecurrentmode
(command)
Displays the resolution of the currently active video mode.
See also: vid_defwidth, vid_defheight

vid_describedrivers
(command)
Displays information about all DirectDraw drivers that could be found in your 
machine.
See also: vid_describecurrentdriver, vid_defdriver

vid_describemodes
(command)
Lists all resolutions supported by the current display driver.
See also: vid_describecurrentmode, vid_describecurrentdriver

vid_fps
(cvar: boolean)
default: 0
When true, will display a frame-per-second meter at the bottom of the screen.

vid_nummodes
(cvar: integer)
Contains the number of resolutions supported by the current driver.
See also: vid_describemodes

wi_percents
(cvar: boolean)
default: 1
When false, intermission stats are printed as absolute values such as "3 of 6". 
When true, intermission stats are printed as percentages such as "50%", which is 
also the only behavior supported by the original DOOM.
