crispy-heretic(6)

πŸ“¦
version 7.1 Β· 5 versions
, in nixos 26.05, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– crispy-heretic(6) πŸ’–

bestie. sit down. we're talking about crispy-heretic today and honestly? it's iconic.


🌸 NAME 🌸

crispy-heretic β€” a historically compatible Heretic engine ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

crispy-heretic [options]

πŸ’… DESCRIPTION πŸ’…

Crispy Heretic is a port of Raven Software's 1994 game Heretic, and the whole entire personality of it is that it wants to behave as similar to the original DOS version of Heretic as possible. like, it's giving time capsule, it's giving respect the ancestors. no cap.


✨ GENERAL OPTIONS ✨

the everyday essentials, the little guys, the main character options 🫢

  • -config file β€” loads your main config from the file you point at, instead of the default one. you're the boss of your own settings, periodt.
  • -extraconfig file β€” loads additional config from the specified file, instead of the default. extra? we love extra πŸ’…
  • -file file ... β€” loads the PWAD files you name. every argument after it is treated as a PWAD file name β€” it keeps going until one of them starts with a dash, or until the argument list just runs out. so line 'em up πŸŽ€
  • -iwad file β€” specifies an IWAD file to use.
  • -nomusic β€” no music. silence. it's giving library vibes 😭
  • -nomusicpacks β€” disables substitution music packs.
  • -nosfx β€” disables sound effects.
  • -nosound β€” disables all sound output. like, everything. total quiet. πŸ’€
  • -ravpic β€” takes a screenshot whenever you press F1. say cheese πŸ“Έ
  • -response file β€” loads extra command-line arguments from the given response file. the arguments read from that file get inserted into the command line, replacing this argument itself. also? you can load a response file with the abbreviated syntax '@file.rsp'. cute, right?
  • -savedir directory β€” tells it which path to load and save games from. and if that directory doesn't exist? it just automatically creates it for you. lowkey thoughtful πŸ’–
  • -version β€” prints the program version and then dips out. bye ✌️

🌈 GAME START OPTIONS 🌈

how you want to start the whole thing. choose your adventure, bestie.

  • -autohealth β€” automatic use of Quartz flasks and Mystic urns. self-care, automated πŸ§–
  • -coop_spawns β€” starts a single player game with item spawns like it's a cooperative netgame.
  • -episode n β€” starts you on episode n (1-4).
  • -fast β€” fast monsters πŸ”₯. but β€” this option is not allowed when recording a demo, playing back a demo, or when starting a network game. sorry babe.
  • -keysloc β€” shows the location of keys on the automap. no more wandering around lost πŸ™ˆ
  • -loadgame s β€” loads the game sitting in savegame slot s.
  • -moreammo β€” ammo pickups give 50% more ammo. generous queen πŸ‘‘. but β€” not allowed when recording a demo, playing back a demo, or when starting a network game. rules are rules.
  • -nomonsters β€” disables monsters. peace and quiet, finally 😌
  • -respawn β€” monsters respawn after being killed. they're back. they always come back 😭
  • -skill skill β€” sets the game skill, 1-5 (1: easiest, 5: hardest). a skill of 0 disables all monsters entirely. pick your poison.
  • -wandstart β€” automatic wand start when advancing from one level to the next. at the beginning of each level, the player's health resets to 100, armor resets to 0, and your inventory gets reduced to the following: wand, staff, and 50 ammo for the wand. a fresh start, a clean slate ✨. but β€” this option is not allowed when recording a demo, playing back a demo, or when starting a network game.
  • -warp x y β€” starts a game immediately, warping you straight to level ExMy.

πŸŽ€ DISPLAY OPTIONS πŸŽ€

how it looks. the aesthetic. the vibe check.

  • -1 β€” don't scale up the screen. implies -window.
  • -2 β€” doubles up the screen to 2x its normal size. implies -window.
  • -3 β€” doubles up the screen to 3x its normal size. implies -window.
  • -display x β€” specifies which display number to show the screen on.
  • -fullscreen β€” runs in fullscreen mode. immersive fr fr.
  • -geometry WxH β€” specifies the dimensions of the window. implies -window.
  • -height H β€” specifies the screen height, in pixels. implies -window.
  • -noblit β€” disables blitting the screen.
  • -nograbmouse β€” doesn't grab the mouse when you're running in windowed mode. your cursor stays yours 🫢
  • -nomouse β€” disables the mouse.
  • -width W β€” specifies the screen width, in pixels. implies -window.
  • -window β€” runs in a window.

🌐 NETWORKING OPTIONS 🌐

for when you want the whole squad involved πŸ«‚

  • -autojoin β€” automatically searches the local LAN for a multiplayer server and joins it. it just finds the party for you πŸ’…
  • -connect address β€” connects to a multiplayer server running on the given address.
  • -deathmatch β€” starts a deathmatch game. it's giving chaos, it's giving drama πŸ”₯
  • -dup n β€” reduces the resolution of the game by a factor of n, which reduces how much network bandwidth is needed. lighter on the internet bill.
  • -extratics n β€” sends n extra tics in every packet as insurance against dropped packets. extra safety, we stan.
  • -nodes n β€” autostarts the netgame once n nodes (clients) have joined the server.
  • -oldsync β€” uses the original network client sync code instead of the improved sync code. vintage behavior, on purpose.
  • -port n β€” uses the specified UDP port for communications, instead of the default (2342).
  • -privateserver β€” when running a server, doesn't register with the global master server. implies -server. incognito mode 😎
  • -server β€” starts a multiplayer server, listening for connections.
  • -servername name β€” when starting a network server, specifies a name for the server. name it something cute.
  • -solo-net β€” starts the game playing as though it's in a netgame with a single player. also can be used to play back single player netgame demos. solo but networked, iconic.
  • -timer n β€” for multiplayer games: exits each level after n minutes. speedrun energy ⏱️

