Contents
About the console
ZDoom's console is a powerful tool for interacting with the game engine directly.
There are two methods for accessing it:
- Open the options menu and select "Go to console."
- Press a key bound to the toggleconsole command. The normal key for this
is the ` key (the key to the left of 1 and above Tab).
Once the console is open, you can type in commands and they will appear at the bottom of the console.
If you type a command that is wider than the console, the command view scrolls to fit the most recently
part of the command on the screen. Press Enter to execute the command.
To close the console and return to the game, press ` again or press Esc.
The console is divided into three distinct sections:
- The largest part of the console is the console buffer. This shows the last 32768 bytes printed to the
console (which are also printed to the top of the screen when the console is closed).
- Underneath the console buffer is the command line. This is where you enter all your commands at.
- Just beneath the command line is the ZDoom version number. If you're not sure what version of ZDoom
you're playing, just open the console and look in its lower-right corner.
There are several special keys that function in the console:
- Enter
- Execute the current command line.
- Tab
- Move forward through the possible completions for the current command. To use this feature, type the
first few characters of a command or cvar, then press Tab. For example, if you type
cl_
and then press Tab, the first press of the Tab key will list all the possible choices that begin with cl_.
Each time you press Tab after that, the next choice in the list will be placed on the command line.
- Shift+Tab
- Move backward through the possible completions for the current command.
- Left arrow
- Move the cursor left on the command line.
- Right arrow
- Move the cursor right on the command line.
- Home
- Move the cursor to the first character on the command line.
- End
- Move the cursor to the last character on the command line.
- Backspace
- Delete the character to the left of the cursor
- Del
- Delete the character underneath the cursor
- Up arrow
- Scroll backward through the most recently typed command lines.
- Down arrow
- Scroll forward through the most recently typed command lines.
- Ctrl+C
- Copy the current command line to the clipboard.
- Ctrl+V
- Paste the contents of the clipboard to the command line.
- Ctrl+D
- When pressed on an empty command line, executes the contents of the con_ctrl_d
cvar as if it had been typed at the command line.
- Page Up
- Scroll the console buffer up one line.
- Page Down
- Scroll the console buffer down one line.
- Shift+Page Up
- Scroll the console buffer up one page.
- Shift+Page Down
- Scroll the console buffer down one page.
- Ctrl+Home
- Scroll to the top of the console buffer.
- Ctrlr+End
- Scroll to the bottom of the console buffer.
You can also use your mouse wheel to scroll through different things on the console:
- Wheel Up
- Scroll the console buffer up three lines.
- Wheel Down
- Scroll the console buffer down three lines.
- Ctrl+Wheel Up
- Scroll the console buffer up one page.
- Ctrl+Wheel Down
- Scroll the console buffer down one page.
- Shift+Wheel Up
- Scroll backward through the most recently typed command lines.
- Shift+Wheel Down
- Scroll forward through the most recently typed command lines.
Using this reference
This reference lists every cvar and command found in ZDoom. To make browsing easier,
they have been split into different sections according to category. If you already know the
name of the command or cvar you want, you can use the index to jump
directly to it.
Because cvars are like special commands, there is no separation between commands and cvars.
However, each entry is color coded:
command required-parameter [optional-parameter]
Green entries are commands. Commands are actions that the game can perform.
The command's name and any parameters it takes are listed at the top of the box.
The parameters are all listed in italics. If a parameter is not required for the command
to operate, then it is surrounded by square brackets [like this].
The rest
of the box is devoted to a description of the command, which tells what the command does and what
any of its parameters do.
cvar
type: default
Cyan entries are cvars. A cvar (short for console variable) contains a value that the
game uses to control its operations.
Like commands, the first part of the box contains the cvar's name. However, parameters are never
listed because cvars always have one optional parameter. If you use a cvar without a parameter,
the cvar's current value is printed to the console. If you provide a parameter for the cvar, then that
will become the cvar's new value.
The next part of the box is the cvar's type and default value. The type determines what kinds of
values the cvar can hold, and its default is the value it will have when the game can't find an .ini
to load its settings from.
The remainder of the box is used to describe how the cvar is used.
flag cvar
flag in other cvar: default
Blue entries are flag cvars. These are similar to the other types of cvars, except they
don't have any values of their own. Instead, they pick apart the contents of another cvar so that you don't
need to remember any numbers to use the other cvar.
Console variable types
There are seven types of cvars:
- boolean
-
This type of variable represents a yes/no or on/off value. It can only be set
to true or false. As shorthand, setting a boolean variable to 0 will set it to
false, and setting it to anything non-zero will set it to true.
- integer
-
This is an ordinary number without a decimal point. For example, 1 is an
integer, but 1.2 is not.
- float
-
This is an ordinary number that can have a decimal point.
- string
-
This is a series of text characters enclosed in quotes: For example, "Felix
loitered lecherously on the lot" is a string. If you removed the quotes around
it, then it would not be a string.
If you need to use quotes inside a string, preface it with a backslash.
Are you "The One" of old?
would be written like this as a string:
"Are you \"The One\" of old?"
- color
-
This type of variable is a series of three hexadecimal numbers representing the
amounts of red, green, and blue (in that order) in a color. For example, pure
red would be represented as "ff 00 00". As a shorthand, you can set a color
variable with one of several color names, and the RGB values will be set for
you.
- GUID
-
This type variable is used to hold a GUID (Globally Unique Identifier). It is
currently used only by joy_guid.
- flag
-
This type of variable mirrors a setting in dmflags or dmflags2. Setting its
value will set the corresponding value in one of those variables, and getting
its value will get the corresponding value from one of the other two variables.
This is designed to make using dmflags easier, because you don't have to
memorize any numbers.
Obsolete commands and variables
The following commands and variables were present in ZDoom 1.22 but have been
removed:
- configver
-
This variable was used by ZDoom to determine which version wrote the zdoom.cfg.
This has been replaced by the [LastRun] section of zdoom.ini and is no longer
accessible from the console.
- def_patch
-
You can now have multiple dehacked patches loaded automatically. To do this,
add a [Doom.DefaultDehacked] section to zdoom.ini like
this:
[Doom.DefaultDehacked]
Path=my_first_patch.deh
Path=my_second_patch.deh
You can add as many Path= lines as you like. Not all Dehacked patches will work
well together. Changes made by patches listed later will override any changes
made by patches listed earlier that affect the same things. If you specify any
patches with -deh or -bex at the command line, then those patches will be
loaded instead of the ones listed here.
- i_remapkeypad
-
The keypad is never remapped to non-keypad keys anymore. This cvar came from a
time when you could only assign a function to at most two different keys. Now
that Quake-style keybindings are possible, this cvar is no longer necessary and
has been a source of confusion.
- impulse
-
Use the new slot command instead.
- nobfgaim
-
This was renamed to sv_nobfgaim and is now a part of
dmflags2.
- vid_noptc
-
PTC is no longer used for video, so there is nothing for this cvar to disable.
- testgibs
-
This variable never did anything useful in 1.22.
- sv_friction
-
Friction was never configurable from the console.
Button commands
Button commands are commands that represent buttons and come in pairs. Each
"button" has a command prefixed by a + and another corresponding command
prefixed by a -. The + version of the command simulates pushing the button, and
the - version of the command simulates releasing the button.
When you bind a command that begins with + to a key, releasing the key will
automatically execute the same command with the + replaced by a -. Note that
this works for aliases as well as the commands listed here. This provides a
useful way to bind multiple actions to a single key. Suppose you want the
normal Doom behavior of moving forward and using when you double click the
right mouse button. If you use the commands
bind mouse2 +forward
doublebind mouse2 +use
ZDoom will move you forward when you press the right mouse button. When you
double click it, you will press use, but you will not move forward. To simulate
the standard Doom behavior, you can replace the doublebind command with these
three commands instead:
alias +useforward "+use; +forward"
alias -useforward "-use; -forward"
doublebind mouse2 +useforward
Now when you double click the right mouse button, the +useforward alias will be
executed. Because +useforward's name begins with a + releasing the right mouse
button will execute the -useforward alias (whether or not -useforward is
defined).
This behavior of executing a - command when a key is released applies only to
the first command or alias bound to the key. If you bind a key to "+forward;
+right", releasing the key will execute the command "-forward; +right" and not
"-forward; -right". As shown above, you can use aliases to get the correct
behavior.
Another trick you can do with aliases is to create a key that only executes the
+ command without executing the - command. If you wanted a key that will make
you move forward when you press it, and will keep you moving forward even after
releasing it, you can use an alias like this:
alias go "+forward"
Then instead of binding +forward to a key, you bind go to the key instead. This
works because go does not begin with a + so nothing will happen when you
release the key—ZDoom only looks at the command actually bound to the key
to determine if it should execute a - command when the key is released; it does
not look inside aliases.
Standard buttons
+attack |
Use your weapon. |
-attack |
Stop using your weapon. |
|
+use |
Start trying to use anything in front of you. |
-use |
Stop trying to use anything in front of you. |
|
+back |
Move backward. |
-back |
Stop moving backward. |
|
+forward |
Move forward. |
-forward |
Stop moving forward. |
|
+jump |
Start jumping. |
-jump |
Stop jumping. |
|
+left |
Start turning left. |
-left |
Stop turning left. |
|
+right |
Start turning right. |
-right |
Stop turning right. |
|
+moveleft |
Start strafing left. |
-moveleft |
Stop strafing left. |
|
+moveright |
Start strafing right. |
-moveright |
Stop strafing right. |
|
+lookdown |
Start lowering your view. |
-lookdown |
Stop lowering your view. |
|
+lookup |
Start raising your view. |
-lookup |
Stop raising your view. |
|
+movedown |
Start moving down if swimming or flying. |
-movedown |
Stop moving down. |
|
+moveup |
Start moving up if swimming or flying. |
-moveup |
Stop moving up if swimming or flying. |
|
+strafe |
Causes +left and +right to behave like +moveleft and +moveright; |
-strafe |
Returns +left and +right to their normal behavior. |
|
+klook |
Causes +forward and +back to act like +lookup and +lookdown instead. |
-klook |
Returns +forward and +back to their normal behavior. |
|
+mlook |
Moving the mouse up and down will make you look up and down. |
-mlook |
Moving the mouse up and down will make you move forward and backward. However,
if freelook is true, then moving the mouse up and down will still change your
view instead of moving you. |
|
+showscores |
Display a scorelist for deathmatch games. |
-showscores |
Hide the deathmatch scorelist. |
|
+speed |
Start running. |
-speed |
Start walking. |
Customization
addkeysection menu-heading ini-section-name
This command does two things. First, it adds a new heading called
menu-heading
to the
controls menu. You can use the
addmenukey command to add your own custom keys beneath this heading.
Second, it loads all the bindings from the corresponding
ini-section-name
section in zdoom.ini. You can use this command multiple times to create
different sections in the menu and ini for different sets of commands. If you
use a
menu-heading that was already added to the menu, new controls
added with addmenukey will appear at the end of that section, but the bindings
will not be reloaded from the ini.
Adds a new control to the controls menu.
Description is the
name of this control in the menu, and
command is a console command or
alias to be executed when the control is pressed. New controls are added to the
last section specified with
addkeysection.
addslot slot weapon
Adds a single weapon to the list of weapons in a weapon slot.
addslotdefault slot weapon
Adds a single weapon to the list of weapons in a weapon slot, but
only if that weapon is not already in a slot. If the weapon is already present
in a slot (either the slot specified to addslotdefault or some other slot),
then this command does nothing. When used inside a KEYCONF lump, this command
must be preceded by a
weaponsection command.
alias new-command [command-string]
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. For example, to create a new
command to kill the monsters on the level, you can use the command:
alias massacre "kill monsters"
Then you can use the newly created massacre
command to kill all the
monsters on the level.
archivecvar cvar
When you create a custom cvar with the
set command,
it will not normally be saved in the ini. You can use archivecvar after
creating the cvar to indicate that the custom cvar's value should persist even
after you quit.
atexit [command]
If you specify a command, it will be added to a list of
console commands to execute when the user quits the game. Commands are executed
in the reverse order that they were added in. If you do not specify any
arguments to atexit, then it will list the current set of commands that will
execute when you quit.
bind [key [command string]]
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].
binddefaults
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.
defaultbind key command
Binds command to the key if and only if key is
not already bound and there are no keys already bound to command.
doublebind [key [command string]]
This command works just like bind, except it controls the action
that occurs when a key is double-clicked. If a key does not have a
doublebinding, then double-clicking it has the same result as pressing it
twice. Otherwise, the first press will execute the normal command set with
bind, and the second press of the double-click will execute the command set
with doublebind.
eval expression [variable]
Evaluates a mathematical expression and either prints it to the
console or stores it in
variable. Expressions are written using prefix
notation instead of the more common infix notation. Basically, you first
specify what you want to do (the operator) and then what you want to do it to
(the operands). You must separate operators and operands with spaces.
- Examples:
-
To compute 2+2:
eval + 2 2
To compute 5-3:
eval - 5 3
To compute 2+(5*6):
eval + 2 * 5 6
To decrease the number of screenblocks:
eval - $screenblocks 1 screenblocks
- The supported operators are:
+ a b |
Adds a and b. |
- a b |
Subtracts b from a. |
* a b |
Multiplies a and b. |
/ a b |
Divides a by b. |
% a b |
Calculates the remainder of a/b. |
^ a b |
Raises a to the b-th power |
< a b |
Produces 1 if a is less than b and 0 if not. |
<= a b |
Produces 1 if a is less than or equal to b and 0 if not. |
> a b |
Produces 1 if a is greater than b and 0 if not. |
>= a b |
Produces 1 if a is greater than or equal to b and 0 if
not. |
= a b |
Produces 1 if a is equal to b and 0 if not. |
== a b |
Produces 1 if a is equal to b and 0 if not. |
!= a b |
Produces 1 if a is not equal to b and 0 if it is. |
<> a b |
Produces 1 if a is not equal to b and 0 if is. |
xor a b |
Calculates the bit-wise exclusive-or of a and b. |
& a b |
Calculates the bit-wise and of a and b. |
| a b |
Calculates the bit-wise or of a and b. |
&& a b |
Calculates the logical and of a and b. |
|| a b |
Calculates the logical or of a and b. |
exec script-file
Executes a series of commands stored in the script-file as if
they had been typed in at the console directly.
key value1 [value2]
Translates all parameters to the command into their corresponding
key values which are used internally for command and alias lookup. Probably not
very useful for the average user.
puke script [arguments]
Executes an ACS script on the current map, optionally passing it up
to three numerical arguments.
pullin wadfile
Loads a
wadfile at startup. This command is only valid inside
.cfg files that have been
execed at startup.
set cvar value
Sets cvar to value. If cvar does not exist, it
will be created.
rebind binding
Changes the binding for the key that caused the rebind command to
execute. For obvious reasons, this command cannot be used at the console.
- Example:
-
bind b "echo setting 1; rebind \"echo setting 2\""
This will cause the first press of b to echo "setting 1" to the console. All
future presses of b will echo "setting 2" instead.
unbind key
Removes a binding from the specified key.
unbindall
Removes all bindings and doublebindings from every key. To restore
the default bindings, you can use the binddefaults command. There is no way to
restore any custom bindings after issuing this command except by retyping each
bind command or using the controls setup menu.
undoublebind key
Removes a doublebinding from the specified key.
unset cvar
Undefines a user-created cvar.
weaponsection ini-section-name
This command is similar to
addkeysection.
Upon execution, it loads all the weapon slot assignments from the corresponding
ini-section-name
section in zdoom.ini. When you quit the game, the weapon slots will also be
stored in the specified section in zdoom.ini instead of their standard location
so that they do not overwrite the player's normal weapon assignments.
Screenshots
png_gamma
float: 0
Controls the gamma level stored in PNG screenshots. If this is 0,
then your current
gamma setting will be used.
png_level
integer: 5
This is the level of compression to use for PNG screenshots. 0 is no
compression at all, 1 is minimal compression (fastest), 9 is maximum
compression (slowest), and intermediate values offer intermediate compression.
5 is offers a decent trade-of between file size and compression time. An
uncompressed image will not neccessarily save faster than a compressed image,
because the extra time needed to write out a complete uncompressed image may be
longer than the time required to compress the image. If you need to create
screenshots as quickly as possible, consider setting
screenshot_type
to "pcx".
screenshot [file]
Dumps a copy of the screen to disk as a PNG or PCX file. If file
is not specified, the screenshot will be saved to the directory the game was
run from with a name of the form doom????.png.
screenshot_dir
string: ""
This is the directory where screenshots will be saved if you do not
provide a filename to the screenshot command. If this is unspecified (i.e. you
leave it at its default), screenshots will be saved to the current working
directory.
screenshot_quiet
boolean: false
Setting this to true will suppress the messages informing you what
file a screenshot was saved to.
screenshot_type
string: "png"
Determines the type of screenshots that will be saved. This can be
either "png" or "pcx". In my empirical studies, PNG screenshots are about half
the size of pcx screenshots. PCX screenshots have the advantage that they
require less time to create so are most useful for rapid screenshot generation.
The following sequence of console commands will take a screenshot every frame.
You can use an external program to assemble these into a video, if desired.
screenshot_type "pcx"
screenshot_quiet true
alias autoshot "screenshot; wait 1; autoshot"
autoshot
If you use the autoshot alias, the command alias autoshot
will stop
automatic screenshot taking before you hit 10000 screenshots (approximately 4
minutes, 45 seconds).
storesavepic
boolean: true
Setting this to false will produce smaller savegames (by about 14k
typically) by not storing a screenshot inside the savegame.
Chatting
chat_substitution
boolean: false
Set this to true if you want to chat using special keywords that
will be replaced with appropriate text when your messages are sent. The
supported keywords are:
- $health
-
Replaced by your current health.
- $weapon
-
Replaced by the name of your current weapon.
- $armor
-
Replaced by your current armor count.
- $ammocount
-
Replaced by your current ammo count.
- $ammo
-
Replaced by the name of your current ammo.
As an example, if you just started a new game of Doom and have chat
substitution turned on, when you send the message "My health is $health, and I
am using a $weapon", the message that is actually sent will be "My health is
100, and I am using a Pistol".
chatmacro0
chatmacro1
chatmacro2
chatmacro3
chatmacro4
chatmacro5
chatmacro6
chatmacro7
chatmacro8
chatmacro9
string
These are all strings that can be assigned to hotkeys in chat mode.
To use these, enter chat mode and then hold down Alt and press one of the
number keys. The string stored in the corresponding chatmacro cvar will be sent
as if you had typed it yourself.
messagemode
Enters message entry mode. Anything typed while in this mode will be
sent to everyone else as if you had used the say command once you press enter.
messagemode2
This is just like messagemode except that the message is only sent
to other members of your team. If teamplay is false or you don't have a team,
then this command will work just like messagemode and send the message to
everyone.
say message
Sends a message to everyone playing. If your message begins
with "/me" then "/me" will be replaced by your name ala IRC.
say_team message
This is just like say except it only sends a message to your
teammates. If teamplay is inactive, then this command will act exactly like say
and send the message to everyone.
Gameplay
Cheating
sv_cheats
boolean: false
When true, cheats will be allowed in Nightmare difficulty and
network games. For purposes of fairness, this cvar can only be set from the
command line when you run ZDoom. This is to avoid situations where the key
player in a multiplayer game (player 1) could go to the console and type
something like this:sv_cheats 1
god
sv_cheats 0
whereby rendering himself immune to the attacks of
others.
anubis
Toggles monster fear on and off. Scared monsters will run away from
you and attack less frequently.
fly
Toggles fly mode on and off.
give item
Gives an item to the player. Give understands the following special
items:
- all - gives you everything
- health - gives you full health
- weapons - gives you every weapon
- ammo - gives you full ammo
- armor - gives you full armor
- keys - gives you every key
It also understands the names of individual inventory items. Use the command
dumpclasses inventory
for a complete list of these.
god
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.
iddqd
The same as
god, except it also gives you 100
health.
kill [monsters]
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]
If log-file is not specified, console logging will be stopped
(if active). Otherwise, a file named log-file will be created on disk,
and all console output will be recorded in it as well as on the screen.
mdk
This cheat will kill whatever you are looking at.
morphme
Transforms you into a chicken in Heretic and a pig in Hexen.
noclip
Toggles noclipping mode on/off.
notarget
Toggles notarget mode on/off. While active, monsters will not target
you unless you hurt them first.
powerup
Powers you up in Heretic as if you had used a Tome of Power.
turbo
float: 100
This cvar affects how quickly the player moves. A value of 100 will
cause the player to move at normal speed, 200 will cause the player to move at
200% of normal speed, 50 will cause the player to move at 50% of normal speed,
etc. Valid values range from 10 to 256.
Display
bumpgamma
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
cl_bbannounce
boolean: false
When true, enables the Bloodbath announcer for deathmatch games. The
Bloodbath announcer is "The Voice" from Monolith Software's Blood game. To hear
the announcer, you need to load Blood's sounds.rff either at the command line
or through one of zdoom.ini's [*.Autoload] sections. You can get this file
either from the demo or full version of Blood. If you don't have sounds.rff,
you can still see the announcer's messages even though you won't hear anything.
cl_capfps
boolean: false
Traditionally, Doom has been limited to displaying only 35 frames
per second. In ZDoom, this limitation has been shattered, and the game will
normally run as fast as your processor allows. If you prefer the limited
framerate originally offered by Doom, you can set this cvar to true, and the
game will never run faster than 35 FPS. If your machine is too slow to run
faster than 35 FPS, you might also experience better gameplay by setting this
cvar to true.
cl_showmultikills
boolean: true
Set this to false if you don't want to see Unreal Tournament-style
messages when a player makes several kills in a short period of time.
cl_showsprees
boolean: true
Set this to false if you don't want to see Unreal Tournament-style
messages when a player is on a killing spree.
cl_spreaddecals
boolean: true
ZDoom clips decals to sidedefs. In order to hide this, the game will
create as many duplicate decals on adjoining sidedefs as needed to make it
appear that there is only one unbroken decal on the wall. Set this cvar to
false if you don't want this.
con_centernotify
boolean: false for Doom, true for Heretic and Hexen
When true, notify messages at the top of the screen are centered.
Otherwise, they are justified against the left margin.
con_midtime
float: 3
This is the number of seconds that messages in the middle of the
screen will be displayed before they dispapper.
con_notablist
boolean: false
When you press tab on the console to complete a command, a list of
possible completions will normally be printed the first time you press tab and
subsequent presses of tab will cycle through the different completions. By
setting this cvar to true, the list will not be printed and every press of tab
will cycle through the possible completions.
con_notifytime
float: 3
This is the number of seconds that new messages will stay at the top
of the screen before they start scrolling away.
con_scaletext
boolean: false
If this cvar is true, then message text will be scaled to larger
sizes depending on the screen resolution so that it will stay approximately the
same size it would be on a 320x200 screen.
crosshair
integer: 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.
crosshaircolor
color: "ff 00 00"
This is the crosshair's color if crosshairhealth is false.
crosshairgrow
boolean: false
Set this to true if you want the crosshair to temporarily enlarge
each time you pick up an item.
crosshairhealth
boolean: true
When true, the crosshair's color reflects your current health. Green
is healthy, red is near death, and intermediate colors are somewhere in
between. Set this to false, if you want the crosshair to have a constant color
(specified by the crosshaircolor cvar) instead.
crosshairscale
boolean: false
Set this to true if you want the crosshair to always appear the same
size at all resolutions. Leaving it at false causes the crosshair to be drawn
normally.
gamma
float: 1.0
Controls the amount of gamma correction applied to the display. 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 but will be
accepted solely for the novelty value doing so provides.
hud_scale
boolean: false
Controls scaling of the fullscreen hud. At resolutions of 640x400 or
above, setting this cvar to true will cause the icons to be scaled to
approximately the same size they would be at 320x200. If this cvar is false,
the icons will always be drawn without any scaling.
msg
integer: 0
This is the minimum message level that you will see. You will not
see any messages with a lower priority than this. The different message levels
are:
- Item pickup
- Obituaries
- Critical messages
- Chat messages
- Chat messages from a teammate
msg0color
integer: 6
This cvar controls the color used to display level 0 (item pickup)
messages. Available colors are:
- Brick
- Tan
- Gray
- Green
- Brown
- Gold
- Red
- Blue
- Orange
- White
- Yellow
msg1color
integer: 5
This cvar selects the color used to display level 1 (obituary)
messages. Available colors are the same as for"
msg0color.
msg2color
integer: 2
This cvar selects the color used to display level 2 (critical)
messages. Available colors are the same as for
msg0color.
msg3color
integer: 3
This cvar selects the color used to display level 3 (chat) messages.
Available colors are the same as for
msg0color.
msg4color
integer: 3
This cvar selects the color used to display level 4 (team chat)
messages. Available colors are the same as for
msg0color.
msgmidcolor
integer: 5
This cvar selects the color used to display messages in the middle
of the screen. Available colors are the same as for
msg0color.
msgmidcolor2
integer: 4
This cvar selects the color used to display messages in the middle
of the screen that are sent to everyone. Available colors are the same as for
msg0color.
st_scale
boolean: false
When this cvar is true, the status bar will be scaled so that it
covers the entire width of the screen in higher resolutions. At low resolutions
this may look ugly, but at high resolutions it should look good enough.
Renderer
r_columnmethod
integer: 1
Selects which of two algorithms to use to draw sprites and masked
textures. Method 0 is the original algorithm used by DOOM. Method 1 is a new
algorithm optimized for Pentium IIs and can perform significantly better with
that or comparable processors. Ironically, method 0 is slightly faster than
method 1 on Pentium III and Athlon processors (though not significantly so).
r_detail
integer: 0
This cvar selects the detail level of the view window. Valid values
are:
- Normal detail level. Equivalent to Doom's high detail mode.
- Double pixels horizontally. Equivalent to Doom's low detail mode.
- Double pixels vertically.
- Double pixels horizontally and vertically.
Because of the way the renderer works, doubling pixels horizontally offers more
of a speed-up than doubling them vertically does. Unless you have a very slow
computer, there should be no reason to use any detail level other than 0.
r_drawflat
boolean: false
When set to 0, segs will be drawn as solid colors instead of
textures. This is useful if you want to see how a node builder split a level's
linedefs. Otherwise, it just looks ugly.
r_drawfuzz
boolean: true
When set to false, the "fuzz" effect on spectres and partially
invisible players will be replaced with translucency.
r_drawmirrors
boolean: true
Setting this false will disable the display of mirrors.
r_drawplayersprites
boolean: true
When false, the game will not draw the player's weapon or muzzle
flash, which can be nice for screenshots.
r_drawtrans
boolean: true
Setting this to false will disable all translucency effects in the
game.
r_fogboundary
boolean: true
Setting this to false will disable the display of fog boundaries.
Fog boundaries are sections where two areas with different fog colors meet. If
the boundary is not drawn, then it will look like there is no fog at all in
front of the boundary. Some old levels may look bad with fog boundary drawing
enabled, which is why this cvar is available.
r_particles
boolean: true
If set to true, particles are drawn. Otherwise, they aren't.
r_skyboxes
boolean: true
Set this to false to disable the drawing of skyboxes. Then every sky
will be drawn as a standard sky instead of as a skybox.
r_stretchsky
boolean: true
Controls whether or not short sky textures are stretched so that you
don't see them wrap when you look up.
r_viewsize
string
This cvar contains the width and height of the current view window.
This cvar is read only.
r_visibility [visibility]
Without any parameters, displays the current visibility. With a
parameter, the visibility is set. Standard visibility for the Doom engine is 8.
Visibility determines how quickly light drops off with distance from the
viewer. At 0 visibility, there is no change in lighting with depth.
Video
fullscreen
boolean: true
If this cvar is true, the game will be displayed fullscreen.
Otherwise, it will be drawn in a window. Some video cards may require that you
have fullscreen false in order to run ZDoom.
vid_attachedsurfaces (Win32 only)
boolean: false
Controls how the game allocates video memory. False is the standard
setting and will always produce a useable display. If you find that there are
patches of pure black and pure white on the screen (especially noticeable when
a demon is right in your face), try setting this to true. Certain old Windows
95 video drivers are said to need this fix, and it is also necessary under NT
4. Unfortunately, many new video drivers (including those under NT 4) will
produce a scrambled display if the screen width is not 512 or 1024 pixels and
this is set to true.
vid_currentmode
Displays the resolution of the current video mode.
vid_defbits
integer: 8
Ignored. This cvar is meant to specify the default screen depth, but
the setting is currently ignored because only 256-color displays are supported.
vid_defheight
integer: 200
Specifies the default screen height to use if not overridden at the
command line by the -height switch.
vid_defwidth
integer: 320
Specifies the default screen width to use if not overridden at the command line
with the -width switch.
vid_listmodes
Lists all resolutions supported by the current display driver.
vid_fps
boolean: false
When true, displays the average framerate over the past second in the
lower-left corner of the screen. Because Doom's internal game rate and frame
rate are linked, the framerate will never be (much) above 35 fps.
vid_noblitter (Win32 only)
boolean: true
Setting this to false will allow the use of the hardware to assist
moving image data to video memory. When I initial wrote the code to use the
blitter, it was faster than not using it. Now the blitter is slower, and I
can't figure out why, so the default is true.
vid_palettehack (Win32 only)
boolean: false
When this cvar is true, the game will refresh the palette every time the screen
is redrawn. This can be useful with some buggy video drivers. If the display is
fine without it, leave it that way because this can slightly slow things down.
vid_setmode width height [depth]
Sets the screen mode to width x height with an optional color depth
(if your video hardware supports it). Only a depth of 8 is supported. See also
vid_currentmode, vid_listmodes
vid_speedtest
Runs a test to measure the speed of writing to video memory compared
to the speed of writing to system memory.
vid_vsync (Win32 only)
boolean: true
Set this to false to disable vsync. Not all video cards support
disabling vsync, and Doom's frame rate is capped at 35 FPS, so there's really
no reason why you would want to disable vsync.
vid_winscale
float: 1
Unimplemented.
Bots
addbot [name]
Spawns a bot. If a name is given, the corresponding bot in bots.cfg
will be spawned. Otherwise, a bot will be picked at random from bots.cfg.
bot_allowspy
boolean: false
Allows you to see through the eyes of bots during botmatch games.
bot_next_color
integer: 11
Not implemented.
bot_observer
boolean: false
When set to 1, the player will experience minimal interaction with the world,
and bots will ignore him.
listbots
Lists the bots available in bots.cfg, and indicates which are
currently playing.
removebots
Removes any bots from the game. Bots will also be automatically
removed from network games when the arbitrator quits.
Automap
togglemap
Toggles the automap on/off.
am_backcolor
color: "6c 54 40"
The color of the automap background. Changes to this cvar take
effect the next time the automap is activated.
am_cdwallcolor
color: "4c 38 20"
The color of two-sided lines that have a different ceiling height on
each side.
am_cheat
integer: 0
This cvar controls the state of the automap cheat. In Doom, this is
equivalent to how many times you have used the IDDT cheat. The other games have
similar cheats. It has three possible values:
-
No cheating. The automap only shows you what you have already seen or whatever
the full-map pickup reveals.
-
Show every line on the map, including those that would normally never be
seen on the map.
-
Show everything on the map, including all lines and actors.
am_fdwallcolor
color: "88 70 58"
The color of two-sided lines that have a different floor height on
each side.
am_gridcolor
color: "8b 5a 2b"
The color of the automap grid.
am_interlevelcolor
color: "ff 00 00"
The color of inter-level teleporters. These are teleporters that
teleport you to a different map.
am_intralevelcolor
color: "00 00 ff"
The color of intra-level teleporters. These are teleporters that
teleport you to a different location on the same map.
am_lockedcolor
color: "00 00 98"
The color of lines that open locked doors.
am_notseencolor
color: "6c 6c 6c"
The color of lines on the automap that haven't yet been seen.
Visible with a computer area map.
am_overlay
boolean: false
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. Just try it)
am_ovotherwallscolor
color: "00 88 44"
The color of passable lines on the automap when the map is
overlayed.
am_ovtelecolor
color: "ff ff 00"
The color of teleporters—both inter- and intra-level—on
the overlayed automap.
am_ovtrans
float: 1
Currently unimplemented.
am_ovthingcolor
color: "e8 88 00"
The color of things visible with the automap cheat when the map is
overlayed.
am_ovunseencolor
color: "00 22 6e"
The color of unseen lines on the automap when the map is overlayed.
am_ovwallcolor
color: "00 ff 00"
The color of impassable walls when the automap is overlayed.
am_ovyourcolor
color: "fc e8 d8"
The color of the arrow representing the player in single player
games when the map is overlayed.
am_rotate
boolean: false
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. This can be particularly useful when the automap is overlayed.
am_secretwallcolor
color: "00 00 00"
The color of lines that are marked secret when you are using the
automap cheat. When you aren't using the automap cheat, secret walls
are drawn the same color as one-sided lines.
am_showitems
boolean: false
When true, the fullscreen automap will display a count of all the
"special" items you have found on the map. These are the same items that are
used to determine the Items stat on the intermission screen.
am_showmonsters
boolean: true
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.
am_showsecrets
boolean: true
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.
am_showtime
boolean: true
When true, the fullscreen automap will display the total amount of
time you have been in a level (excluding time that has been paused).
am_thingcolor
color: "fc fc fc"
The color of things revealed with the map cheat.
am_tswallcolor
color: "88 88 88"
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.
am_usecustomcolors
boolean: true
When true, the automap uses the colors specified by the am_* cvars,
otherwise it uses the standard DOOM automap colors.
am_wallcolor
color: "2c 18 08"
The color of one-sided and secret walls in the automap.
am_xhaircolor
color: "80 80 80"
The color of the "crosshair" dot in the center of the automap.
am_yourcolor
color: "fc e8 d8"
The color of the arrow representing the player in single player
games.
Player settings
autoaim
float: 5000
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"
disables autoaiming, while large values such as "5000" will reproduce the
original DOOM behavior of always autoaiming.
color
color
This is your player's color. The default varies depending on which
game you are playing.
gender
string: "male"
This is the gender of your player. Valid values are "male",
"female", and "neuter". Anything else will be treated as male. When you die,
certain messages will be altered to reflect the gender selected here.
Unfortunately, I don't provide any non-male player sounds, so you'll still
sound like a man no matter what this cvar is set to unless you provide your own
sounds.
movebob
float: 0.25
Controls how much the view bobs up and down while you are moving. 0
would be no bob at all.
name
string: "Player"
This is your player's name. This is only really useful in a
multiplayer game, but it can also be set for single player.
neverswitchonpickup
boolean: false
When this cvar is true, you won't automatically switch to a new
weapon when you pick one up.
playerclass
string: "Fighter"
This is the player's class when playing Hexen. It can have one of
four values:
-
Fighter
- Cleric
- Mage
- Random
Changes to this cvar only take effect when you start a new game with the
map command.
skin
string: "base"
This is your player's skin. "Base" is the name of the regular Doom
marine and is always available. Additional skins are contained in wad files
that you either load with -file at the command line or autoload using the .ini
or skins directory.
stillbob
float: 0
Controls the amount of bobbing up and down that occurs when standing
still. 0 is no bobbing at all.
team
integer: 255
This is the team that your player belongs to. It is only meaningful
during deathmatch games. There are four teams available:
- Red
- Blue
- Green
- Gold
Using a team of 255 is special and will automatically assign you to whichever
team has fewer players.
Debugging
autosavenum
integer: 0
This cvar keeps track of the number used for the next automatic save
and is updated each time an automatic save is made. You cannot change it from
the console.
cl_noprediction
boolean: false
In order to provide more responsive network play, ZDoom normally
uses player prediction so that you can move immediately without waiting to
receive packets from the other machines in the game. Doom didn't have
prediction, and if you don't like it, you can turn it off by setting this cvar
to true.
clearscancycles
Used for profiling the wallscan function.
clearwallcycles
Used for profiling the wall drawer.
countdecals
Returns the internal count of automatically generated decals.
countdecalsreal
Iterates through every automatically generated decal in the level
and returns how many are present. Compare this value with what countdecals
returns to ensure that the internal count is accurate.
demo_compress
boolean: true
Keep this cvar true to compress demos so that they take up less
space on disk.
developer
boolean: false
When true, prints various debugging messages to the console.
dir [[path/][pattern]]
This command lists the contents of a directory. It supports
wildcards (but will not recurse into multiple directories). If [path] is not
specified, it will display the contents of the directory the game was run from.
disableautosave
integer: 0
Controls how frequently the game automatically saves for you. The
possible settings are:
- Whenever you enter a new level and whenever the level requests it.
- Only when the level requests it.
- Never.
dumpclasses [base-class]
Displays a list of
all classes in the game. You can use
base-class
to limit the list to only those classes that derive from
base-class. For
example,
dumpclasses actor
will only show those classes that can
be spawned in a level (including actors from all supported games). If you only
want a list of weapons, you can use
dumpclasses weapon
. This list
can be quite long and exceed the length of the console buffer, so it is a good
idea to capture its output to a file using the
logfile command.
dumpmap wadname [mapname]
Saves the current state of the level (minus actors) to a new wad
called wadname. If you don't specify a mapname, it will be saved
as MAP01. I used this while testing the internal node builder. Because ZDoom
can now load Build maps, you can use this as a simple Build->Doom converter
(although limitations in the Doom map format will likely force you to make
several edits to produce a useable map).
dumpmapthings
Lists all the map editor numbers for actors in the current game.
dumpspawnables
Lists all the spawn numbers for actors in the current game.
echo string
Prints string to the console.
error error-message
Simulates an error by killing the current game and falling back to
the fullscreen console with the specified message.
error_fatal error-message
Simulates a fatal error by exiting the game completely and showing
the error-message.
freeze
Use this command once to freeze gameplay (while still allowing you
to move around). Use it again to unfreeze gameplay.
gameversion
Prints the version number and compile date of ZDoom.
genblockmap
boolean: false
Set this to true to force the game to ignore the blockmap saved with
a map and always generate it from scratch, whether it needs to be generated or
not.
genglnodes
boolean: false
When set to true, GL-friendly nodes will be generated and used in
playce of whatever BSP tree was saved with the map. You must also set gennodes
to true for this cvar to have any effect.
gennodes
boolean: false
Set this to true if you want the game to ignore the BSP tree saved
with a map and always build a new one. A value of true for gennodes also
implies a true value for genblockmap.
get cvar
Displays the value of cvar. This is redundant because typing
the name of the cvar alone at the console will accomplish the same thing.
nofilecompression
boolean: false
This is a debugging cvar used to disable file compression. You
should leave it set to false.
noise
boolean: false
When set to true, the current status of all sound channels is
displayed on the screen.
opl_enable
boolean: false
When set to true, MUS music will be played using classical OPL2 FM
synthesis as used by many of the sound cards available during the old DOS days
when Doom was young. This can be very processor-intensive, so don't use it if
you have a low end machine.
opl_frequency
integer: 11025
This is sampling rate the OPL emulation will run at. Setting it to
less than a real OPL chip can drastically effect the pitch of certain sounds,
since the emulation does no interpolation for samples that aren't emulated. A
real OPL chip runs at a little over 30000 Hz.
opl_onechip
boolean: false
Setting this to true will limit the emulation to only one OPL2 chip
instead of two. One chip is not really enough to play Doom's music, and most
old sound cards had either two OPL2 chips or one OPL3 chip (which acts like two
OPL2 chips), but it can make the emulation up to twice as fast.
opl_singlevoice
boolean: false
Setting this to true will cause all double voice instruments to use
only one voice. Many Doom instruments use two voices, so this is not
recommended.
pings
This lists a very rough estimate of the speed of the connection
between your machine and any others in the game. In reality, the values printed
by this command aren't even pings; they're just the number of milliseconds that
have passed since the last time you received a network packet from the other
machines.
playerinfo [player-number]
Without parameters, lists the numbers for each player in the game.
If you specify a player-number, then details about that player's user
info will be listed.
playersounds
Lists the player sounds defined by each player class and skin.
skins
Lists the names of the skins that were loaded when the game was
started.
playmovie filename
Plays a movie. Gameplay will be halted either until the movie
finishes or the user presses the Escape key. Under Windows, DirectShow is used
to play the movie, so you can watch anything that Windows Media Player can
play. Movie playback is not implemented under other operating systems.
playsound sound
Plays a sound on the local machine. Like all other sounds in the
game, sound must be properly defined in a SNDINFO lump before you can
use it.
print string
Prints a named string to the console. These are the strings you can
edit with a bex patch.
scriptstat
Lists the scripts running on the current level.
showloadtimes
boolean: false
When set to true, various performance counters will be printed to
the console whenever a map is loaded.
showrngs
Prints the current seed for every random number generator.
soundlinks
Lists the links between different sounds that use the same sound
data. Links are generated dynamically while you play, so it is possible for
this command to give different results in different games and even at different
times during the same game.
soundlist
Lists all the sounds defined and the lumps that they alias to.
Unlike regular Doom, ZDoom refers to sounds using a long name and uses a
SNDINFO lump to map those to the lumps in a WAD file that contain the actual
sounds. Logical sounds that refer to the same sound data will have links
generated as neccessary to avoid actually loading multiple copies of the same
sound into memory.
summon actor-class
Spawns a new actor in front of you. A complete list of actors can be
obtained with the
dumpclasses actor
command.
For a list of actors limited to those you can place in an editor, use the
dumpmapthings command. It is possible to spawn actors from another game
with this command, but they will not be visible unless you provide the missing
graphics for them.
spray decal
Sprays a decal on a nearby wall so you can see what it looks like.
stat [page]
Displays profiling information. When used alone, displays a list of
available displays. Use one of those as the
page parameter to toggle the
display on and off.
- stat blit
-
Time spent copying the display to video memory.
- stat bots
-
Time spent doing bot-related activities.
- stat destroys
-
Statistics on object deletion each frame.
- stat detail
-
Time spent replicating pixels for low detail modes.
- stat fps
-
Time spent rendering the scene (not the same as setting vid_fps to true).
- stat purge
-
Statistics of memory purged from the zone heap each frame.
- stat sight
-
Time spent in sight calculations.
- stat sound
-
Number of active channels and %CPU used for sound.
- stat think
-
Time spent running all thinkers.
- stat wallcycles
-
Used in conjunction with clearwallcycles to
profile the wall drawer.
ticker
boolean: false
When true, draws a series of dots at the bottom of the screen
representing the number of tics it took to display the current frame. (One tic
is 1/35th of a second.) When -devparm is specified on the command line, this
cvar is automatically set to true. You can get a rough idea of your fps by
counting the number of lit dots and dividing that from 35. A better way would
be to use vid_fps.
tilt
boolean: false
Setting this to true causes all planes to be drawn using the sloped
drawer, even if they aren't sloped.
tx
integer: 8
The horizontal scale for textures that don't specify their own.
ty
integer: 8
The vertical scale for textures that don't specify their own.
warp x-coordinate y-coordinate
Sends you to the specified coordinates immediately. This can be used
with
idmypos to debug problems in a specific area of a
map.
Effects
cl_bloodsplats
boolean: true
When true, whenever something bleeds, it has a chance of leaving
blood spots on nearby walls. Setting this to false might help performance on
low-end machines.
cl_bloodtype
integer: 0
Controls how blood is drawn. Supported values are:
- Blood is drawn as sprites
- Blood is drawn as both sprites and particles
- Blood is drawn as particles only
cl_maxdecals
integer: 1024
This is the maximum number of automatically generated decals (such
as bullet marks and blood) that can appear in a level at one time. It does not
effect decals that level authors have placed in their levels manually. Setting
this to 0 will disable all decals except any that a level comes with.
cl_missiledecals
boolean: true
Set this to false if you don't want exploding missiles to leave
scorch marks.
cl_pufftype
integer: 0
Controls how bullet puffs are drawn. Supported values are:
- Puffs are drawn as sprites
- Puffs are drawn as particles
cl_rockettrails
boolean: true
Controls whether or not rockets leave trails of smoke behind them.
telezoom
boolean: true
When true, teleporters will create an Unreal-like zooming effect
when you use them.
test expression true-command [false-command]
Evaluates
expression and executes
true-command if the
result is non-zero. If the result is zero, then
false-command will be
executed instead (if you specified it).
- Examples:
-
test $cl_run "echo cl_run is on" "echo cl_run is off"
test = + 2 2 4 "echo 2+2 really is 4"
test <= $screenblocks 10 "echo the view window is shrunk" "echo the view window is full size"
transsouls
float: 0.75
This is the amount of translucency exhibitted by lost souls. Valid
values are in the interval (0.0,1.0]. Larger values mean less translucency.
wipetype
integer: 1
Selects the type of screen wipe to use. There are currently four possible
settings for this cvar:
- No wipe
- Melt
- Burn
- Crossfade
Sounds
eaxedit
Opens the EAX editor.
eaxedit_test
boolean: true
When true, the EAX environment currently shown in the editor will be
used for all areas of the map. This allows for interactive tweaking of
different environments.
snd_3d
boolean: false
Setting this cvar to true will enable the use of 3D sound hardware.
snd_buffersize
integer: 0
This is the length of the sound buffer in milliseconds. Leaving this
at 0 will use the sound card's default buffer size. If that is unacceptable,
you can try setting the buffer size manually. Buffer sizes can be any multiple
of 20. Sizes that are not will be rounded up to the nearest multiple of 20.
Smaller buffers produce less latency but are more prone to "breaking up" or
"stuttering". You want the buffer size to be as low as possible without
stuttering. Each time you change the buffer size, you should use
snd_reset to test the new buffer size.
snd_channels
integer: 12
This cvar determines the number of channels used for mixing sound
effects. Larger values generally sound better but also require a faster
processor. In general, anything between 8-16 should be plenty.
snd_driver
integer: 0
Selects a machine-specific sound driver. The available drivers
depends both on the setting of
snd_output and on the
hardware installed. The
snd_listdrivers command
will list the drivers available for the current output device.
snd_flipstereo
boolean: false
Setting this to true causes sounds to the left of the listener to
play on the right channel and vice-versa. Use this if your sound setup is
screwy and has stereo reversed.
snd_fpumixer
boolean: false
Setting this to true will force the use of the high-quality FPU
mixer. This is usually slower than the standard mixer, and you probably won't
notice a difference.
snd_listdrivers
Lists the drivers supported by the current
snd_output
setting.
snd_matrix
boolean: false
Setting this to true enables simple software support for the rear
channel in a surround system. I don't have a surround system, so I don't know
how jarring the transition from front to back is.
snd_movievolume
float: 1.0
This is the volume movies are played back at and can range from 0 to
1.
snd_musicvolume
float: 0.3
This is the volume digital music is played at and can range from 0
to 1. Digital music includes MODs, OGGs, MP3s, and SPCs.
snd_output
string: "default"
Selects either DirectSound or WaveOut for sound playback. "Default"
selects WaveOut under NT 4 and DirectSound under all other operating systems.
"DSound" or "DirectSound" will force the use of DirectSound, and "WinMM" or
"WaveOut" will force the use of WaveOut.
snd_pitched
boolean: false for Doom, true for other games
When set to true, the random pitch effect found in early versions of
Doom will be simulated. For Doom, this defaults to false because pitch shifting
was present only in early versions of that game. For Heretic and Hexen, this
defaults to true because all versions of those games use pitch shifting.
snd_reset
snd_samplerate
integer: 44100
This is the sampling rate (in Hz) at which sounds are mixed in the
game. This effects the sound quality for everything except MIDI music. Most
DOOM sounds are only 11025 Hz, but some are 22050 Hz, and digital music sounds
best with higher sampling rates, so the default is for CD quality
sound—44100 Hz.
snd_sfxvolume
float: 0.5
This is the volume at which sound effects are played and can range
from 0 to 1. This does not set the volume for your sound card's wave playback.
snd_status
Lists information about the current sound device.
snd_surround
boolean: true
When true, selected sounds will be played on the surround channel.
This effect is actually intended for people with two speakers because it gives
certain sounds an "airier" sound. If you have a Dolby Pro-Logic decoder, think
it's annoying, or have a buggy soundcard that mixes in stereo but outputs in
mono, you should turn this off.
snd_waterreverb
boolean: true
Controls the use of reverb in underwater areas. False disables the
reverb, and true enables it. People complained that the reverb sounds bad with
a SoundBlaster Live!, although I don't know if that's just because they weren't
used to it or becuase the Live! card stinks. I think it sounds fine with an
Audigy and a Vortex2.
Music - MIDI
snd_listmididevices
This command lists the MIDI devices available in the system. Devices
in this list can be used in the snd_mididevice cvar to select which device
plays music.
snd_mididevice
integer: -1
This cvar determines which MIDI device ZDoom uses for MIDI and MUS
music. A value of -1 indicates to use the Windows MIDI Mapper, while other
values select specific MIDI devices. A complete list of MIDI devices available
can be obtained with the snd_listmididevices command.
snd_midiprecache
boolean: true
Works around a bug in the GUS PnP drivers by precaching every
instrument in a song just before playback begins. If you don't have one of
these cards, you can set this to false to speed up music transitions.
snd_midivolume
float: 0.5
This is the volume MIDI and MUS music is played at and can range
from 0 to 1.
Music - SPC
SPC playback is only supported by the Windows version of ZDoom. You must also
have snesapu.dll in your search path for it to work. The WinAmp plugin SNESAmp
will automatically install this DLL for you, or you can download a copy of it
from the
ZDoom downloads page.
spc_8bit
boolean: false
Set this to true to playback SPCs using 8-bit quality instead of
16-bit.
spc_amp
integer: 30
Sets the SPC pre-amplification level.
spc_frequency
integer: 32000
Sets the sample rate to play SPCs at.
spc_lowpass
boolean: false
Set this to true to enable the SPC lowpass filter.
spc_noecho
boolean: false
Set this to true to disable echo processing in SPC playback.
spc_oldsamples
boolean: false
Set this to true to use the old ADPCM sample decompression routine
for SPCs.
spc_quality
integer: 1
Determines the type of interpolation used when playing SPCs:
- No interpolation
- Linear interpolation
- Cubic interpolation
- Gaussian interpolation
spc_stereo
boolean: true
Set this to false to prevent playing SPCs in stereo.
spc_surround
boolean: false
Set this to true to use pseudo surround sound when playing SPCs.
Music - Timidity
Under Linux, Timidity is the only way to hear MIDI music. Most, if not all,
Linux distributions should come with a copy of Timidity. If you can't get music
to play in ZDoom, make sure Timidity is properly set up to play music from the
command line before touching the cvars here.
Under Windows, Timidity is also supported as snd_mididevice
-2. The Windows version of ZDoom requires a special version of Timidity
available from the ZDoom downloads
page.
timidity_8bit
boolean: false
Set this to true to make Timidity output 8-bit instead of 16-bit
audio.
timidity_byteswap
boolean: false
Set this to true to make Timidity swap the upper 8 bits and the
lower 8 bits of audio data when it is outputting 16-bits. Probably nobody needs
this.
timidity_chorus
string: "0"
The contents of this cvar are supplied to Timidity's -EFchorus
option.
timidity_exe
string: "timidity.exe" (Win32) or "timidity" (Linux)
The name of the Timidity executable to use. If Timidity is not in
the current path, you also need to specify the full pathname. Under Windows,
you must include the .exe prefix.
timidity_extargs
string: ""
This cvar is used to supply any extra arguments to Timidity. Its
contents are appended to the command line that ZDoom generates using the other
timidity cvars.
timidity_frequency
integer: 22050
This is the sample rate that Timidity will play the music at.
timidity_pipe
integer: 60
This is the approximate size, in milliseconds, of the stream buffer
the game uses to mix Timidity's output with the rest of the game audio. Setting
the buffer size to 0 will cause Timidity to send its output directly to the
sound card instead of through the game. Most, if not all, PCI sound cards
should be fine with this set to 0. Older sound cards will require this to be
non-zero so that ZDoom can mix the music with the rest of its sounds.
timidity_reverb
string: "0"
The contents of this cvar are supplied to Timidity's -EFreverb
option.
timidity_stereo
boolean: true
Set this to false to force Timidity's output to be monaural instead
of stereo.
Music - CD
cd_close
Closes the CD tray.
cd_drive
string: ""
This is the drive letter of the CD drive that the CD commands will
affect. If you only have one CD drive, you can leave it blank. Doing so will
cause the game to use the default CD drive.
cd_eject
Ejects the CD tray.
cd_enabled
boolean: true
Set this to false if you don't want CD audio support.
cd_pause
Pauses CD playback.
cd_play [track]
Starts playing a CD. If you specify a track, that specific
track will be looped. Otherwise, the entire CD will play.
cd_resume
Resumes CD playback that was previously paused.
cd_stop
Stops CD playback.
Input - Mouse
freelook
boolean: 0
When true, mouse aiming will always be on, regardless of the state of +mlook.
in_mouse (Win32 only)
integer: 0
This cvar selects which method ZDoom will use to read the mouse.
Valid values are:
- Automatically select a method based on the operating system
- Use normal Win32 API calls (default for Windows NT 4).
- Use DirectInput (default for all other Windows).
invertmouse
boolean: false
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 to true
changes this behavior so that moving the mouse forward makes you look down, and
moving it back makes you lookup.
lookspring
boolean: true
When true, all -mlook commands will also generate centerview
commands.
lookstrafe
boolean: false
When true, moving the mouse left and right will always cause the
player to strafe left and right regardless of the state of +strafe.
m_filter
boolean: false
Setting this to true will smooth mouse input if your framerate
exceeds your mouse's sampling rate. The only mice that really need this are
serial mice, since those are typically sampled only 40 times each second.
Utilities exist to increase the sampling rate of PS/2 mice under Windows 9x,
and USB mice are always sampled considerably more frequently.
m_forward
float: 1.0
This is the sensitivity of moving forward and backward with the
mouse.
m_noprescale
boolean: false
Setting this to true will use the raw mouse movements to control
mouse input. Normally, the horizontal and vertical axes are multiplied by
different scalars before being processed by the input code.
m_pitch
float: 1.0
This is the sensitivity of looking up and down with the mouse.
m_side
float: 2.0
This is the sensitivity of strafing left and right with the mouse.
m_yaw
float: 1.0
This is the sensitivity of looking left and right with the mouse.
mouse_sensitivity
float: 1.0
The larger this cvar, the more sensitive the game is to all mouse
movements.
use_mouse
boolean: true
When this cvar is false, ZDoom will ignore the mouse.
Input - Joystick
Joystick support in ZDoom 2 has been extended considerably since ZDoom 1.22. It
is now based around five virtual axes and a fully reconfigurable controller.
Several cvars below bind a real joystick axis to a virtual axis. The virtual
axes are listed below:
-
None: The joystick axis is unused.
-
Yaw: The joystick axis controls looking left and right.
-
Pitch: The joystick axis controls looking up and down.
-
Forward: The joystick axis controls moving forward and backward.
-
Strafe: The joystick axis controls moving left and right.
-
Up: The joystick axis controls moving up and down.
Each real axis also has a corresponding threshold cvar. This controls how far
the axis must be moved from its centered position before its movement will be
registered with the game. This distance is also known as the axis' dead zone.
If you find that you are "twitching" are moving very slowly when you have your
controller centered, you should increase the threshold for the corresponding
axis until the problem goes away. A value of 0 means the axis has no dead zone,
and a value of 1 means the dead zone covers the entire range of the axis'
movement.
joy_dial
integer: 0 (unused)
The virtual axis the controller's dial represents.
joy_dialthreshold
float: 0.15
The size of the dial's dead zone.
joy_forwardspeed
float: -1.0
How quickly you move forward and backward with the forward axis.
joy_guid
GUID: {00000000-0000-0000-0000-000000000000}
This is the GUID for the controller ZDoom will use for input. If it
does not correspond to any controller currently connected to the system, then
the default controller will be used instead. The easiest way to set this is by
using the
joystick menu.
joy_pitchspeed
float: -0.75
How quickly you look up and down with the pitch axis.
joy_sidespeed
float: 1.0
How quickly you move left and right with the strafe axis.
joy_slider
integer: 0 (unused)
The virtual axis the controller's slider represents.
joy_sliderthreshold
float: 0.15
The size of the slider's dead zone.
joy_speedmultiplier
float: 1.0
This cvar controls the overall sensitivity/movement speed possible
with a joystick. Values above 1.0 will allow you to reach full speed with less
movement of the joystick, but they will not let you go any faster than normal
(use the
turbo cvar for that). Values less than 1.0 will
prevent you from reaching full speed with the joystick. One potentially useful
trick is to create these two aliases:
alias +creep "joy_speedmultiplier 0.25"
alias -creep "joy_speedmultiplier 1.0"
If you bind +creep to a button, then whenever that button is held down, you
will walk with the joystick instead of run.
joy_upspeed
float: -1.0
How quickly you move up and down with the up axis.
joy_xaxis
integer: 1 (yaw)
The virtual axis the controller's X axis represents.
joy_xrot
integer: 0 (unused)
The virtual axis the controller's rotational X axis represents.
joy_xrotthreshold
float: 0.15
The size of the rotational X axis' dead zone.
joy_xthreshold
float: 0.15
The size of the X axis' dead zone.
joy_yawspeed
float: -1.0
How quickly you look left and right with the yaw axis.
joy_yaxis
integer: 3 (forward)
The virtual axis the controller's Y axis represents.
joy_yrot
integer: 0 (unused)
The virtual axis the controller's rotational Y axis represents.
joy_yrotthreshold
float: 0.15
The size of the rotational Y axis' dead zone.
joy_ythreshold
float: 0.15
The size of the Y axis' dead zone.
joy_zaxis
integer: 4 (strafe)
The virtual axis the controller's Z axis represents.
joy_zrot
integer: 1 (pitch)
The virtual axis the controller's rotational Z axis represents.
joy_zrotthreshold
float: 0.15
The size of the rotational Z axis' dead zone.
joy_zthreshold
float: 0.15
The size of the Z axis' dead zone.
use_joystick
boolean: false
Set this cvar to true if you want to use a joystick with ZDoom.
Other commands and cvars
addrocketexplosion
boolean: false
When false, rocket explosions are drawn with normal translucency.
When true, rocket explosions use additive translucency instead, producing a
brighter effect.
alwaysapplydmflags
boolean: false
Normally, some dmflags are only used in deathmatch. If
alwaysapplydmflags is true, then they will also be used in single-player and
co-op games.
centerview
Causes the player to look straight ahead.
changemap map
Exits the current level and continues the game on the specified map.
Unlike the map and idclev commands, this command *will* work properly during
network games and is recorded in demos. Unfortunately, it has occasionally
resulted in some problems. It should, however, be safe enough to use most of
the time.
changemus music
Changes the currently playing music. Music should be the name
of a music lump or file on disk (which need not have been specified with the
-file parameter).
changeskill skill
Changes the current skill of the game. The skill change will take
effect at the next map change. The skill must be a number. The default skill
levels range from 0 to 4 inclusive.
chase
Turns the chasecom on and off. This command also works while
watching demos, so you can bind it to a key and watch demos in the third
person.
chase_dist
float: 90
This is how far away from the player the chasecam likes to be, but
it will get closer as necessary to avoid going inside walls.
chase_height
float: -8
This is the base height above the top of the player's head that the
chasecam will be positioned at. Looking up and down will move the camera in the
opposite direction so that the player stays at approximately the same height on
the screen. Large values of this cvar (either positive or negative) will
produce strange output.
chasedemo
boolean: false
If this cvar is true, then demos will automatically start with the
chasecam active.
cl_run
boolean: false
When non-zero, the game will always treat movement commands as if
+speed is active.
clear
Clears the console of all text.
cmdlist [pattern]
Lists all commands supported by the current version of ZDoom.
If you specify a pattern, then only those cvars that match the pattern will be listed.
Patterns can contain the wildcards * (which substitutes for zero or more characters) and ? (which
substitutes for exactly one character).
compatflags
integer: 0
This cvar contains gameplay flags that control compatibility with
the original Doom.
compat_limitpain
When true, Pain Elementals will not shoot out Lost Souls if there
are already 20 or more Lost Souls on the level.
compat_nodoorlight
When true, the BOOM lighting extension to local doors is disabled.
Briefly, because local doors do not use their tag, BOOM extended them to use
the tag to indicate a sector that should have its light level changed as the
door opens and closes. This should normally not cause any problems with
pre-BOOM maps.
compat_nopassover
When true, you will not be able to move above or below other things,
even if there is enough room for you to fit. You will have to go around them
instead, just like in Doom.
compat_notossdrops
When true, items dropped by monsters will appear on the floor as
they did in Doom. When false, the monsters will appear to toss out items as in
Heretic.
compat_shortTex
Controls the way the shortest texture around a sector is determined
for specials that use it. When set to false, the blank texture (-) is not
considered for the height. When true, the standard Doom behavior is replicated,
and the blank texture is considered for the height. The blank texture is
actually represented internally as being 64 pixels tall, so Doom could be
tricked into thinking the shortest visible texture was only 64 pixels tall,
even if it was really taller.
compat_silentpickup
When true, only you will hear yourself when you pick up an item.
compat_soundslots
When true, actors will be limited to only one sound slot each.
Normally, actors have eight sound slots that can be used to play different
sounds simultaneously, so you cannot shut off the BFG sound by landing on the
ground. This lets you use the "silent BFG" trick by forcing the landing sound
and weapon sounds (and every other sound you make) into the same sound slot.
compat_stairs
When true, a Doom stairbuilding bug is retained that could effect a
few levels.
compat_useblocking
When true, any special line can block a line activated by pressing
the +use key, even if the special line has nothing to do with +use.
compat_wallrun
When true, the original buggy Doom movement clipping code is
emulated, allowing players to perform the wall run.
con_ctrl_d
string: ""
When you press Ctrl-D on a blank line in the console, the command in
this cvar is executed. For example, if you set con_ctrl_d to "quit", then
pressing Ctrl-D will quit the game.
cvarlist [pattern]
Lists the values of all currently defined cvars. Each cvar can also
be prefaced by multiple flags. These are:
A
Cvar gets saved in the config file.
U
Cvar contains user info.
S
Cvar contains server info.
-
Cvar can only be changed from the command line.
L
Changes to cvar's contents don't take effect until the next game.
C
Cvar has an internal callback.
*
Cvar was created by the user and is meaningless to the game.
If you specify a
pattern, then only those cvars that match the pattern will be listed.
Patterns can contain the wildcards * (which substitutes for zero or more characters) and ? (which
substitutes for exactly one character).
cvarlistplain
This command works similarly to
cvarlist,
except it does not include flag information or list user-created cvars. Its
primary purpose is to provide a simple list of cvars that can be exported and
checked against this file to ensure it is complete.
deathmatch
boolean: false
When true, deathmatch rules are used for the game. When the game is
started with -altdeath or -deathmatch, this cvar is automatically set to true.
dimamount
float: 0.2
This is the amount of dimcolor to mix with the background when a
menu is displayed. Setting it to 0 will cause the background to be untouched,
and 1 will replace the background with dimcolor completely.
dimcolor
color: "ff d7 00"
This is the color to mix with the background when a menu is
displayed.
dmflags
integer: 0
This cvar controls the behavior of several aspects of gameplay. To
determine what value to store in this cvar, select the desired features from
the table below and add their values together. If a feature is marked with
(DM), then that feature will only be active during a deathmatch game.
Value | Description |
1 | Do not spawn health items (DM) |
2 |
Do not spawn powerups (DM) |
4 |
Leave weapons around after pickup (DM) |
8 |
Enables the original ZDoom falling damage |
16 |
Enables Hexen falling damage |
64 |
Stay on the same map when someone exits (DM) |
128 |
Spawn players as far as possible from other players (DM) |
256 |
Automatically respawn dead players (DM) |
512 |
Do not spawn armor (DM) |
1024 |
Kill anyone who tries to exit the level (DM) |
2048 |
Don't use any ammo when firing |
4096 |
Don't spawn monsters |
8192 |
Monsters respawn sometime after their death |
16384 |
Powerups other than invulnerability and invisibilty respawn |
32768 |
Monsters are fast |
65536 |
Don't allow jumping |
131072 |
Don't allow freelook |
262144 |
Invulnerability and invisibility powerups respawn |
524288 |
Don't allow any actors to pass over or under other actors |
1048576 |
The arbitrator controls the FOV for all players (DM) |
sv_barrelrespawn
When true, barrels will eventually respawn after they are destroyed.
Changing this to true in the middle of a game will not effect barrels that have
already been destroyed.
sv_falldamage
When true, Hexen-style falling damage will be applied whenever you
fall too fast and land on something.
sv_fastmonsters
When true, monsters will move faster than normal.
sv_fastweapons
integer: 0
Controls how fast player weapons are. It can be set to one of three
values:
-
Weapons are normal speed.
- All weapon frames take 1 tic.
- All
weapon frames that perform an action take 1 tic, and all other weapon frames
are skipped entirely.
sv_forcerespawn
When true, players will respawn automatically after they die.
sv_infiniteammo
When true, firing a weapon will not use any ammo.
sv_itemrespawn
When true, items will respawn after they have been picked up.
sv_monsterrespawn
When true, monsters will respawn after they have been killed.
sv_noarmor
When true, no armor will be spawned on the next map loaded.
sv_nobfgaim
When set to 1, prevents manual aiming of the BFG. It will still aim
up or down if you shoot it at something, but you won't be able to, for
instance, shoot it at the ground to quickly generate tracer damage by looking
down.
sv_noexit
When true, any players who attempt to exit the level will be killed.
The only way to leave the level is to set a
timelimit or
fraglimit or change the map with the
changemap
command.
sv_nofov
When true, only the arbitrator will be able to set the horizontal
field-of-view with the
fov command, and the arbitrator's FOV
will be used for all players.
sv_nofreelook
When true, disables looking up and down and forces the players to
view straight ahead.
sv_nohealth
When true, no health items will be spawned on the next map loaded.
sv_noitems
When true, no powerups or artifacts will be spawned on the next map
loaded.
sv_nojump
When true, players' clothes will become so heavy that they cannot
possibly jump no matter how hard they try.
sv_nomonsters
When true, no monsters will be spawned on the next map loaded.
sv_oldfalldamage
When true, the old ZDoom-style falling damage will be applied
whenever you land on something too quickly.
sv_respawnprotect
When true, players will be invulnerable for two second after
spawning.
sv_respawnsuper
When true, Doom's invulnerability sphere and blur sphere will be
able to respawn like regular items.
sv_samelevel
When true, the only way to go to a different level is with the
changemap command.
sv_spawnfarthest
When true, players will be spawned as far as possible from any other
players.
sv_weapondrop
When true, players will drop their weapons when they die.
sv_weaponstay
When true, weapons will not disappear when a player picks them up.
This does not apply to weapons dropped by monsters or other players.
dmflags2
integer: 0
This cvar contains additional gameplay flags that were originally
added in Skull Tag. Some of them were also available as separate flags in
earlier ZDooms. To determine what value to store in this cvar, select the
desired features from the table below and add their values together. If a
feature is marked with (DM), then that feature will only be active during a
deathmatch game.
Value |
Description |
2 |
Players drop their current weapon when they die |
32768 |
Prevents manually aiming the BFG up and down |
65536 |
Barrels respawn after they explode (DM) |
131072 |
Players are temporarily invulnerable immediately after spawning (DM) |
endgame
Ends the current single player game and drops the console down to
cover the screen.
exit
This is a synonym for
quit and quits the game.
forcewater
boolean: false
When set to true, all BOOM-style deep water will be swimmable. This
is not the default, because the effect used to produce it can be used for more
than just deep water (although water is probably its most common use).
fov [viewfield]
When used without a parameter, returns the current horizontal field
of vision. When viewfield is specified, sets the field of vision. This can be
between 1 and 179 degrees. The default is 90. Notice that this is a command and
not a cvar.
fraglimit
integer: 0
If this cvar is non-zero, the game will automatically advance to the next level
once anyone gets this many frags. (deathmatch only)
history
Prints the most recently executed console commands that you can
cycle through by pressing the up and down arrow keys.
hxvisit warp-trans
Changes to the level specified by
warp-trans. Unlike
idclev, hxvisit determines the map to go to by finding a map defined in
MAPINFO with a matching
warp-trans. Hence, it emulates the Hexen visit
cheat.
idclev level-code
Changes to the level specified by level-code.
idmus level-code
Changes the music to that associated with the specified level.
idmypos
boolean: false
When true, constantly displays the player's current position and
view angle.
infighting
integer: 0
Controls monster infighting. It has three possible values:
-
Monsters never fight other monsters
-
Monsters do not fight other monsters of their own kind unless they use bullet
attacks. This is the standard Doom behavior.
-
Monsters will fight other monsters, including those of their own kind.
invnext
Selects the next inventory item you possess.
invprev
Selects the previous inventory item you possess.
invuse
Actives the currently selected inventory item.
invuseall
Activates every inventory item you possess.
land
If you are using a flight item, deactivates it and causes you to
land.
language
string: "auto"
This is the language most game messages use. If it is "auto" or
unknown, the settings in the Regional Settings control panel will be used to
determine an appropriate language. Set this to "enu" if you want to use the
standard U.S. English messages.
map map-name
Starts a new game on the specified map. This command should only be
used when playing a single player game. To change maps in multiplayer, use the
changemap command.
Activates the advanced sound options menu.
Activates the compatibility options menu.
Activates the display options menu.
Asks the user if they want to end the current game, and returns to
the title screen if they do.
Activates the new game menu.
Activates the gameplay options (dmflags) menu.
Displays the help screen.
Activates the joytick/game controller configuration menu.
Activates the customize controls menu.
Activates the load game menu.
menu_main
Activates the main menu.
Activates the MIDI device selection menu.
Activates the mouse configuration menu.
Activates the options menu.
Activates the player setup menu.
Asks the user if they want to quit, and quits if they do.
Activates the save game menu.
Activates the sound options menu.
Activates the video mode menu.
pause
Pauses and unpauses the game.
playdemo demo
Plays a demo. The demo can be a file on disk or a lump in a wad.
playlist playlist.m3u [shuffle|position]
Loads a WinAmp .m3u playlist. Any music that would normally be
played will be ignored, and the songs in the playlist will be played instead.
If you add the word shuffle after the name of the .m3u file, the playlist will
be replayed in a random order. In place of shuffle, you can also specify a
number corresponding to the song number in the playlist you want to play first.
playlistnext
Plays the next song in the playlist.
playlistpos position
Starts playing the song at the specified position in the
playlist.
playlistprev
Plays the previous song in the playlist.
playliststatus
Displays the number of songs in the playlist and the currently
playing song.
queryiwad
boolean: true
When ZDoom finds more than one game IWAD and you have not used the
-iwad parameter, it will normally ask you to select which one you want to play
with. Set this to false, and the first IWAD found will automatically be used.
quickload
Loads the last quicksaved game.
quicksave
Quick saves the game.
quit
Exits ZDoom and saves all configuration information to disk.
screenblocks
integer: 10
This cvar determines the size of the view window. Valid values are
in the range 3-12 inclusive. Attempts to set this cvar to values outside this
range will be truncated. 3 is the smallest view window, and 12 is full screen.
11 is also full screen, but includes a small heads-up display. 10 is almost
full screen, except it includes the status bar at the bottom of the screen.
select item
Selects an inventory item by name. Supported names are:
- invulnerability
- invisibility
- health
- superhealth
- tomeofpower
- healingradius
- summon
- torch
- firebomb
- egg
- fly
- blastradius
- poisonbag1
- poisonbag2
- poisonbag3
- teleportother
- speed
- boostmana
- boostarmor
- teleport
- puzzskull
- puzzgembig
- puzzgemred
- puzzgemgreen1
- puzzgemgreen2
- puzzgemblue1
- puzzgemblue2
- puzzbook1
- puzzbook2
- puzzfweapon
- puzzcweapon
- puzzmweapon
- puzzgear1
- puzzgear2
- puzzgear3
- puzzgear4
setcolor cvar color-name
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. The file
colors.txt included with the ZDoom archive contains a list of all the color
names listed in zdoom.wad.
This command is redundant now that color cvars can be set to color names
directly without using the setcolor command.
setslot [slot weapons...]
The setslot command is used to configure the weapon slots from
within the game. Without any parameters, it lists the weapons currently
assigned to each slot. If you specify a
slot number, then the weapons in
the slot will be replaced by those on the command line. If you don't specify
any weapons, the slot will be cleared. There are ten slots numbered 0-9, and
each slot can hold up to eight weapons. If a slot has more than one weapon, the
slot command will cycle through them in reverse order. You can use the
dumpclasses weapon
command to get a list
of the weapon names.
- Examples:
setslot 1 Fist Chainsaw
setslot 2 Pistol
show_messages
boolean: true
When this variable is true, 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. If logging is enabled, messages will also be written
to disk.
sizedown
Decrements screenblocks by 1, shrinking the view window.
sizeup
Increments screenblocks by 1, enlarging the view window.
skill
integer: 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.
slot slot-number
Selects the next weapon from the specified weapon slot.
splashfactor
float: 1.0
This controls the amount of damage players receive when they fire a
rocket and it explodes right next to them. It applies only to the player who
fires the rocket; all others receive normal damage. A value of 0.5 would apply
only half damage to the player. A value of 2.0 would apply double damage. Other
values are similar. Useful mostly for people who like to rocket jump and don't
like dying if they don't have 100% health and a lot of armor.
spynext
During a cooperative game or while watching a multiplayer demo, this
command will switch your view to the next player.
spyprev
During a cooperative game or while watching a multiplayer demo, this
command will switch your view to the previous player.
stop
Stops demo recording and exits the game.
stopmus
Stops playing the current song.
sv_aircontrol
float: 0.00390625
Sets the amount of control you have while in the air. 1 is the same
control you have while on normal ground. 0 is no control at all—the
original Doom setting—you have to wait until you land before you can
change direction. The default value is very close to the standard Doom value
but still large enough to allow you to stand next to a ledge and jump onto it.
sv_gravity
float: 800
This is the overall gravity of the entire level. 800 is normal
gravity.
teamdamage
float: 0.0
Controls how much damage players can do to their teammates. This is
multiplied to the normal damage done, so a value of 0 means that players cannot
hurt their teammates. A value of 1 means that players deal full damage to their
teammates. You can also set this to values greater than 1 to deal extra
punishment to your teammates.
teamplay
boolean: false
When set to true, players will be recognized by team. Otherwise,
everyone is treated as if they aren't on a team regardless of the settings of
their team cvars. Useful primarily for the friendy fire avoidance dmflag and
say_team command.
testblend color amount
Sets the palette blend to a specified color and amount. color
can be either a color name defined in the X11R6RGB lump or a color string. amount
can be any number between 0.0 and 1.0 inclusive and specifies how much of color
should be mixed with the palette, with 0.0 being no mixing and 1.0 being full
mixing.
testcolor color
Sets the light color of any sectors using the default light to color.
color can be either a color defined in the X11R6RGB lump or a color
string.
testfade color
Temporarily sets the fade color of the current level to color.
Most levels fade to black by default, but this can be changed with the MAPINFO
lump. color can be either a color defined in the X11R6RGB lump or a
color string.
timedemo demo
Plays a demo as fast as the refresh rate will allow and displays the
average framerate attained during playback. Due to limitations in the current
demo system, this command will also exit the game when the demo finishes. See
also: playdemo
timelimit
float: 0
When this cvar is non-zero, the game will automatically advance to
the next level after this many minutes have elapsed. (deathmatch only) See
also: fraglimit
toggle cvar
Toggles the value of cvar between false and true (zero and
non-zero).
toggleconsole
Toggles display of the console on/off.
togglemessages
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 describing the current state of messages.
turn180
Quickly turns your player around 180 degrees.
use item
Uses a specific inventory item. The supported item names are the
same as for the
select command.
useflechette
This command will make you use whichever type of flechette you have.
There are actually three different types of flechettes, and which one you pick
up when you walk over a flechette is determined by your player's class. This
command is equivalent to use ArtiPoisonBag1
, use ArtiPoisonBag2
,
or use ArtiPoisonBag3
, depending on which type of flechette is in
your inventory.
var_friction
boolean: true
When set to false, normal friction is applied to the player in all
cases. Otherwise, the amount of friction applied is determined by the sector
the player is in.
var_pushers
boolean: true
When set to false, disables the BOOM push/pull wind effects.
weapnext
Selects the next weapon (in order) that you own and have ammo for.
weapon weapon-number
Activates a specific weapon if you are carrying it and have enough
ammo. Weapon numbers may change in the future, so you are encouraged to use
addslot to add weapons for use with the
slot command
instead.
weapprev
Selects the previous weapon (in order) that you own and have ammo
for.
whereisini
Prints the location of the current zdoom.ini to the console. The
zdoom.ini file is normally stored in the user's profile directory. It may not
be immediately obvious where that is, so you can use this command to find out.
wi_percents
boolean: true
When false, intermission stats are printed as absolute values such
as "7 of 9". When true, intermission stats are printed as percentages such as
"50%".