chocolate-heretic(6)

NAME
chocolate-heretic - historically compatible Heretic engine

SYNOPSIS
chocolate-heretic [OPTIONS]

DESCRIPTION

Chocolate Heretic is a port of Raven Software's 1994 game "Heretic" that aims to behave as similar to the original DOS version of Heretic as possible.

GENERAL OPTIONS

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

-episode <n>
    Start playing on episode n (1-4)

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

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

-noblit
    Disable blitting the screen.

-nomonsters
    Disable monsters.

-nomusic
    Disable music.

-nosfx
    Disable sound effects.

-nosound
    Disable all sound output.

-ravpic
    Take screenshots when F1 is pressed.

-respawn
    Monsters respawn after being killed.

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

-warp <x> <y>
    Start a game immediately, warping to level ExMy.

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

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

COMPATIBILITY

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

DEMO OPTIONS

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

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

DISPLAY OPTIONS

-1  Don't scale up the screen.

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

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

-8in32
    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.

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

-grabmouse
    Grab the mouse when running in windowed mode.

-height <y>
    Specify the screen height, in pixels.

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

-nomouse
    Disable the mouse.

-nonovert
    Enable vertical mouse movement.

-novert
    Disable vertical mouse movement.

-width <x>
    Specify the screen width, in pixels.

-window
    Run in a window.

NETWORKING OPTIONS

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

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

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

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

-server
    Start a multiplayer server, listening for connections.

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

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

-nocheats
    Ignore cheats in dehacked files.

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

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/games/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 Heretic'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/.chocolate-doom/heretic.cfg
    The main configuration file for Chocolate Heretic. See heretic.cfg(5).

$HOME/.chocolate-doom/chocolate-heretic.cfg
    Extra configuration values that are specific to Chocolate Heretic and not present in Vanilla Heretic. See chocolate-heretic.cfg(5).

SEE ALSO
chocolate-doom(6), chocolate-hexen(6), chocolate-server(6), chocolate-setup(6)

AUTHOR
Chocolate Heretic is part of the Chocolate Doom project, written and maintained by Simon Howard. It is based on the Heretic 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.