chocolate-doom - Man Page

historically compatible Doom engine

Synopsis

chocolate-doom [OPTIONS]

Description

Chocolate Doom is a port of Id Software's 1993 game "Doom" that is designed to behave as similar to the original DOS version of Doom as is possible.

General Options

-config <file>

Load main configuration from the specified file, instead of the default.

-devparm

Developer mode. F1 saves a screenshot in the current working directory.

-extraconfig <file>

Load additional configuration from the specified file, instead of the default.

-file <files>

Load the specified PWAD files.

-iwad <file>

Specify an IWAD file to use.

-nomusic

Disable music.

-nomusicpacks

Disable substitution music packs.

-nosfx

Disable sound effects.

-nosound

Disable all sound output.

-response <filename>

Load extra command line arguments from the given response file. Arguments read from the file will be inserted into the command line replacing this argument. A response file can also be loaded using the abbreviated syntax '@filename.rsp'.

-savedir <directory>

Specify a path from which to load and save games. If the directory does not exist then it will automatically be created.

-version

Print the program version and exit.

Game Start Options

-episode <n>

Start playing on episode n (1-4)

-fast

Monsters move faster.

-loadgame <s>

Load the game in slot s.

-nomonsters

Disable monsters.

-respawn

Monsters respawn after being killed.

-skill <skill>

Set the game skill, 1-5 (1: easiest, 5: hardest).  A skill of 0 disables all monsters.

-turbo <x>

Turbo mode.  The player's speed is multiplied by x%.  If unspecified, x defaults to 200.  Values are rounded up to 10 and down to 400.

-warp [<x> <y> | <xy>]

Start a game immediately, warping to ExMy (Doom 1) or MAPxy (Doom 2)

Display Options

-1

Don't scale up the screen. Implies -window.

-2

Double up the screen to 2x its normal size. Implies -window.

-3

Double up the screen to 3x its normal size. Implies -window.

-display <x>

Specify the display number on which to show the screen.

-fullscreen

Run in fullscreen mode.

-geometry <WxY>

Specify the dimensions of the window. Implies -window.

-height <y>

Specify the screen height, in pixels. Implies -window.

-noblit

Disable blitting the screen.

-nodraw

Disable rendering the screen entirely.

-nograbmouse

Don't grab the mouse when running in windowed mode.

-nomouse

Disable the mouse.

-width <x>

Specify the screen width, in pixels. Implies -window.

-window

Run in a window.

Networking Options

-altdeath

Start a deathmatch 2.0 game.  Weapons do not stay in place and all items respawn after 30 seconds.

-autojoin

Automatically search the local LAN for a multiplayer server and join it.

-avg

Austin Virtual Gaming: end levels after 20 minutes.

-connect <address>

Connect to a multiplayer server running on the given address.

-deathmatch

Start a deathmatch game.

-dedicated

Start a dedicated server, routing packets but not participating in the game itself.

-dup <n>

Reduce the resolution of the game by a factor of n, reducing the amount of network bandwidth needed.

-extratics <n>

Send n extra tics in every packet as insurance against dropped packets.

-left

Run as the left screen in three screen mode.

-localsearch

Search the local LAN for running servers.

-nodes <n>

Autostart the netgame when n nodes (clients) have joined the server.

-oldsync

Use original network client sync code rather than the improved sync code.

-port <n>

Use the specified UDP port for communications, instead of the default (2342).

-privateserver

When running a server, don't register with the global master server. Implies -server.

-query <address>

Query the status of the server running on the given IP address.

-right

Run as the right screen in three screen mode.

-search

Query the Internet master server for a global list of active servers.

-server

Start a multiplayer server, listening for connections.

-servername <name>

When starting a network server, specify a name for the server.

-solo-net

Start the game playing as though in a netgame with a single player.  This can also be used to play back single player netgame demos.

-timer <n>

For multiplayer games: exit each level after n minutes.

Dehacked and Wad Merging

-aa <files>

Equivalent to "-af <files> -as <files>".

-af <files>

Simulates the behavior of NWT's -af option, merging flats into the main IWAD directory.  Multiple files may be specified.

-as <files>

Simulates the behavior of NWT's -as option, merging sprites into the main IWAD directory.  Multiple files may be specified.

-deh <files>

Load the given dehacked patch(es)

-dehlump

Load Dehacked patches from DEHACKED lumps contained in one of the loaded PWAD files.

-merge <files>

Simulates the behavior of deutex's -merge option, merging a PWAD into the main IWAD.  Multiple files may be specified.

-noautoload

Disable auto-loading of .wad and .deh files.

-nocheats

Ignore cheats in dehacked files.

-nodeh

Disable automatic loading of Dehacked patches for certain IWAD files.

-nwtmerge <files>

Simulates the behavior of NWT's -merge option.  Multiple files may be specified.

Demo Options

-longtics

Record a high resolution "Doom 1.91" demo.

-maxdemo <size>

Specify the demo buffer size (KiB)

-playdemo <demo>

Play back the demo named demo.lmp.

-record <x>

Record a demo named x.lmp.

-shorttics

Play with low turning resolution to emulate demo recording.

-strictdemos

When recording or playing back demos, disable any extensions of the vanilla demo format - record demos as vanilla would do, and play back demos as vanilla would do.

