CVARs:Configuration

From ZDoom Wiki
Jump to navigation Jump to search

These CVARs control various aspects of the game's configuration.

See the CVARs article for general information on how to access and edit variables.

Player settings

  • autoaim (float) -- (Verification needed)
Default: 35
This represents the minimum vertical distance from an object that the player's sight must be before that object is no longer autoaimed at. Setting this cvar to "0" disables autoaiming, while large values such as the default 35 will reproduce the original DOOM behavior of always autoaiming.
Default: false
If set to true, autoaim does not ignore actors with the NOTAUTOAIMED flag.
Default: "3f 60 40" ██ (Heretic) or "40 cf 00" ██ (all other games)
This is your player's color. The default varies depending on which game you are playing. This is overridden by a valid value for colorset.
Default: 0
This is your player's colorset, as defined by the Player.ColorSet properties of the PlayerPawn class. Use -1 if you wish to use a color instead of a colorset. Valid values for the default class range from 0 to 7 in Doom, Chex Quest, Strife, and all three classes in Hexen, but 0 to 9 in Heretic.
Default: true
If set to true, player's view bobs up and down while flying.
Default: "male"
This is the gender of your player. Valid values are "male", "female", "neutral" and "object". Anything else will be treated as male. When you die, certain messages will be altered to reflect the gender selected here. Unfortunately, no non-male player sounds are provided with ZDoom, so you will still sound like a man no matter what this CVAR is set to unless you provide your own sounds.
Default: 0.25
Controls how much the view bobs up and down while you are moving. 0 would be no bob at all.
Default: false
When this CVAR is true, you won't automatically switch to a new weapon when you pick one up.
Default: "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.
Default: "Fighter"
This is the player's class when playing games with player classes such as Hexen. It must be set to "Random" or a valid class' Player.DisplayName property. Note that the class selection menu will change its value.
Default: "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.
Default: 0
Controls the amount of bobbing up and down that occurs when standing still. The default of 0 is no bobbing at all.
Default: false
Certain items for Heretic, Hexen and Strife have the ability to auto-trigger when the player's health drops below a certain percentage. Setting this CVAR to true will disable that behavior.
Default: 0
If enabled, the game will attempt to aim only at hostile monsters when autoaiming, even if there are shootable decorations or friendly actors closer to the player. The following values are available:
  • 1 - Target monsters before shootables.
  • 2 - Same as 1, but never target friendly monsters.
  • 3 - Target monsters only.
Default: 255
This is the team that your player belongs to. It is only meaningful during deathmatch games. There are eight predefined teams available, though this can be changed with a custom TEAMINFO:
1 ██ Blue 2 ██ Red 3 ██ Green 4 ██ Gold
5 ██ Black 6 ██ White 7 ██ Orange 8 ██ Purple
Using the default of 255 is special and will automatically assign you to whichever team has fewer players.
Default: false
When true, enables vertical bullet spread for weapons, but only if it is allowed. Weapons which this variable affects are the pistol, shotgun, chaingun, elven wand and dragon claw.
Default: 0
A multiplier for weapon firing bob speed. Lower values slow it down, while higher values speed it up.
Default: 1.0
A multiplier for weapon bob speed. Lower values slow it down, while higher values speed it up.

Input settings

Default: false
When non-zero, the game will always treat movement commands as if +speed is active.
Default: false
When true, mouse aiming will always be on, regardless of the state of +mlook.
Default: 0
This cvar selects which method ZDoom will use to read the mouse. Valid values are:
  • 0 - Automatically select a method based on the operating system.
  • 1 - Use normal Win32 API calls (default for Windows NT 4).
  • 2 - Use DirectInput (default for all other Windows if RawInput is not available).
  • 3 - Use RawInput (preferred default for all other Windows)
Default: 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 look up.
Default: false
When true, reverses the way mouse movement left and right is interpreted.
Default: true
Determines whether ZDoom attempts to detect and use MiniWikipediaLogoIcon.pngDirectInput controllers.
Default: true
Determines whether ZDoom attempts to detect and use raw MiniWikipediaLogoIcon.pngPlayStation 2 adapters.
Default: true
Determines whether ZDoom attempts to detect and use MiniWikipediaLogoIcon.pngXInput (Xbox 360) controllers.
  • k_allowfullscreentoggle (boolean) (Win32 only)
