prboom-plus — PrBoom+, a version of Doom for Unix, Linux and Windows systems

Synopsis

prboom-plus [options] [values|files]

Description

PrBoom is a version of the first-person shooter game Doom, originally released by iD software in 1993. It is based on Boom, a version of Doom adapted by TeamTNT (http://www.teamtnt.com/) for Dos. PrBoom uses the SDL library, meaning it can run on a variety of different systems, including Windows and Unix/X11.

PrBoom+ is a Doom source port developed from the original PrBoom project. It adds uncapped framerate, variable gamespeed, re-record, walkcam, chasecam, full mouselook, FOV and other features without loss of compatibility with original Doom.

Game options

-complevel lvl
This sets the compatibility mode that PrBoom+ runs in. If you need to change this, see README.compat.
-loadgame { 0,1,2,3,4,5,6,7 }
Instructs PrBoom+ to load the specified saved game immediately.
-warp { map | epis level }
Tells PrBoom+ to begin a new game immediately. For Doom 1 or The Ultimate Doom, you must specify the episode and level number to begin at (epis is 1 for Knee-Deep in the Dead, 2 for Shores of Hell, 3 for Inferno, 4 for Thy flesh Consumed; level is between 1 and 9). For Doom 2 or Final Doom, you must specify the map to begin at, which is between 1 and 32 (30 for German Doom 2).
-skill n
Tells PrBoom+ to begin the game at skill level n (1 for I'm Too Young To Die; 2 for Hey, Not Too Rough; 3 for Hurt Me Plenty; 4 for Ultra-Violent; 5 for Nightmare!).
-respawn
Tells PrBoom+ that monsters that die should respawn (come back to life) after a while. Not for the inexperienced.
-fast
Tells PrBoom+ to make all the monsters move and react faster. Not for the inexperienced.
-nomonsters
Tells PrBoom+ to include no monsters in the game.
-nocheats
Disable applying cheats from dehacked files.

Wad options

-iwad iwadname
Specifies the location of the IWAD file, typically doom.wad or doom2.wad (or doom2f.wad). This tells PrBoom+ where the main .wad file that came with the version of Doom that you own is.
-file wad1 ...
Specifies a list of PWAD files to load in addition to the IWAD file. PWAD files modify the existing Doom game, by adding levels or new sounds or graphics. PWAD files are widely available for download; try http://www.doomworld.com/idgames/ for starters.
-deh deh_file
Tells PrBoom+ to load the dehacked patch deh_file.

Demo (lmp) options

-record demofile
Instructs PrBoom+ to begin recording a demo, to be stored in demofile.lmp. You should specify game options to specify which level and skill to record at.
-playdemo demofile
Play the recorded demo demofile.lmp.
-timedemo demofile
Play the recorded demo demofile.lmp, reporting information about the length of the demo (in gametics) afterwards.
-viddump filename
Record a movie file, it requires external command-line encoding tools, oggenc2 (ogg vorbis audio encoder), x264 (h264 video encoder) and mkvmerge (mkv muxer). It is meant to be used with -timedemo, e.g. "prboom-plus -timedemo anydemo.lmp -viddump filename.mkv".
-fastdemo demofile
Play the recorded demo demofile.lmp as fast as possible. Useful for benchmarking PrBoom+, as compared to other versions of Doom.
-ffmap num
Fast forward the demo (play at max speed) until reaching map num (note that this takes just a number, not a map name, so so -ffmap 7 to go fast until MAP07 or ExM7).
-warp x
Warps directly to the start of map x of a recording without rendering any of the play up to that point. Pressing Use (<Space> by default) during skipping shows the current frame.
-avidemo fileprefix
Grabbing of the screenshots to frmXXXX.tga.
-skipsec x
Skip X secs during viewing of the demo.
-warp x -skipsec y
Will skip y seconds on level x.
-recordfromto n.lmp m
Play back the demo n.lmp, allowing the user to take over the controls at a point of his choosing, and save the resulting demo as m.lmp.
-levelstat
Outputs a text-file called levelstat.txt containing level-by-level information on times, kills, items and secrets.
-spechit xxx
Provides a spechits magic number, overriding the program's default value.
-nomonsters
For playback of -nomonsters demos recorded with Doom.exe 1.2.
-respawn
For playback of -respawn demos recorded with Doom.exe 1.2.
-auto
Enables the autoloading of wads according to the lmp file-name. See below for information.

Demos old versions compatibility parameters

-emulate prboom_ver
For viewing old desynching PrBoom demos with all recording bugs from a particular version emulated. For example, "-emulate 2.2.6" would be used to play back a desynching demo recorded with PrBoom 2.2.6. This would be instead of using the various command-line options for each recording bug (see below) from that version.
-force_monster_avoid_hazards
For viewing old desynching doom-compatible PrBoom demos recorded with "monster_avoid_hazards 1" in config.
-force_remove_slime_trails
For viewing old desynching doom-compatible demos recorded with old versions of PrBoom (< 2.4.6) or PrBoom+ (< 2.4.6.1) that are affected by the "remove slime trails" incompatibility.
-reject_pad_with_ff
For viewing old desynching doom-compatible demos recorded with old versions of PrBoom (including 2.2.5 and 2.2.6) that padded a short REJECT with ones instead of zeroes.
-force_truncated_sector_specials
For emulation of old buggy behaviour whereby Boom's generalized effects could work instead of failing in a compatibility mode in the case of a bad action number.
-force_no_dropoff
For emulation of MBF_compatibility behaviour in PrBoom 2.2.2 - 2.4.7, whereby things did not drop off ledges when they would have done in MBF.
-force_prboom_friction
For emulation of old buggy behaviour whereby Boom's friction and bobbing code were not faithfully replicated.
-force_force_boom_brainawake
For emulation of Boom's behaviour with respect to the Monster Spawner, which differed slightly from that of "vanilla" Doom.
-force_lxdoom_demo_compatibility
For emulation of all bugs in demo compatibility mode in lxdoom.
-boom_deh_parser
Forces the Boom DEH parser.
-setmem system
The desynch in fez1-924.lmp @ fez1.wad is gone, but you still need to add "-setmem dosbox" or "-setmem dos71" command line parameter, because the default "dos622" memory layout causes a desynch.

Multiplayer options

-net hostname[:port]
Specifies that a TCP/IP network game is to be started. hostname is the name of the machine on which the network game server is running (prboom-plus-game-server). For more information about this, see prboom-plus-game-server(6) and the README that came with PrBoom+. port is the port number on the remote machine to which to connect; if not specified, the default of 5030 (which is the default for prboom-plus-game-server(6) ) is assumed. The server will configure your PrBoom+ settings, so that all the players have the same game settings (skill, map etc).

Also, the server may specify additional PWAD files to play with; if you do not have the required .WAD file, PrBoom+ will ask the server for a download path, and attempt to use wget(1) and if necessary unzip(1) to download and extract the required WAD.

-port portnum
Specifies the local port to use to communicate with the server in a netgame.
-deathmatch
No longer used. Tells PrBoom+ to begin a deathmatch game, but this is overridden by the server's settings. Only works for single play (!).
-altdeath
Similar to -deathmatch, but implies a different set of rules for the deathmatch game. No longer used (specified by the server).
-timer mins
No longer used. Specifies that levels will end after mins minutes of play if the level is still being played, but is overridden by the server in a netgame. Not really useful for single play.
-avg
Equivalent to -timer 20.
-solo-net
Used to run a single-player network game, without a network game server. This enables network game items & options for an otherwise single-player game; some demos are recorded like this.

Video options

-width w
Specifies the width of the PrBoom+ window, in pixels. Default is 320, the width must be greater than 320.
-height h
Specifies the height of the PrBoom+ window, in pixels. Default is 200, the height must be greater than 200.
-viewangle n
Causes the player view to be rotated by a given offset (specified in 45degree increments, in the range 0..7) from the way the player is facing.
-vidmode gl
Use the OpenGL video mode. The default is to use the software video mode.
-fullscreen, -nofullscreen
These options toggle fullscreen mode. The default is fullscreen.
-window, -nowindow
This pair of options also toggle fullscreen mode. They only take effect for this PrBoom+ session and do not alter your configuration file.
-noaccel
For PrBoom+, this prevents it using the MITShm server extension for passing the screen data to the X server. This option may be required if the X server is not local. For lsdoom, this tells lsdoom not to use the accelerated graphics functions that SVGALib provides even when they are supported for your video card (normally this is autodetected).
-1-2-3
Specifies the scale factor by which to enlarge the window. The default, -1, displays the normal 320x200 pixel Doom screen (or whatever size is specified by the -width and -height parameters or in the config file for PrBoom+). If this window is too small, try using -2 or -3 to enlarge the window.
-nodraw
Suppress all graphical display. Only for debugging & demo testing.
-aspect NxM
For using a different aspect ratio; e.g. -aspect 5x4, -aspect 8x5 or -aspect 2x1.
-videodriver name
For setting up the videodriver name that SDL will use (See SDL documentation). "-videodriver default" can be used to force SDL behaviour by default.
-resetgamma
Restores the original gamma after a crash.
-geom NxM
Basic syntax, for temporarily using a particular resolution without saving this in the cfg; e.g. -geom 1280x1024.
-geom WidthxHeight[w|f]
Advanced syntax, w - windowed, f - fullscreen. Examples: -geom 320x200f, -geom 640x480w.

I/o options

-nosound
Disables all sound effects and in-game music. This prevents the sound server loading, which lets the game run a little faster.
-nosfx
Disables sound effects during the game. This does not stop the sound server loading, however, so for best performance use -nosound.
-nomusic
Disables playing of music in the game.
-nojoy
Disables joystick support.
-nomouse
Prevents the mouse being grabbed by the PrBoom+ window.
-shorttics
Forces the same mouse behaviour as when recording (i.e. the converse of "-longtics").

Configuration

-config myconf
Loads an alternative configuration file, named myconf. The default is prboom-plus.cfg(5), taken from the same directory as PrBoom+ was run from.
-save savedir
Causes PrBoom+ to save games in the directory specified by savedir instead of ~/.prboom-plus/.
-shotdir shotdir
Causes PrBoom+ to save screenshots in shotdir instead of the current directory.

Debugging/profiling options

-devparm
Development mode. Mostly redundant these days, but it does force non-lazy generation of texture lookups which can be useful for level authors debugging PWADs.
-debugfile debug_file
Causes some debugging information, mainly network info, to be written to the named file as PrBoom+ runs.
-nodrawers
Causes no rendering to be done. The only conceivable use of this is (a) a multiplayer server (b) to test the speed of the other routines in the program, when combined with -timedemo.
-noblit
Causes no copying to the screen from the rendering buffer to be performed. The only conceivable use of this is (a) a multiplayer server (b) to test the speed of the other routines in the program, when combined with -timedemo.
-bexout bexdbg
Causes diagnostics related to bex and dehacked file processing to be written to the names file.
-blockmap
Use if PrBoom-Plus reports a buggy blockmap.

Authors

See the file AUTHORS included with the PrBoom+ distribution.