chocolate-hexen man page

chocolate-hexen — historically compatible Hexen engine


chocolate-hexen [OPTIONS]


Chocolate 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

Don't allow artifacts to be used when the run key is held down.
[windows only] Save configuration data and savegames in c:\hexndata, allowing play from CD.
-config <file>
Load main configuration from the specified file, instead of the default.
-dumpsubstconfig <output filename>
Read all MIDI files from loaded WAD files, dump an example substitution music config file to the specified filename and quit.
-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.
-loadgame <s>
Load the game in savegame slot s.
-mb <mb>
Specify the heap size, in MiB (default 16).
Use the OS's virtual memory subsystem to map WAD files directly into memory.
Disable blitting the screen.
Disable monsters.
Disable music.
Disable sound effects.
Disable all sound output.
Take screenshots when F1 is pressed.
Monsters respawn after being killed.
-scripts <path>
Development option to specify path to level scripts.
-servername <name>
When starting a network server, specify a name for the server.
-skill <skill>
Set the game skill, 1-5 (1: easiest, 5: hardest). A skill of 0 disables all monsters.
Zone memory debugging flag. If set, each time memory is freed, the zone heap is scanned to look for remaining pointers to the freed block.
Zone memory debugging flag. If set, memory is zeroed after it is freed to deliberately break any code that attempts to use it after free.


-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).
If provided, the check for the v1.0 IWAD file is disabled, even though it will almost certainly cause the game to crash.

Demo Options

-playdemo <demo>
Play back the demo named demo.lmp.
-timedemo <demo>
Play back the demo named demo.lmp, determining the framerate of the screen.

Display Options

Don't scale up the screen.
Double up the screen to 2x its normal size.
Double up the screen to 3x its normal size.
Set the color depth of the screen to 32 bits per pixel.
-bpp <bpp>
Specify the color depth of the screen, in bits per pixel.
Run in fullscreen mode.
-geometry <WxY>[wf]
Specify the dimensions of the window or fullscreen mode. An optional letter of w or f appended to the dimensions selects windowed or fullscreen mode.
Grab the mouse when running in windowed mode.
-height <y>
Specify the screen height, in pixels.
Don't grab the mouse when running in windowed mode.
Disable the mouse.
Enable vertical mouse movement.
Disable vertical mouse movement.
-width <x>
Specify the screen width, in pixels.
Run in a window.

Networking Options

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.
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.
When running a netgame server, ignore version mismatches between the server and the client. Using this option may cause game desyncs to occur, or differences in protocol may mean the netgame will simply not function at all.
Use new network client sync code rather than the classic sync code. This is currently disabled by default because it has some bugs.
-nodes <n>
Autostart the netgame when n nodes (clients) have joined the server.
-port <n>
Use the specified UDP port for communications, instead of the default (2342).
When running a server, don't register with the global master server. Implies -server.
In deathmatch mode, change a player's class each time the player respawns.
Start a multiplayer server, listening for connections.
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.
Ignore cheats in dehacked files.
-nwtmerge <files>
Simulates the behavior of NWT's -merge option. Multiple files may be specified.


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

These environment variables provide paths to search for Doom .WAD files when looking for a game IWAD file or a PWAD file specified with the `-file' option. DOOMWADDIR specifies a single path in which to look for WAD files, while DOOMWWADPATH specifies a colon-separated list of paths to search.
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).

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.


The main configuration file for Chocolate Hexen. See hexen.cfg(5).
Extra configuration values that are specific to Chocolate Hexen and not present in Vanilla Hexen. See chocolate-hexen.cfg(5).

See Also

chocolate-doom(6), chocolate-heretic(6), chocolate-server(6), chocolate-setup(6)


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.

Referenced By

chocolate-doom(6), chocolate-heretic(6).

Explore man page connections for chocolate-hexen(6).