Default: true
Determines whether the Alt+Enter combination can be used to toggle between full-screen and windowed mode.
Default: true
Determines whether "identical" keys are merged. This concerns the numeric pad Enter key (merged to regular Enter key), the right Alt key (merged to the left), the right Control key (merged to the left), and the right Shift key (merged to the left).
Default: true
When true, all -mlook commands will also generate centerview commands.
Default: 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.
Default: 1.0
This is the sensitivity of moving forward and backward with the mouse. This is combined with the overall m_sensitivity_y.
Default: true
When true, the mouse cursor is hidden during normal gameplay (ongoing game with menus and console closed).
Default: 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.
Default: 1.0
This is the sensitivity of looking up and down with the mouse. This is combined with the overall m_sensitivity_y.
Default: 4.0
The larger this cvar, the more sensitive the game is to all horizontal mouse movements. This is combined with m_side or m_yaw as appropriate.
Default: 2.0
The larger this cvar, the more sensitive the game is to all vertical mouse movements. This is combined with m_forward or m_pitch as appropriate.
Default: 0
Defines where the clickable "Back" button to go up a level while in submenus is displayed. Use -1 to disable the back button entirely, 0 for upper left corner, 1 for upper right corner, 2 for lower left corner, and 3 for lower right corner.
Default: 0
Controls the display of a clickable character input grid for text input fields (such as when naming a savegame or changing your name in the player setup menu). Valid values are:
  • -1 - Disables the display of the grid.
  • 0 - Displays the grid only if a controller, such as a mouse or gamepad, is used.
  • 1 or greater - Always displays the grid.
Default: 2.0
This is the sensitivity of strafing left and right with the mouse. This is combined with the overall m_sensitivity_x.
Default: 2
Enables or disables the use of the mouse in menus. Use 0 to disable the mouse, 1 to enable it in standard mode (automatic selection of hovered items), or 2 to enable it in touchscreen mode (click to select).
Default: 1.0
This is the sensitivity of looking left and right with the mouse. This is combined with the overall m_sensitivity_x.
Default: 1
Controls how ZDoom handles capturing of the mouse cursor when run in windowed mode. When the mouse is not captured, ZDoom is unable to interact with it. The following settings are valid:
  • 0 - Only capture during gameplay. (Not in intermissions or when the menu is displayed)
  • 1 - Capture during gameplay and during intermission screens and end game finales.
  • 2 - Always capture.
This has no effect when playing in fullscreen mode.
Default: false
Set this to true to disable raw input on Windows systems. This can be useful in case of input problems while using a Windows build of ZDoom on a non-Windows platform through a program such as MiniWikipediaLogoIcon.pngWine.
Default: "shift"
Controls which key can force the IWAD selection box to appear if pressed while ZDoom starts if queryiwad is false. It can be either "shift" or "control" ("ctrl" is accepted as an alias of "control"). Any other value will disable its functionality.
Default: false
Set this CVAR to true if you want to use a joystick with ZDoom.
Default: true
When this CVAR is false, ZDoom will ignore the mouse.
Default: false
If set to true, ZDoom will interpolate the changes in view angles and view pitch (when using the mouse to look to the sides or up and down with free look) as if the player was using the keyboard. This makes mouse look more fluid and continuous.

Gameplay options

Default: false
When true, allows respawning after dying in a single player game.
Default: false
When true, cheat codes from all supported games will work in any game. This in turn allows the user to use, for example, the IDKFA cheat in Hexen, rather than needing to remember the different cheat codes for each game.
Default: false
When true, cheat codes are disabled.
Default: 0
Determines what behavior enemies will use when deciding whether to infight with each other. The following values are valid:
  • -1 - Monsters never infight.
  •  0 - Enables normal infighting: Monsters do not fight other monsters of their own kind unless they use bullet attacks.
  •  1 - All monsters can infight, even members of the same species.
Default: 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).
Default: 2
This variable contains the game skill, ranging from 0 to 15 inclusive. Changes to this CVAR only take effect when a new level is loaded. Internally, this console variable is called gameskill.
Default: 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.
Default: 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. This value also affects air friction, which is proportional to the amount of control.
Given the formula used by ZDoom, you can replicate Strife's vanilla air control by using a value of 0.00684527763.
Note: Skulltag ignores this value unless its compat_limited_airmovement flag is set. The default behavior in that port corresponds to an aircontrol value of 0.25, though air friction still uses the CVAR value.
Default: false
When true, cheats will be allowed in Nightmare difficulty and other skill levels with the "disablecheats" property, as well as network games; however, prior to GZDoom 4.9.0, changes to this CVAR did not take effect until a new game was started (or a savegame was loaded). This was to prevent the host in a multiplayer game from setting the CVAR just long enough to allow himself to activate a cheat code.
Default: 64
Defines the number of corpses that can be on the map at once in a Hexen game. Set to -1 to disable corpse queueing (all corpses will stay forever). Corpse queueing has to be set per actor by calling A_QueueCorpse in the death state sequence.
Default: false
Default: 0
Determines how items are dropped. A value of 0 corresponds to game default, 1 to Doom style, and 2 to Strife style. Type 2 generally sends item further away than type 1. This is irrelevant when compat_notossdrop is set.
Default: 0
Increases the speed of your weapons. Setting this to 2 makes weapons even faster. Note: Keep in mind that some custom weapons use special state handling (such as reloading) and using this may cause the game to crash.
Default: 800.0
This is the overall gravity of the entire level. 800 is normal gravity. Gravity affects falling speed, and therefore falling damage.
Default: false
If enabled, the player is allowed to pick up ammo past the normal maximum amount for that ammo type. This can be useful for testing the balance of a map.
  • turbo (float) - (Verification needed)