-timedemo <demo>

Play back the demo named demo.lmp, determining the framerate of the screen.

Compatibility

-donut <x> <y>

Use the specified magic values when emulating behavior caused by memory overruns from improperly constructed donuts. In Vanilla Doom this can differ depending on the operating system.  The default (if this option is not specified) is to emulate the behavior when running under Windows 98.

-gameversion <version>

Emulate a specific version of Doom.  Valid values are "1.2", "1.666", "1.7", "1.8", "1.9", "ultimate", "final", "final2", "hacx" and "chex".

-pack <pack>

Explicitly specify a Doom II "mission pack" to run as, instead of detecting it based on the filename. Valid values are: "doom2", "tnt" and "plutonia".

-setmem <version>

Specify DOS version to emulate for NULL pointer dereference emulation.  Supported versions are: dos622, dos71, dosbox. The default is to emulate DOS 7.1 (Windows 98).

-spechit <n>

Use the specified magic value when emulating spechit overruns.

-statdump <filename>

Dump statistics information to the specified file on the levels that were played. The output from this option matches the output from statdump.exe (see ctrlapi.zip in the /idgames archive).

Obscure and Less-Used Options

-cdrom

[windows only] Save configuration data and savegames in c:\doomdata, allowing play from CD.

-dumpsubstconfig <filename>

Read all MIDI files from loaded WAD files, dump an example substitution music config file to the specified filename and quit.

-mb <mb>

Specify the heap size, in MiB.

-mmap

Use the OS's virtual memory subsystem to map WAD files directly into memory.

-nogui

If specified, don't show a GUI window for error messages when the game exits with an error.

Iwad Search Paths

To play, an IWAD file is needed. This is a large file containing all of the levels, graphics, sound effects, music and other material that make up the game. IWAD files are named according to the game; the standard names are:

doom.wad, doom1.wad, doom2.wad, tnt.wad, plutonia.wad

Doom, Doom II, Final Doom

heretic.wad, heretic1.wad, hexen.wad, strife1.wad

Heretic, Hexen and Strife (commercial Doom engine games).

hacx.wad, chex.wad

Hacx and Chex Quest - more obscure games based on the Doom engine.

freedm.wad, freedoom1.wad, freedoom2.wad

The Freedoom open content IWAD files.

The following directory paths are searched in order to find an IWAD:

Current working directory

Any IWAD files found in the current working directory will be used in preference to IWADs found in any other directories.

DOOMWADDIR

This environment variable can be set to contain a path to a single directory in which to look for IWAD files. This environment variable is supported by most Doom source ports.

DOOMWADPATH

This environment variable, if set, can contain a colon-separated list of directories in which to look for IWAD files, or alternatively full paths to specific IWAD files.

$HOME/.local/share/games/doom

Writeable directory in the user's home directory. The path can be overridden using the XDG_DATA_HOME environment variable (see the XDG Base Directory Specification).

/usr/local/share/doom, /usr/local/share/games/doom, /usr/share/doom,

/usr/share/games/doom System-wide locations that can be accessed by all users. The path /usr/share/games/doom is a standard path that is supported by most Doom source ports. These paths can be overridden using the XDG_DATA_DIRS environment variable (see the XDG Base Directory Specification).

The above can be overridden on a one-time basis by using the -iwad command line parameter to provide the path to an IWAD file to use. This parameter can also be used to specify the name of a particular IWAD to use from one of the above paths. For example, '-iwad doom.wad' will search the above paths for the file doom.wad to use.

Environment

This section describes environment variables that control Chocolate Doom's behavior.

DOOMWADDIR,  DOOMWADPATH

See the section, Iwad Search Paths above.

PCSOUND_DRIVER

When running in PC speaker sound effect mode, this environment variable specifies a PC speaker driver to use for sound effect playback.  Valid options are "Linux" for the Linux console mode driver, "BSD" for the NetBSD/OpenBSD PC speaker driver, and "SDL" for SDL-based emulated PC speaker playback (using the digital output).

OPL_DRIVER

When using OPL MIDI playback, this environment variable specifies an OPL backend driver to use.  Valid options are "SDL" for an SDL-based software emulated OPL chip, "Linux" for the Linux hardware OPL driver, and "OpenBSD" for the OpenBSD/NetBSD hardware OPL driver.

Generally speaking, a real hardware OPL chip sounds better than software emulation; however, modern machines do not often include one. If present, it may still require extra work to set up and elevated security privileges to access.

Files

$HOME/.local/share/chocolate-doom/default.cfg

The main configuration file for Chocolate Doom.  See default.cfg(5).

$HOME/.local/share/chocolate-doom/chocolate-doom.cfg

Extra configuration values that are specific to Chocolate Doom and not present in Vanilla Doom.  See chocolate-doom.cfg(5).

See Also

chocolate-server(6), chocolate-setup(6), chocolate-heretic(6), chocolate-hexen(6), chocolate-strife(6)

Author

Chocolate Doom is written and maintained by Simon Howard.  It is based on the LinuxDoom source code, released by Id Software.

Referenced By

chocolate-doom.cfg(5), chocolate-doom-setup(6), chocolate-heretic(6), chocolate-hexen(6), chocolate-server(6), chocolate-strife(6), default.cfg(5).