Difference between revisions of "Command line argument"

From DoomWiki.org

[unchecked revision][unchecked revision]
m (wiki)
m (Source ports: fix helper dog link)
Line 189: Line 189:
 
|-
 
|-
 
| -dogs <num>
 
| -dogs <num>
| Overrides the current number of [[helper dogs]], setting it to <i>num</i>.
+
| Overrides the current number of [[helper dog]]s, setting it to <i>num</i>.
 
| [[MBF]]
 
| [[MBF]]
 
|-
 
|-

Revision as of 12:43, 9 October 2006

The original version of Doom ran under MS-DOS, which employed a command line interface. In such an environment, the user starts up the program by typing the name of the executable file (e.g. doom or doom2) followed by any of various switches which set game options, start a multiplayer game, load a PWAD, record or play back a demo, or otherwise configure that session of play.

Not all command line arguments are available in all source ports, or even in all versions of vanilla Doom (for example, the Nightmare! skill level was not added until version 1.2). Furthermore, many source ports now use GUI launchers, thereby requiring this configuration information to be entered in a rather different manner. Certain source ports, such as PrBoom, allow the use of batch files for entering command line arguments.

A few of the options listed here are also accessible while the program is running, via in-game menus (e.g. -loadgame) or cheat codes (e.g. -warp).

Main options

Option Action
-altdeath Deathmatch; items respawn shortly after being taken.
-avg "Austin Virtual Gaming", named after the city of Austin in Texas; equivalent to -timer 20.
-cdrom Uses C:\DOOMDATA for configuration data, so that the game can be played from a CD-ROM. The disk activity indicator also changes to a picture of a CD-ROM, rather than a floppy disk.
-config Specifies an alternate configuration file to use (default.cfg is used if this is not specified).
-deathmatch Deathmatch; items are available once only to each player.
-devparm Developer mode. The F1 key takes screenshots instead of displaying the in-game help; also, the ticks-per-frame counter is activated.
-dup Duplicates tic commands (see ticdup). When this is specified, the same tic command is used for two consecutive tics; as a result, the network bandwidth is halved.
-episode <e> Starts on level 1 of episode e (1-4). This can only be used when playing with the shareware, Doom or Ultimate Doom IWAD.
-extratic When specified, extra data is sent in each data packet sent over the network; this adds redundancy and makes the game more resilient to dropped packets (see extratic).
-fast Monsters are faster (see skill level).
-file <filename> ... Loads one or more external PWAD files.
-loadgame <slot> Automatically loads a saved game (slot 0-5).
-maxdemo Dictates maximum size of a demo recording.
-net Internal parameter used by the Doom networking engine.
-nodes <number of players> Defines the number of players in a multiplayer game.
-nodraw No drawing of the screen is performed. This can be used in conjunction with the timedemo option to measure the speed of the underlying engine without the rendering engine.
-nomonsters Game will contain no monsters.
-nomusic Disables background music.
-nosfx Disables sound effects.
-nosound Disables all sound.
-playdemo <demoname> Plays the demo <demoname>.LMP .
-record <demoname> Records a demo named <demoname>.LMP .
-recordfrom <game> <demoname> Starts recording a demo <demoname>.LMP from save game slot <game> (0-5).
-respawn Monsters respawn shortly after being killed.
-skill <skill level> Specifies skill level (0-5) for the new game.
-statcopy Registers an external statistics driver.
-timedemo <demoname> Plays the demo <demoname>.LMP at double speed, then displays the number of times the screen was redrawn while playing it.
-timer <minutes> Specifies a time limit for deathmatch games. After the specified amount of time runs out, the level being played is automatically exited.
-turbo <x> (10-400) Multiplies the speed of the player's motion by a percentage of normal. If unspecified, x = 200. Values of x outside the valid range are interpreted as the closest valid number (for instance, 500% becomes 400%, and -1% becomes 10%), or may be rejected entirely by a GUI launcher.
-warp <e> <m> or <l> Starts at specified level (e m for Doom, l for Doom II).
-wart <x> <y> Loads a PWAD called ExMy.WAD .

Development options

The following are special command line options which were used during the development of Doom and are not useful to most people:

Option Action
-comdev Development option used in developing Doom II.
-debugfile <name> Puts debug info in debug<name>.txt .
-noblit Suppresses all screen output. This option was deactivated in public (non-beta) versions of vanilla Doom, but works in Boom.
-regdev Development option used in developing the registered version of Doom.
-shdev Development option used in developing the Doom shareware version.