Default: 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 255.
Default: 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.
Default: true
When set to false, disables the Boom push/pull wind effects.

Compatibility options

These options disable or alter ZDoom-specific features to allow for correct behavior when older maps utilized bugs or certain features that were later changed. These should generally be left at the defaults unless the PWAD you're playing requires that they be set or otherwise does not behave as it should.

Note that ZDoom features automatic compatibility with a number of mods; if a map requires special handling and is not yet featured on the automatic compatibility list; you should suggest support for it on the forums.

See also: Compatibility options

Compatibility modes

Rather than selecting compatibility options one-by-one, a compatibility mode can be chosen with the following console variable, which will automatically select the appropriate options. Other options can be selected afterwards; but changing the compatmode always reset all compat CVARs to their default value for the chosen compatibility mode.

Default: 0
When used, this CVAR enables certain combinations of the below compatibility options based on typical configurations. The available options are:
0 - Default; All compatibility options are turned off.
1 - Doom; Enables a set of options that should allow nearly all maps made for vanilla Doom to work in ZDoom:
crossdropoff, dehhealth, light, missileclip, nodoorlight, shorttex, soundtarget, spritesort, stairs, trace, useblocking, floormove, maskedmidtex
2 - Doom (Strict); Sets all of the above options and also sets these:
corpsegibs, hitscan, invisibility, limitpain, nopassover, notossdrop, wallrun
3 - Boom; Allows maps made specifically for Boom to function correctly by enabling the following options:
boomscroll, missileclip, soundtarget, trace, maskedmidtex
4 - ZDoom 2.0.63; Sets the two following options to be true, restoring the behavior of version 2.0.63:
light, soundtarget
5 - MBF; As Boom above, but also sets these for closer imitation of MBF behavior:
mushroom, mbfmonstermove, noblockfriends, maskedmidtex
6 - Boom (Strict); As Boom above, but also sets these:
corpsegibs, hitscan, invisibility, nopassover, notossdrop, wallrun, maskedmidtex
Note that changing this CVAR will overwrite all of the other compatibility CVARs that had been previously set. Any CVARs not present in the associated list above will be set to off. However, future changes to the other CVARs will override this one's setting. Note also that aside from setting these flags, there is no other special behavior at work here. This does not enable any kind of "emulation mode" and is not guaranteed to work 100% of the time. Finally, since the aim is purely to be able to play correctly certain maps in ZDoom, this should not be used to test the compatibility of a map with a different engine than ZDoom. If a map plays correctly in ZDoom using the "Boom (Strict)" mode, it does not mean that it will necessarily work with any other Boom-compatible port.

Compatibility variables

