---
name: "crispy-hexen"
section: "6"
platform: "linux"
package: "crispy-doom"
version: "7.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/crispy-hexen"
---

# crispy-hexen(6)

historically compatible Hexen engine

## NAME

crispy-hexen - historically compatible Hexen engine

## SYNOPSIS

**crispy-hexen** \[*OPTIONS*\]

## DESCRIPTION

Crispy Hexen is a port of Raven Software's 1995 game "Hexen" that aims to behave as similar to the original DOS version of Hexen as possible.\

## GENERAL OPTIONS

- **-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.

- **-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 \<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

- **-autohealth**

  Automatic use of Quartz flasks and Mystic urns.

- **-fast**

  Fast monsters. This option is not allowed when recording a demo, playing back a demo or when starting a network game.

- **-loadgame \<s\>**

  Load the game in savegame slot s.

- **-moremana**

  Mana pickups give 50% more mana. 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.

- **-warp x**

  Start a game immediately, warping to MAPx.

## 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.

- **-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

- **-autojoin**

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

- **-class \<n\>**

  Specify player class: 0=fighter, 1=cleric, 2=mage, 3=pig.

- **-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.

- **-randclass**

  In deathmatch mode, change a player's class each time the player respawns.

- **-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)

- **-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

- **-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 \<savenum\> \<demofile\>**

  Record a demo, loading from the given filename. Equivalent to -loadgame \<savenum\> -record \<demofile\>.

- **-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

- **-gameversion \<version\>**

  Emulate a specific version of Hexen. Valid values are "1.1" and "1.1r2".

- **-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).

- **-v10override**

  If provided, the check for the v1.0 IWAD file is disabled, even though it will almost certainly cause the game to crash.

## OBSCURE AND LESS-USED OPTIONS

- **-artiskip**

  Don't allow artifacts to be used when the run key is held down.

- **-cdrom**

  \[windows only\] Save configuration data and savegames in c:\\hexndata, 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.

- **-scripts \<path\>**

  Development option to specify path to level scripts.

## 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 Crispy Hexen'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/crispy-doom/hexen.cfg**

  The main configuration file for Crispy Hexen.  See [**hexen.cfg**(5)](/hexen.cfg/5.md).

- **$HOME/.local/share/crispy-doom/crispy-hexen.cfg**

  Extra configuration values that are specific to Crispy Hexen and not present in Vanilla Hexen.  See [**crispy-hexen.cfg**(5)](/crispy-hexen.cfg/5.md).

## SEE ALSO

[**crispy-doom**(6)](/crispy-doom/6.md), [**crispy-heretic**(6)](/crispy-heretic/6.md), **crispy-server**(6), [**crispy-setup**(6)](/crispy-setup/6.md)

## AUTHOR

Chocolate Hexen is part of the Chocolate Doom project, written and maintained by Simon Howard. It is based on the Hexen source code, released by Raven Software.

## COPYRIGHT

Copyright © id Software Inc. Copyright © Raven Software Inc. Copyright © 2005-2013 Simon Howard.\
 This is free software.  You may redistribute copies of it under the terms of the GNU General Public License \<http://www.gnu.org/licenses/gpl.html\>. There is NO WARRANTY, to the extent permitted by law.
