# Command line parameters

This is a full list of the supported command line parameters. A number of additional parameters are supported in addition to those present in the DOS version.

## General options

Parameter | Description
--- | ---
-config <file> | Load main configuration from the specified file, instead of the default.
-extraconfig <file> | Load additional configuration from the specified file, instead of the default.
-file <files> | Load the specified PWAD files. Each succeeding argument is treated as a PWAD file name until one starts with a dash or the argument list is exhausted.
-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.
-ravpic | Take screenshots when F1 is pressed.
-response <file> | Load extra command-line arguments from the given response file. Arguments read from the file are inserted into the command line, replacing this argument. A response file can also be loaded using the abbreviated syntax '@file.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

Parameter | Description
--- | ---
-autohealth | Automatic use of Quartz flasks and Mystic urns.
-coop_spawns | Start single player game with items spawns as in cooperative netgame.
-episode <n> | Start playing episode n (1-4).
-fast | Fast monsters. This option is not allowed when recording a demo, playing back a demo or when starting a network game.
-keysloc | Show the location of keys on the automap.
-loadgame <s> | Load the game in savegame slot s.
-moreammo | Ammo pickups give 50% more ammo. This option is not allowed when recording a demo, playing back a demo or when starting a network game.
-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.
-wandstart | Automatic wand start when advancing from one level to the next. At the beginning of each level, the player's health is reset to 100, their armor to 0 and their inventory is reduced to the following: wand, staff and 50 ammo for the wand. This option is not allowed when recording a demo, playing back a demo or when starting a network game.
-warp <x> <y> | Start a game immediately, warping to level ExMy.

## Display options

Parameter | Description
--- | ---
-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 <WxH> | Specify the dimensions of the window. Implies -window.
-height <H> | Specify the screen height, in pixels. Implies -window.
-noblit | Disable blitting the screen.
-nograbmouse | Don't grab the mouse when running in windowed mode.
-nomouse | Disable the mouse.
-width <W> | Specify the screen width, in pixels. Implies -window.
-window | Run in a window.

## Networking options

Parameter | Description
--- | ---
-autojoin | Automatically search the local LAN for a multiplayer server and join it.
-connect <address> | Connect to a multiplayer server running on the given address.
-deathmatch | Start a deathmatch game.
-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.
-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.
-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

Parameter | Description
--- | ---
-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)
-hhever <version> | Select the Heretic version number that was used to generate the HHE patch to be loaded. Patches for each of the Vanilla Heretic versions (1.0, 1.2, 1.3) can be loaded, but the correct version number must be specified.
-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 files.
-nocheats | Ignore cheats in dehacked files.
-nwtmerge <files> | Simulates the behavior of NWT's -merge option. Multiple files may be specified.

## Demo options

Parameter | Description
--- | ---
-longtics | Record or playback a demo with high resolution turning.
-maxdemo <size> | Specify the demo buffer size (KiB)
-nodemoextend | Record or playback a demo, automatically quitting after either level exit or player respawn.
-noshortticfix | Don't smooth out low resolution turning when recording a demo.
-playdemo <demo> | Play back the demo named demo.lmp.
-record <x> | Record a demo named x.lmp.
-recordfrom <save-num> <demo-name> | Load a game from the given savegame slot and record a demo from it. Equivalent to -loadgame <save-num> -record <demo-name>.
-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

Parameter | Description
--- | ---
-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).

## Obscure and less-used options

Parameter | Description
--- | ---
-cdrom | Save configuration data and savegames in c:\heretic.cd, allowing play from CD. (windows only)
-dumpsubstconfig <file> | Read all MIDI files from loaded WAD files, dump an example substitution music config file to the specified file, 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.
-noartiskip | Allow artifacts to be used when the run key is held down.
-nogui | If specified, don't show a GUI window for error messages when the game exits with an error.