Default: false
Early versions of Doom executed the level's special action whenever the last monster of a kind that called A_BossDeath died. This allowed to have several different bosses on the same map, and have the special action repeated as many times, a fact that was used notably by DoomWikiLogoIcon.pngDoomsday of UAC to free a Cyberdemon once all Barons of Hell were defeated, and to make a red skull key accessible once the Cyberdemon was slain. Id Software considered this behavior a bug and fixed it, breaking this level.
Default: false
This option emulates the error in the original engine's sine table by offsetting player angle when spawning or teleporting by one fineangle (approximatively 0.044°), preventing the player from facing directly in a cardinal direction.
Default: false
Boom's texture scrolling specials were designed to stack with each other and with Doom's default scroll types, however ZDoom does not use this additive behavior. Enable this option to use Boom's method and allow them to stack with each other.
Default: false
Doom originally changed the state of an actor's corpse to the "crushed gibs" state if they were ground by a closing door, raising elevator, crusher, or similar effect. This behavior later led to a bug with the skin code in ZDoom as when a player's corpse was crushed, only its sprite's letter was changed, not the full sprite name, meaning that a crushed player corpse looked like a standing player. To solve the problem, the fix at the time was to remove the corpse and spawn in its place a gibs actor, and this in turn led to the result that arch-viles or similar monsters could no longer raise the monsters whose corpses had been crushed. Enabling this option to restore the original Doom behavior of changing the actor's state instead of replacing the actor. Note that player corpses are not affected, and any actor with a custom Crush state will use it in all cases.
Default: false
Doom's physics code prevented enemies from being pushed off of ledges that are greater than the monster's maxstepheight property. ZDoom normally allows monsters to be pushed over these dropoffs by outside force. If enabled, this CVAR restores the original Doom behavior.
Default: false
Boom introduced a known bug that caused DeHackEd's max health value to affect stimpacks and medikits in addition to health bonuses. ZDoom retains that same bug to allow maps to define a new maximum health value for players to remain compatible. To restore the original (correct) Doom behavior, enable this option.
Default: false
Originally, monsters using Doom's AI could get stuck if they were pushed onto a ledge and would be unable to move. ZDoom adds code that specifically checks for such a situation and finds a valid direction for the monster to move away from the ledge. This option disables that new movement code and allows monsters to remain stuck.
Default: false
If enabled, no vertical thrust is applied from receiving explosion (splash) damage.
Default: false
If enabled, explosion (splash) damage uses the original non-z-aware code.
Default: false
Vanilla Doom allows floors to move up past their ceilings, and ceilings to move down past their floors. ZDoom adopted a Boom fix to prevents this from happening. This compatibility option allows to turn off this fix.
Default: false
ZDoom fixed a couple of bugs in the hitscan trace routines, which had the effect of making hitscan attacks more efficient overall as in the original code they would sometimes "magically" miss. The first is that it is a monster's cross-section, rather than its bounding box, that is used to check for impact; this makes attacks with a limited range (especially player melee attacks) unlikely to hit very wide monsters. The second is the blockmap bug: if an actor crosses block boundaries and its center is in a different block than the one in which the impact happens, then there is no collision at all, letting attacks pass through it harmlessly. If enabled, this option restores the original, flawed behavior.
Default: false
Enemies in ZDoom will not normally wake up when they "see" a player who is using an invisibility powerup. Enable this option to restore Doom's original behavior where enemies would always wake up in these circumstances.
Default: false
Doom had a logical bug in its algorithm to search for the highest light level in neighboring sectors, which prevented it from looking past the first tagged sector's neighbors. This bug was fixed in Boom, and later ZDoom adopted the fix as well. If enabled, this option uses the Doom behavior rather than the corrected Boom one.
Default: false
Enables Doom's default behavior where pain elementals are now allowed to spawn new lost souls if there are already more than twenty on the map. Some older WADs took advantage of this limitation to create traps or ambushes where several Pain Elementals threaten the player but at first are unable to attack until the player grabs a powerup or otherwise triggers an action which kills enough Lost Souls to allow them to begin spawning more.
Default: false
This option emulates a vanilla renderer glitch by ignoring the Y locations of patches drawn on two-sided midtextures and instead always drawing them at the top of the texture.
Default: false
Boom introduced sector friction and pusher/puller effects, and MBF subjected monsters to them. ZDoom, by default, does not, as the AI is unaware of such effects and incapable of coping up with them. Use this option to enable the MBF behavior. This does not affect "conveyor belt" effects.
Default: false
Heretic introduced two new elements to the Doom engine: floor clipping to simulate actors wading through shallow water (or other liquids), and floor-hugging projectiles. The combination of the two, however, was not properly tested. When a maulotaur had its feet clipped by terrain and used its floor-hugging attack, the missiles were created below the floor, and were instantly destroyed as a result. Enabling this option prevents minotaurs from successfully creating their floor flames if their feet are clipped. Other floor-hugging projectiles are not affected.
  • compat_missileclip
Default: false
If enabled, actors use their original heights for the purposes of projectile collision. This allows for decorations to be pass-through for projectiles as they were originally in Doom while still blocking other actors correctly. Specifically, this affects actors with negative values defined for their ProjectilePassHeight property.
Default: false
(Need more info)
Default: false
Doom originally calculated a missile's velocity on the X and Y axes based on its Speed property, and then added a Z velocity to reach the point aimed at. In other words, the horizontal velocity was the same regardless of the angle, meaning that the higher you aimed, the faster the projectile actually was overall. Since ZDoom allows, through freelook, to aim much higher or much lower than is normally possible in Doom, the effect at steep angles looked visibly bugged and the formula was changed to derive all three components of the actor's velocity from its angle and pitch. However, MBF introduced a codepointer, A_Mushroom, that aimed projectiles at very steep angles, and the new ZDoom formula caused the effects of A_Mushroom to be very different in ZDoom compared to MBF. Enable this option to let A_Mushroom use the old formula when called from a state that was modified by DeHackEd.
Default: false
Friendly monsters are still monsters, and therefore blocked by monster-blocking lines. This can severely limit their utility, as for example a friendly monster summoned at the start of DoomWikiLogoIcon.pngMAP01: Entryway in Doom II will be unable to climb the steps of the triangle stairway. To counter this, MBF allowed any friendly monster to pass through monster-blocking lines. Enable this option to do the same.
Default: false
Boom (and ZDoom) add the ability to specify tagged sectors whose light level changes as a matching-tagged door is opened and closed. However, some older maps with incorrectly-tagged doors may inadvertently trigger this effect. Enable this option to prevent the light change from occuring in these instances.
Default: false
Doom did not allow one actor to pass over the top of another; in fact, all actors were considered to be infinitely tall for the purposes of collision-detection with each other. ZDoom and other advanced ports change this so that objects can realistically move over or under each other. Enable this option to revert to Doom's original behavior.
Default: false
When monsters are killed in ZDoom, any items they drop are "tossed" into the air and then drop to the ground before coming to rest. Enable this option to restore the original behavior and make dropped items appear already on the floor.
Default: false
(Need more info)
Default: false
Uses the old flawed polyobject system, for maps that relied on its glitches.
Default: false
Heretic and Hexen floor scrollers had the odd effect of visibly moving the floor texture at a slower rate than the player was carried. ZDoom corrects this glitch. The original effect can be restored by enabling this compatibility option.
Default: false
Doom and older versions of ZDoom considered the center of a sector to be the original point of any sounds that sector makes. In certain cases, this could cause the sound position to be inaccurate or players to hear a directional sound while standing within the sector that is generating it. This has since been fixed to where players hear the sound coming from the point of the sector nearest to them, ensuring an equal level of sound throughout the sector. This option will restore the older, less accurate sound behavior.
Default: false
If enabled, Doom includes the first texture (normally treated as null) when determining move distance for specials that act upon the shortest surrounding texture (e.g. Floor_RaiseByTexture).
  • compat_silentinstantfloors (boolean)
