Console commands: Difference between revisions
Lexus Alyus (talk | contribs) No edit summary |
Lexus Alyus (talk | contribs) No edit summary |
||
| Line 533: | Line 533: | ||
==Video== |
==Video== |
||
* [[Video]] |
|||
===fullscreen=== |
|||
boolean: true<br> |
|||
If this cvar is true, the game will be displayed fullscreen. Otherwise, it will be drawn in a window. Some video cards may require that you have fullscreen false in order to run ZDoom. |
|||
===vid_attachedsurfaces (Win32 only)=== |
|||
boolean: false<br> |
|||
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<br> |
|||
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<br> |
|||
Specifies the default screen height to use if not overridden at the command line by the -height switch. |
|||
===vid_defwidth=== |
|||
integer: 320<br> |
|||
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<br> |
|||
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<br> |
|||
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<br> |
|||
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_vsync (Win32 only)=== |
|||
boolean: true<br> |
|||
Set this to false to disable vsync. Not all video cards support disabling vsync. |
|||
==Bots== |
==Bots== |
||
Revision as of 11:22, 6 January 2004
Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, etc...
You access the console by pressing "~" at any time. (This depends on your keyboard layout, for German keyboard, it is "^", but to summarize it, it is the key above TAB.)
Console variable types
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.
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?"
colour
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. (EDIT: That's just a string, i.e. testcolor "ff 00 00")
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.
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
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.
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 2To compute 5-3: eval - 5 3To compute 2+(5*6): eval + 2 * 5 6To decrease the number of screenblocks: eval - $screenblocks 1 screenblocksThe 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.
Screenshots
png_gamma
float: 0
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.
png_level
integer: 5
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to "pcx".
screenshot [file]
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png.
screenshot_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 "png"
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.
Cheating
sv_cheats
boolean: false When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:
sv_cheats 1 god sv_cheats 0
whereby rendering himself immune to the attacks of others.
anubis
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.
fly
Toggles fly mode on and off.
give (item)
Gives an item to the player. Give understands the following special items:
all - gives you everything health - gives you full health weapons - gives you every weapon ammo - gives you full ammo armor - gives you full armor keys - gives you every key
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these.
god
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd.
iddqd
The same as god, except it also gives you 100 health.
kill [monsters]
If used as "kill monsters", will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don't use it unless you are playing a single player game.
logfile [log-file]
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen.
mdk
This cheat will kill whatever you are looking at.
morphme
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).
noclip
Toggles noclipping mode on/off.
notarget
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. In "modern FPS", monsters "can't find you" when in notarget mode. This is not the case with ZDoom.
powerup
Powers you up in Heretic as if you had used a Tome of Power.
sv_fastweapons (0-2)
Increases speed of weapons in Doom, Heretic, and Hexen. Setting to 2 makes weapons even faster.
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_showmultikills
boolean: true
Set this to false if you don't want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.
cl_showsprees
boolean: true
Set this to false if you don't want to see Unreal Tournament-style messages when a player is on a killing spree.
cl_spreaddecals
boolean: true
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don't want this.
con_centernotify
boolean: false for Doom, true for Heretic and Hexen
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.
con_midtime
float: 3
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper.
con_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_drawfuzzbr
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_stretchsky
boolean: true
Controls whether or not short sky textures are stretched so that you don't see them wrap when you look up.
r_viewsize
string
This cvar contains the width and height of the current view window. This cvar is read only.
r_visibility [visibility]
Without any parameters, displays the current visibility. With a parameter, the visibility is set. Standard visibility for the Doom engine is 8. Visibility determines how quickly light drops off with distance from the viewer. At 0 visibility, there is no change in lighting with depth.
Video
fullscreen
boolean: true
If this cvar is true, the game will be displayed fullscreen. Otherwise, it will be drawn in a window. Some video cards may require that you have fullscreen false in order to run ZDoom.
vid_attachedsurfaces (Win32 only)
boolean: false
Controls how the game allocates video memory. False is the standard setting and will always produce a useable display. If you find that there are patches of pure black and pure white on the screen (especially noticeable when a demon is right in your face), try setting this to true. Certain old Windows 95 video drivers are said to need this fix, and it is also necessary under NT 4. Unfortunately, many new video drivers (including those under NT 4) will produce a scrambled display if the screen width is not 512 or 1024 pixels and this is set to true.
vid_currentmode
Displays the resolution of the current video mode.
vid_defbits
integer: 8
Ignored. This cvar is meant to specify the default screen depth, but the setting is currently ignored because only 256-color displays are supported.
vid_defheight
integer: 200
Specifies the default screen height to use if not overridden at the command line by the -height switch.
vid_defwidth
integer: 320
Specifies the default screen width to use if not overridden at the command line with the -width switch.
vid_listmodes
Lists all resolutions supported by the current display driver.
vid_fps
boolean: false
When true, displays the average framerate over the past second in the lower-left corner of the screen. Because Doom's internal game rate and frame rate are linked, the framerate will never be (much) above 35 fps.
vid_noblitter (Win32 only)
boolean: true
Setting this to false will allow the use of the hardware to assist moving image data to video memory. When I initial wrote the code to use the blitter, it was faster than not using it. Now the blitter is slower, and I can't figure out why, so the default is true.
vid_palettehack (Win32 only)
boolean: false
When this cvar is true, the game will refresh the palette every time the screen is redrawn. This can be useful with some buggy video drivers. If the display is fine without it, leave it that way because this can slightly slow things down.
vid_setmode (width) (height) [depth]
Sets the screen mode to width x height with an optional color depth (if your video hardware supports it). Only a depth of 8 is supported. See also vid_currentmode, vid_listmodes
vid_vsync (Win32 only)
boolean: true
Set this to false to disable vsync. Not all video cards support disabling vsync.