Contents
About the console
Blood of the 13th Hour'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 Blood version number. If
you're not sure what version of Blood 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 Blood. 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 Blood 3.666 but
have been removed:
- configver
- This variable was used by Blood to determine which version wrote
the Blood.cfg. This has been replaced by the [LastRun] section of
13thBlood.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 13thBlood.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 blood????.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 Blood. 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
be like mike
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.
be like mike
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 or god.
iddqd
The same as be
like mike, 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. (Not available in this game)
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. (Not available in this game)
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
Blood 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 Blood, 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 Blood.
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, Blood
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 Blood 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 Blood.
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, Blood 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 Blood 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 Blood. 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
Blood 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).
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:
ACvar 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%".