Default: false
If a sector moves instantly from one height to another, ZDoom will normally prevent any associated movement sounds from playing. This option re-enables the original Doom behavior where only the stop sound would be played in this cases.
Default: false
In Doom, other players in a multiplayer match were not able to hear each other pick up items or weapons (the pickup sounds only played for the local player). ZDoom changes this so that players can hear other players' pickups. Enable this option to restore the original behavior.
Default: false
If enabled, a playing sound gets cut off if its source no longer exists in the game world.
Default: false
If enabled, players will only be allowed to emit one sound at a time. This Doom behavior can be exploited in multiplayer matches to mask certain sound effects (most notably the BFG firing sound) from other players. Note that this compatibility option heavily cripples ZDoom's sound system to achieve this effect and so players need to be aware of potential side-effects if they opt to enable this behavior.
Default: false
Doom and older versions of ZDoom (up to 2.0.63a) used a sector flag to determine when monsters in each sector had heard the player. Since the flag never got reset once activated, monsters spawned into the map at a later time could wake up immediately without having to actually see or hear the player. Newer versions of ZDoom use a more realistic method by which enemies spawned into the map begin dormant and must be woken up in the usual way. However, certain older maps may rely on the original behavior and so enemies which are supposed to wake up immediately may remain dormant. Enable this option to restore the original functionality.
Default: false
ZDoom normally does not display overlapping sprites in the same order they were in Doom. Certain mods use overlapping sprites to achieve certain types of special effects, combining two different decorations into seemingly a single one. However, some mods require the original Doom order to work as intended, and others require the inverted ZDoom order. This compatibility option, if enabled, restores the original Doom order for sprite sorting.
Default: false
If enabled, Doom's buggier stair-building code is used for the line specials that build stairs. See also the stair specials articles.
Default: false
Doom ignored lines which had both sides in the same sector when determining whether a hitscan attack will pass through. ZDoom uses a more accurate routine which takes these lines into account. Enable this option to restore Doom's less accurate method.
Default: false
Doom contained a limitation where any line with a special (even one that does not activate anything when used) would intercept the player's use action and would not allow any lines behind it to trigger. By default ZDoom allows all lines within the player's reach to be triggered at once. Enable this option to restore the original behavior.
Default: false
Doom's collision-detection and movement routines were very basic and contained several known bugs that could be exploited to allow things that weren't originally intended. One of these was the ability to move extremely fast along walls oriented at a certain angle on the map. ZDoom's movement code fixes most of these issues, so it is no longer possible to use the "wall-running" cheat. A few maps however may have been designed with it in mind and become impossible to play without it, so this option is available in those cases. However, this heavily cripples ZDoom's movement code and re-introduces a number of bugs and inaccuracies. It is recommended to only use this option if absolutely necessary to complete the map.
Default: 0
This variable is a representation of 32 compatibility options as a single value. It includes shorttex, stairs, limitpain, silentpickup, nopassover, soundslots, wallrun, notossdrops, useblocking, nodoorlight, ravenscroll, soundtarget, dehhealth, trace, dropoff, boomscroll, invisibility, silentinstantfloors, sectorsounds, missileclip, crossdropoff, anybossdeath, minotaur, mushroom, mbfmonstermove, corpsegibs, noblockfriends, spritesort, hitscan, light, polyobj, and maskedmidtex, in this order.
Default: 0
This variable is a representation of up to 32 compatibility options as a single value. It currently only includes badangles, floormove, soundcutoff, pointonline, and multiexit, in this order.

Multiplayer and bot settings