Unix port

The following options are understood by the Unix ports of Doom:

Option Action
-2, -3, -4 Scales the window by 2x, 3x, or 4x under X.
-disp <display> Specifies an X display to use (the display from the DISPLAY environment variable is used if this is not provided).
-geom <geometry> Specifies the size and position of the window when playing under X.
-grabmouse "Grabs" the mouse when playing under X. The mouse is kept inside the window so that it can be used as a control.
-net <player> <ip> <ip> ... Starts a multiplayer game. The first argument specifies the player number (starting from 0), while the remaining arguments specify the IP addresses of the other machines in the game. For example, to start a game between two machines with IP addresses 192.168.0.1 and 192.168.0.2, the first user would type
doom -net 0 192.168.0.2

and the second user would type

doom -net 1 192.168.0.1
-port <number> Specifies the network port to be used in multiplayer games. If no port is specified, port 666 is used.

Source ports

The following extra options are available in certain source ports:

Option Action Available in
-1 Prevents window scaling (if it has been activated via an in-game menu). The graphics resolution will be set by the -height and -width options. PrBoom
-basewad Specifies an IWAD file to use. Doom95
-beta Emulates the Doom press release beta. MBF
-bexout <name> Causes debugging information related to .deh and .bex patches to be written to the file <name>. PrBoom
-complevel <compatibility level> Toggles various bug fixes and enhanced features for maximum compatibility with other (related) source ports. A compatibility level of -1 means that all enhanced features and bug fixes are available, while 0 through 2 correspond to vanilla Doom, 3 through 5 correspond to Boom, 6 corresponds to LxDoom, 7 corresponds to MBF, and 8 through 10 emulate earlier versions of PrBoom. PrBoom
-deh <filename> Loads a Dehacked file. Boom, Doom Legacy, ZDoom
-dogs <num> Overrides the current number of helper dogs, setting it to num. MBF
-emulate Disables Direct Draw acceleration. Doom95
-fastdemo Similar to -timedemo, but faster. Boom, PrBoom
-ffmap <l> When used with -playdemo, causes the demo to play at -fastdemo speed until it reaches level l of any episode, then slow down to normal speed. Ignored in the presence of -timedemo. PrBoom
-frags <num> Ends a deathmatch game when one player has achieved a frag count of num. Boom
-height <num> Sets vertical screen resolution to num pixels (the default is 200). If -2 or -3 is also used, it will multiply this value accordingly. PrBoom
-host <num> Starts a multiplayer game for <num> players. The game will wait until the other <num>-1 players join (see -join). ZDoom
-iwad <filename> Specifies an IWAD file to use. Boom, Doom Legacy, ZDoom
-join <ip> Joins a multiplayer game being established using -host. ZDoom
-net <hostname> <port> Starts a network game using the TCP-IP protocol, by connecting to the machine hostname via port number port. (The port number may be omitted, in which case port 5030 is used.) PrBoom
-noaccel Disables certain types of graphics acceleration in X (for maximum compatibility during multiplayer games). LxDoom, PrBoom
-nodm Bypasses the GUI launcher (command line arguments won't work with Doom95 without it). Doom95
-nodrawers Identical to -nodraw. PrBoom
-nojoy Disables joystick input. PrBoom
-noload Starts a game without loading any of the default PWADs or executable patches (defined within an in-game menu). MBF
-nomouse Prevents mouse "grabbing". The default behavior is to grab the mouse (see -grabmouse). PrBoom
-save <directory> Specifies a directory for saved games (the default is the directory which contains the executable). Boom, PrBoom
-weirdo <seconds> Items respawn after a specified time. Doom95
-width <num> Sets horizontal screen resolution to num pixels (the default is 320). If -2 or -3 is also used, it will multiply this value accordingly. PrBoom

Using a response file

A response file can be used to store command line arguments to launch a Doom engine-based game with. To use one, launch the game with the argument @<response file filename>. For example, to use the file "response.txt", type:

 doom @response.txt

The file format of these files is simply one parameter per line with a carriage return to terminate the line. Each parameter is typed exactly as it is typed on the command line. A parameter can be "commented out" by modifying its name to that of an invalid parameter. One way to do this is to place a "|" between the "-" and the actual option name (e.g. "-|warp").

External links