chocolate-heretic(6)

✨ NAME ✨

okay so bestie, meet chocolate-heretic β€” the historically compatible Heretic engine πŸ’– this is a Games Manual page (section 6, iykyk), and it's giving faithful port energy from the very first line.


πŸŽ€ SYNOPSIS πŸŽ€

chocolate-heretic [options]

that's it. that's the whole vibe. options go in, Heretic comes out ✨


πŸ’… DESCRIPTION πŸ’…

Chocolate Heretic is a port of Raven Software's 1994 game Heretic, and its whole personality is: behave as similar to the original DOS version of Heretic as possible. no cap. it is not here to remix anything, it is here to be the 1994 thing πŸ¦‹


🌸 GENERAL OPTIONS 🌸

  • -config file β€” load your main configuration from this specific file instead of the default one.
  • -extraconfig file β€” load additional configuration from this specific file, instead of the default.
  • -file file ... β€” load the PWAD files you name here. every following argument keeps being treated as a PWAD file name until one starts with a dash, or until the argument list runs out πŸ’€
  • -iwad file β€” pick which IWAD file to use.
  • -nomusic β€” music? gone. disabled.
  • -nomusicpacks β€” substitution music packs? also gone. disabled.
  • -nosfx β€” sound effects: disabled.
  • -nosound β€” literally all sound output, off. silence era 😭
  • -ravpic β€” pressing F1 takes a screenshot πŸ“Έ
  • -response file β€” pull extra command-line arguments out of the given response file. the arguments read from it get inserted into the command line, replacing this argument. you can also just use the abbreviated syntax '@file.rsp' 🫢
  • -savedir directory β€” say which path to load games from and save games to. if that directory doesn't exist, it gets created automatically. iconic, it just handles it.
  • -version β€” print the program version and exit. bye πŸ‘‹

πŸ”₯ GAME START OPTIONS πŸ”₯

  • -episode n β€” start playing episode n (1-4).
  • -loadgame s β€” load the game sitting in savegame slot s.
  • -nomonsters β€” monsters: disabled.
  • -respawn β€” monsters come back after being killed. they respawn. they're not done with you πŸ’€
  • -skill skill β€” set the game skill, 1-5 (1: easiest, 5: hardest). a skill of 0 disables all monsters entirely.
  • -warp x y β€” start a game immediately, warping straight to level ExMy.

🌈 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 which display number to show the screen on.
  • -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 πŸ¦‹

  • -autojoin β€” automatically search the local LAN for a multiplayer server and join it. main character behavior fr.
  • -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, which reduces 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 once n nodes (clients) have joined the server.
  • -oldsync β€” use the 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, give the server a name.
  • -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 file ... β€” equivalent to "-af <files> -as <files>".
  • -af file ... β€” simulates the behavior of NWT's -af option, merging flats into the main IWAD directory. multiple files may be specified.
  • -as file ... β€” simulates the behavior of NWT's -as option, merging sprites into the main IWAD directory. multiple files may be specified.
  • -deh file ... β€” 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 you must specify the correct version number.
  • -merge file ... β€” 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 file ... β€” simulates the behavior of NWT's -merge option. multiple files may be specified.

πŸŽ€ DEMO OPTIONS πŸŽ€

  • -demoextend β€” record or playback a demo without automatically quitting after either level exit or player respawn.
  • -longtics β€” record or playback a demo with high resolution turning.
  • -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.
  • -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>.
  • -shortticfix β€” smooth out low resolution turning when recording a demo.
  • -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. periodt.
  • -timedemo demo β€” play back the demo named demo.lmp, determining the framerate of the screen.

⭐ COMPATIBILITY ⭐

  • -setmem version β€” specify the 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 πŸ™ˆ

  • -cdrom [windows only] β€” save configuration data and savegames in c:\heretic.cd, allowing play from CD.
  • -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.

🧚 IWAD SEARCH PATHS 🧚

to play, an IWAD file is needed, bestie. 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, hexen.wad, strife.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 Heretic's behavior.

  • DOOMWADDIR
  • DOOMWADPATH

see 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 πŸ’Ύ

Okay bestie, here's where all ur settings live. Two whole files, both chillin' in the same directory:

  • $HOME/.local/share/chocolate-doom/heretic.cfg β€” this is like, the MAIN config file for Chocolate Heretic, the big one, the main character. Peep heretic.cfg(5) if u wanna know more 🫢
  • $HOME/.local/share/chocolate-doom/chocolate-heretic.cfg β€” and this one?? it's the lil bonus file, extra config values that are specific to Chocolate Heretic and literally not present in Vanilla Heretic at all. very exclusive, very ✨. see chocolate-heretic.cfg(5) for the tea πŸ’…

πŸ‘€ SEE ALSO πŸ‘€

Go read these too, they're all iconic in their own way:


πŸŽ€ AUTHOR πŸŽ€

So Chocolate Heretic is part of the Chocolate Doom project, and it was written and maintained by Simon Howard β€” absolute legend, no cap πŸ‘‘. And it's based on the Heretic source code, which was released by Raven Software. slay πŸ¦‹


  • Copyright Β© id Software Inc.
  • Copyright Β© Raven Software Inc.
  • Copyright Β© 2005-2013 Simon Howard.

This is free software bestie!! u may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. and like, important caveat: there is NO WARRANTY, to the extent permitted by law. so don't come crying to me if ur computer explodes, i'm just the messenger 😭


aaaand that's the whole page, we made it to the end together 🫢 this was Chocolate Doom 3.1.1, dated 2017-11-27, and it's the chocolate-heretic(6) manual page β€” go forth and frag, bestie, u got this πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’