Default: false
Normally, some dmflags are only used in deathmatch. If alwaysapplydmflags is 1, then they will also be used in single-player and co-op games. See also: dmflags.
Default: false
Allows you to see through the eyes of bots during deathmatch games.
Default: 11
A number representing the color of the next bot to be spawned. Possible values range from 0 to 11, 11 meaning that the bot will use its own color as defined in zcajun/bots.cfg.
0 ██Green 3 ██Deep Red 6 ██Red 9 ██Yellow
1 ██Gray 4 ██White 7 ██Blue 10 ██Bleached Bone
2 ██Indigo 5 ██Bright Brown 8 ██Dark Blue 11 use bot's own color
Default: false
When set to 1, the player will experience minimal interaction with the world, and bots will ignore him. Does not work in netgames.
Default: false
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is "The Voice" from Monolith Software's Blood. 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.
Default: false
In order to provide more responsive network play, ZDoom normally uses player prediction so that you can move immediately without waiting to receive packets from the other machines in the game. Doom did not have prediction, and if you don't like it, you can turn it off by setting this CVAR to true.
Default: true
When true, this will allow player prediction to run specific line specials, such as silent teleports (used for fake room-over-room).
Default: true
If this is true the game will display Unreal Tournament-style messages when a player makes several kills in a short period of time.
Default: true
If this is true the game will display Unreal Tournament-style messages when a player is on a killing spree. (Earning several kills without being killed himself.)
Default: 0
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.
Default: 0
Stores the status of various gameplay settings that primarily apply to multiplayer games. See the DMFlags article for details.
Default: 0
Stores the status of various gameplay settings that primarily apply to multiplayer games. See the DMFlags article for details.
Default: 0
If the fraglimit is non-zero, the game will automatically advance to the next level once anyone gets this many frags. (Deathmatch only.) See also: timelimit.
Default: 0
Controls the method of how extra tics are sent. 0 is none, 1 is 1 (implied by -extratic), and 2 will add all tics that are yet to have an acknowledgment.
Default: false
If switched on, all nodes will attempt to send messages in advance to match when they would receive eachothers. In a 2 player game, this has the effect of halving network latency. This only functions in P2P games. Packet Server will ignore this option.
Default: 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.
Default: false
When set to true, players will be recognized by team. Otherwise, everyone is treated as if they are not on a team regardless of the settings of their team CVARs. Useful primarily for the friendy fire avoidance dmflags and say_team command.
Default: 0.0
When the time limit is non-zero, the game will automatically advance to the next level after this many minutes have elapsed. (deathmatch only.) See also: fraglimit.
Default: 0
If greater then 0, the intermission will automatically advance regardless of NOAUTOSTARTMAP in an intermission script, the value of wi_noautostartmap, or if somebody is not ready in the stats screen. The value is a count of seconds. This only has an effect in multiplayer.

DM Flags

These console variables affect the DMFlags and therefore modify either dmflags or dmflags2 when they are changed.