🧚 DEHACKED AND WAD MERGING 🧚

the merging-and-patching section. stay with me, it's worth it.

  • -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 ... β€” loads the given dehacked patch(es).
  • -hhever version β€” selects 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. get it right or it won't work, no cap.
  • -merge file ... β€” simulates the behavior of deutex's -merge option, merging a PWAD into the main IWAD. multiple files may be specified.
  • -noautoload β€” disables auto-loading of .wad files.
  • -nocheats β€” ignores cheats in dehacked files. no shortcuts 🚫
  • -nwtmerge file ... β€” simulates the behavior of NWT's -merge option. multiple files may be specified.

🎬 DEMO OPTIONS 🎬

for the archivists, the speedrunners, and the girlies who love a rewind.

  • -longtics β€” records or plays back a demo with high resolution turning.
  • -maxdemo size β€” specifies the demo buffer size (KiB).
  • -nodemoextend β€” records or plays back a demo, automatically quitting after either level exit or player respawn.
  • -noshortticfix β€” doesn't smooth out low resolution turning when recording a demo.
  • -playdemo demo β€” plays back the demo named demo.lmp.
  • -record x β€” records a demo named x.lmp.
  • -recordfrom save-num demo-name β€” loads a game from the given savegame slot and records a demo from it. equivalent to -loadgame <save-num> -record <demo-name>.
  • -strictdemos β€” when recording or playing back demos, disables any extensions of the vanilla demo format β€” record demos as vanilla would do, and play back demos as vanilla would do. purity, preserved πŸ•ŠοΈ
  • -timedemo demo β€” plays back the demo named demo.lmp, and determines the framerate of the screen.

πŸ’œ COMPATIBILITY πŸ’œ

  • -setmem version β€” specifies 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). old-school emulation, we love her.

πŸ™ˆ OBSCURE AND LESS-USED OPTIONS πŸ™ˆ

the deep cuts. the iykyk options. not for everyone, but they exist and we respect them.

  • -cdrom [windows only] β€” saves configuration data and savegames in c:\heretic.cd, allowing play from CD.
  • -dumpsubstconfig file β€” reads all MIDI files from loaded WAD files, dumps an example substitution music config file to the specified file, and quits.
  • -mb mb β€” specifies the heap size, in MiB.
  • -mmap β€” uses the OS's virtual memory subsystem to map WAD files directly into memory.
  • -noartiskip β€” allows artifacts to be used when the run key is held down.
  • -nogui β€” if specified, doesn't show a GUI window for error messages when the game exits with an error. it just... exits. quietly. πŸ’€

πŸ“ IWAD SEARCH PATHS πŸ“

okay so. to actually play, you need an IWAD file. this is a big 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. home turf advantage 🏠
  • 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 β€” a 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).
and all of 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 🌿

okay bestie so this section is all about the environment variables that control how Crispy Heretic behaves. think of them as the little knobs you twist before the game even wakes up πŸ’…


  • DOOMWADDIR
  • DOOMWADPATH

these two? they're already covered, babes β€” scroll up to the IWAD SEARCH PATHS section above ⬆️ no cap.

  • PCSOUND_DRIVER

okay so when you're running in PC speaker sound effect mode, this variable tells the game which PC speaker driver to use for sound effect playback. the valid options are:

  • "Linux" β€” for the Linux console mode driver 🐧
  • "BSD" β€” for the NetBSD/OpenBSD PC speaker driver πŸ¦‹
  • "SDL" β€” for SDL-based emulated PC speaker playback (it uses the digital output, iconique)
  • OPL_DRIVER

and when you're doing OPL MIDI playback, this one picks which OPL backend driver to use. valid options, bestie:

  • "SDL" β€” an SDL-based software emulated OPL chip ✨
  • "Linux" β€” the Linux hardware OPL driver 🐧
  • "OpenBSD" β€” the OpenBSD/NetBSD hardware OPL driver πŸ¦‹

ngl, generally speaking a real hardware OPL chip sounds better than software emulation. it just does. but 😭 modern machines don't often include one, so. and even if you do have one present, it may still require extra work to set up and elevated security privileges to access. the drama of it all.


πŸ“ FILES πŸ“

here's where your config lives, bestie. screenshot it, save it, cherish it πŸŽ€

  • $HOME/.local/share/crispy-doom/heretic.cfg β€” the main configuration file for Crispy Heretic. go read heretic.cfg(5) for the details πŸ‘‘
  • $HOME/.local/share/crispy-doom/crispy-heretic.cfg β€” the extra configuration values that are specific to Crispy Heretic and not present in Vanilla Heretic. peek at crispy-heretic.cfg(5) πŸ’–

πŸ‘€ SEE ALSO πŸ‘€

go read these next, fr fr:


✍️ AUTHOR ✍️

Chocolate Heretic is part of the Chocolate Doom project, written and maintained by Simon Howard πŸ’œ and it's based on the Heretic source code, released by Raven Software.


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. read that again, bestie. no warranty. 😭


and that's the whole page, baddie πŸŽ€ this was Crispy Doom 7.1.0, dated 2017-11-27, and the page is crispy-heretic(6) β€” go forth and slay πŸ’…βœ¨

πŸ“¦ where this page comes from