Default: false
Set this to true to explicitly allow crouching, even if the map's definition in MAPINFO disables it. If false, crouching is still possible if it isn't forbidden by the map. This can be overridden by sv_nocrouch, and both variables at once can be manipulated with sv_crouch.
Default: false
Set this to true to explicitly allow freelooking, even if the map's definition in MAPINFO disables it. If false, freelooking is still possible if it isn't forbidden by the map. This can be overridden by sv_nofreelook, and both variables at once can be manipulated with sv_freelook.
Default: false
Set this to true to explicitly allow jumping, even if the map's definition in MAPINFO disables it. If false, jumping is still possible if it isn't forbidden by the map. This can be overridden by sv_nojump, and both variables at once can be manipulated with sv_jump.
Default: false
When true, barrels will eventually respawn after they are destroyed. Changing this to true in the middle of a game will not affect barrels that have already been destroyed.
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode! (deprecated)
Default: false
If this is true, it permits to use the chasecam even if sv_cheats is off.
Default: false
If on, players in cooperative mode respawn with half the ammo they had when they died (but not less than the normal starting amount).
Default: false
If on, a respawning player's ammo counts are reset to normal starting conditions in cooperative mode.
Default: false
If on, a respawning player's armor is reset to normal starting conditions in cooperative mode.
Default: false
If on, a respawning player's inventory (including ammo, armor, keys, powerups, and weapons) is reset to normal starting conditions in cooperative mode.
Default: false
If on, a respawning player's keys are reset to normal starting conditions in cooperative mode.
Default: false
If on, a respawning player's powerups are reset to normal starting conditions in cooperative mode.
Default: false
If on, a respawning player's weapons are reset to normal starting conditions in cooperative mode.
Default: 0
This combines sv_nocrouch and sv_allowcrouch in a single variable. Possible values are 0 (default), 1 (force disallowing) and 2 (force allowing).
Default: false
If on, a player's health above the normal maximum will decrease every second until it falls back to said normal maximum. Health degeneration is normally one point per second, but if the player's health is less than five points above the maximum, it will snap back instantly.
Default: false
If this variable is on, spying is not permitted.
Default: false
If on, forbids to use the kill command to commit suicide.
Default: false
If true, weapon switching does not check that enough ammo is actually available.
Default: false
If true, ammo pickups provide twice as much ammo as normal. (The actual multiplier can be modified by the DoubleAmmoFactor property of custom skills.)
Default: false
If true, and sv_oldfalldamage is false, Hexen-style falling damage is enforced. If both it and oldfallingdamage are true, then Strife-style falling damage is enforced.
Default: 0
Combines both sv_falldamage and sv_oldfalldamage in a single variable. Possible values are 0 (no falling damage), 1 (Hexen falling damage), 2 (ZDoom falling damage), and 3 (Strife falling damage).
Default: false
If true, monsters are more aggressive, and both they and projectiles use their FastSpeed property instead of their speed; as if a skill with the FastMonsters property was used. This is automatically set if using the -fast command line parameter.
Default: false
When true, players will respawn automatically after they die.
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
Default: 0
This combines sv_nofreelook and sv_allowfreelook in a single variable. Possible values are 0 (default), 1 (force disallowing) and 2 (force allowing).
Default: false
When true, firing a weapon will not use any ammo.
Default: false
When true, using an inventory item will not expend it.
Default: false
When true, monsters are immediately allowed to perform their first ranged attack since spawning without having to take a few steps first.
Default: false
When true, items will respawn after they have been picked up.
Default: 0
This combines sv_nojump and sv_allowjump in a single variable. Possible values are 0 (default), 1 (force disallowing) and 2 (force allowing).
Default: false
If true, the frag count for each player is not reset in between levels.
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
If true, exiting the level is not possible as long as there remain monsters (with the COUNTKILL flag) alive.
Default: false
If true, all monsters spawned by a BossEye will be killed when a BossBrain is killed.
Default: false
Default: false
If true, a player's frag count is decreased each time this player is killed.
Default: false
When true, monsters will respawn after they have been killed.
Default: false
When true, no armor will be spawned on the next map loaded. (This also includes the megasphere.)
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
Default: false
If true, autoaim is disabled for all players.
Default: false
If true, automap is disabled for all players.
Default: false
If true, allied players (in cooperative or team deathmatch games) are not shown on the automap.
Default: false
When set to 1, prevents manual aiming of the BFG9000. It will still aim up or down if you shoot it at something, but you will not be able to, for instance, shoot it at the ground to quickly generate tracer damage by looking down.
Default: false
If true, monsters spawned in a sector of type dDamage_End are not tallied for the kill statistics at the end of the level.
Default: false
Set this to true to explicitly forbid crouching, even if the map's definition in MAPINFO enables crouching. This also override sv_allowcrouch. If false, crouching can still be disallowed if the map forbids it.
Default: false
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
Default: false
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.
Default: false
When true, disables looking up and down and forces the players to view straight ahead.
Default: false
When true, no health items will be spawned on the next map loaded. (This also includes the berserk and the megasphere.)
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
Default: false
When true, no powerups or artifacts will be spawned on the next map loaded. (This actually has no effect at all!')
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
Default: false
Set this to true to explicitly forbid jumping, even if the map's definition in MAPINFO enables jumping. This also override sv_allowjump. If false, jumping can still be disallowed if the map forbids it.
Default: false
When true, no monsters will be spawned on the next map loaded. This is automatically set if using the -nomonsters command line parameter.
Default: false
IF true, dead players are not allowed to respawn.
Default: false
If true, players are not allowed to change team during a game.
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
Default: false
If true, vertical bullet spread for weapons is not allowed, thus disabled.
Note that weapons which have vertical bullet spread as part of their original behavior, such as the super shotgun, are unaffected by this variable.
Default: false
If true, weapons that are flagged to appear only in multiplayer are not spawned when playing in cooperative mode.
Default: false
If true, and sv_falldamage is false, old ZDoom-style falling damage is enforced. If both it and fallingdamage are true, then Strife-style falling damage is enforced.
Default: false
When true, players will be invulnerable for two second after spawning.
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!
Default: false
When true, items with the INVENTORY.BIGPOWERUP flag such as Doom's invulnerability sphere and blur sphere will be able to respawn like regular items.
Default: false
When true, the only way to go to a different level is with the changemap command.
Default: false
If true, players killed in cooperative mode respawn in the same place they died.
Default: false
When true, players will be spawned as far as possible from any other players.
Default: false
When true, players will drop their weapons when they die.
Default: false
When true, weapons will not disappear when a player picks them up. This does not apply to weapons dropped by monsters or other players.
This variable requires alwaysapplydmflags to have an effect outside of deathmatch mode!

File storage

Default: 4
This cvar determines how many autosave slots are used.
  • autosavenum (read-only)
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.
Default: true
If this CVAR is true demos will be compressed so that they take up less space on disk.
Default: 0
Controls how frequently the game automatically saves for you. The possible settings are:
  • 0 - Autosave whenever you enter a new level and whenever the level requests it. (Default)
  • 1 - Autosave only when the level requests it.
  • 2 - Never autosave.
Default: true
When GL nodes are generated, if building them took more time (in seconds) than gl_cachetime, the nodes will be saved on disk to be retrieved the next time the same level (identified by its MiniWikipediaLogoIcon.pngMD5 hash) is loaded.
Cached nodes are stored in %LOCALAPPDATA%/zdoom/cache on Windows Vista and newer, in a zdoom/cache subdirectory of the program directory in older Windows, and in ~/.zdoom/cache on Unix systems. (Need more info) They can be deleted by running the clearnodecache command.
Default: 0.6
Determines the minimum length, in seconds, that GL nodes generation must take to trigger node caching. Ignored if gl_cachenodes is false.
Default: false
This is a debugging CVAR used to disable all file compression. It should generally be left set to false.
Default: 0
Controls the gamma level stored in the gAMA chunk of PNG screenshots. If this is 0, then your current gamma setting will be used. Since a lot of software ignores the gAMA chunk, it might not seem to have any effect.
Default: 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 offers a decent trade-off between file size and compression time. An uncompressed image will not necessarily 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".
Default: ""
If this CVAR is not empty, it will be interpreted as the path where savegames will be written and read. By default, it uses the current working directory. Either an absolute path or a path relative to the current working directory can be used. The -savedir parameter overrides it.
Default: true
Setting this to false will disable confirmation dialogs when performing quicksave and quickload.
Default: 0
If this CVAR is set to 1, ZDoom will save gameplay statistics to a file pointed to by the statfile CVAR. Statistics saved include monsters killed, secrets found, and time passed. Other values have no effect.
Default: ""
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. Either an absolute path or a path relative to the current working directory can be used. The -shotdir parameter overrides it.
Default: false
Setting this to true will suppress the messages informing you what file a screenshot was saved to.
Default: "png"
Determines the type of screenshots that will be saved. This can be either "png" or "pcx". PNG screenshots typically take up about half the space of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation.
Default: zdoomstat.txt
Name of the text file used to store statistics if savestatistics is set to 1. It can include a path before the file name; if the path is not absolute, it will be relative to the current working directory.
Default: true
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.

Miscellaneous settings

Default: true
Pauses the game timer when a save starts, preventing the network buffer from trying to compensate for slow saves.
Default: ""
Name of the IWAD to preselect in the IWAD selection box or to load directly if queryiwad is false. This is automatically set to the loaded IWAD each time ZDoom is started.
Default: -1.0
Controls how much the game screen is "dimmed" to the dim color when in menu mode. A value of 0 doesn't change the screen at all, while a value of 1 obscures it entirely behind the dim color. A negative value means to use the GameInfo key value instead.
Each supported game archives its own version of this CVAR, so for example changing it in Doom will not affect Heretic and the rest.
Default: "FF D7 00" ██ (Doom, Strife) or "00 00 FF" ██ (Chex Quest, Heretic, Hexen)
The color to which the screen is dimmed when in menu mode.
Each supported game archives its own version of this CVAR, so for example changing it in Doom will not affect Heretic and the rest.
Default: "auto"
Determines the language used by ZDoom. 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. See LANGUAGE for a list of language codes.
Default: -1
Selects which screen ratios are shown in the set video mode menu. The default value of -1 displays all available modes. Other possible values are 0 to filter only 4:3 aspect ratios, 1 for 16:9, 2 for 16:10, and 3 for 17:10.
Default: 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.
Default: false
When set to true, GL-friendly nodes will be generated and used in place of whatever BSP tree was saved with the map. You must also set gennodes or am_textured to true for this cvar to have any effect.
Default: 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.
Default: false
When set to true, the game closes immediately when quitting from the quit menu, without asking for confirmation or playing a quit sound.
Default: true
When ZDoom finds more than one game IWAD, the defaultiwad is not set or does not contain a valid name, and you have not used the -iwad parameter, it will normally display an IWAD selection box to ask you to select which one you want to play with. Set this to false, and the first IWAD found will automatically be used.
Default: 1
Controls whether the ENDOOM lump is shown upon exiting ZDoom. This is a text lump that was displayed just before quitting to DOS in the original game. If this is on, ZDoom will emulate the display of this lump in a window after ZDoom closes. The following settings are valid:
  • 0 - Never show the ENDOOM lump.
  • 1 - The ENDOOM lump will always be displayed.
  • 2 - The ENDOOM lump will only be displayed if it has been modified from the original version by a PWAD.
Default: false
If this is set to true, any DECORATE error that had to be demoted to a warning for backwards compatibility will be treated as an actual error.

See also