heretic.cfg(5)

πŸ“¦ version 6.0, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– heretic.cfg(5) πŸ’–

okay bestie, welcome to the File Formats Manual corner of the universe, where we're talking about heretic.cfg and it's genuinely iconic πŸŽ€


✨ NAME ✨

heretic.cfg β€” the Crispy Heretic configuration file πŸ¦‹


🌸 DESCRIPTION 🌸

heretic.cfg is the config file for crispy-heretic(6). All the options stored in here are literally the same ones that lived in the original DOS Vanilla Heretic. Everything Crispy-Heretic-specific and extra? That's not here, bestie β€” that goes in a whole separate config file called crispy-heretic.cfg. Two files, two vibes πŸ’…

heretic.cfg normally chills in your home directory at ~/.local/share/crispy-heretic/heretic.cfg. You can override that path with the XDG_DATA_HOME environment variable (go read the XDG Base Directory Specification if you wanna get into it, iykyk).

And if you don't feel like hand-editing this thing? The crispy-heretic-setup(6) tool is right there with a simple front-end for editing heretic.cfg. Obsessed. 🫢


πŸŽ€ FILE FORMAT πŸŽ€

It's a plain-text file, periodt. It's just a list of configuration options and their values, separated by whitespace, one option per line. Options come in different types β€” an option can have an integer, a floating point, or a string value. If it's a string type, the value gets wrapped in quotes ("). No cap.

For example:

integer_value                1
integer_value2               1
floating_point_value         4.2
string_value                 "hello world"

Invalid lines or comments in the file just get ignored β€” but lowkey, please don't put them in there. The file gets rewritten from scratch every single time the game exits, so any invalid lines or comments you sneak in will be lost. gone. poof. πŸ’€

Some options are used for keyboard key bindings. Those get stored as integer values holding the keyboard scan code of the key you're binding to. Boolean values are also stored as integers β€” a value of zero usually means "false", and a non-zero value means "true". that's the whole system, bestie, slay.


πŸ‘‘ CONFIGURATION VARIABLES πŸ‘‘

okay this is the main character section, let's go 🌈

  • mouse_sensitivity β€” Mouse sensitivity. This value multiplies your input mouse movement to control how much the mouse actually does stuff. The "normal" maximum value you can get to through the in-game options menu is 9.
⚠️ A value of 31 or greater will cause the game to crash when entering the options menu. like, for real, don't.
  • mouse_sensitivity_x2 β€” Horizontal mouse sensitivity (strafe).
  • mouse_sensitivity_y β€” Vertical mouse sensitivity.
  • sfx_volume β€” Volume of sound effects, range 0-15.
  • music_volume β€” Volume of in-game music, range 0-15.
  • key_right β€” Keyboard key to turn right.
  • key_left β€” Keyboard key to turn left.
  • key_up β€” Keyboard key to move forward.
  • key_down β€” Keyboard key to move backward.
  • key_alt_up β€” Keyboard key to move forward (alternative).
  • key_alt_down β€” Keyboard key to move backward (alternative).
  • key_strafeleft β€” Keyboard key to strafe left.
  • key_alt_strafeleft β€” Keyboard key to strafe left (alternative).
  • key_straferight β€” Keyboard key to strafe right.
  • key_alt_straferight β€” Keyboard key to strafe right (alternative).
  • key_flyup β€” Keyboard key to fly upward.
  • key_flydown β€” Keyboard key to fly downwards.
  • key_flycenter β€” Keyboard key to center flying.
  • key_lookup β€” Keyboard key to look up.
  • key_lookdown β€” Keyboard key to look down.
  • key_lookcenter β€” Keyboard key to center the view.
  • key_invleft β€” Keyboard key to scroll left in the inventory.
  • key_invright β€” Keyboard key to scroll right in the inventory.
  • key_useartifact β€” Keyboard key to use the current item in the inventory.
  • key_fire β€” Keyboard key to fire the currently selected weapon.
  • key_use β€” Keyboard key to "use" an object, eg. a door or switch.
  • key_strafe β€” Keyboard key to turn on strafing. When held down, pressing the key to turn left or right makes the player strafe left or right instead. sneaky little switcheroo ✨
  • key_speed β€” Keyboard key to make the player run.
  • key_demospeed β€” Keyboard key to fast-forward through a demo.
  • use_mouse β€” If non-zero, mouse input is enabled. If zero, mouse input is disabled.
  • mouseb_fire β€” Mouse button to fire the currently selected weapon.
  • mouseb_strafe β€” Mouse button to turn on strafing. When held down, the player will strafe left and right instead of turning left and right.
  • mouseb_forward β€” Mouse button to move forward.
  • mouseb_speed β€” Mouse button to turn on running. When held down, the player will run while moving.
  • use_joystick β€” If non-zero, joystick input is enabled.
  • joyb_fire β€” Joystick virtual button that fires the current weapon.
  • joyb_strafe β€” Joystick virtual button that makes the player strafe while held down.
  • joyb_use β€” Joystick virtual button to "use" an object, eg. a door or switch.
  • joyb_speed β€” Joystick virtual button that makes the player run while held down.
πŸƒ If this has a value of 20 or greater, the player will always run, even if use_joystick is 0.
  • screenblocks β€” Screen size, range 3-11. A value of 11 gives a full-screen view with the status bar not displayed. A value of 10 gives a full-screen view with the status bar displayed.
  • snd_channels β€” Number of sounds that will be played simultaneously.
  • snd_musicdevice β€” Music output device. A non-zero value gives MIDI sound output, while a value of zero disables music.
  • snd_sfxdevice β€” Sound effects device. A value of zero disables in-game sound effects, a value of 1 enables PC speaker sound effects, while a value in the range 2-9 enables the "normal" digital sound effects.
  • snd_sbport β€” SoundBlaster I/O port. Unused.
  • snd_sbirq β€” SoundBlaster IRQ. Unused.
  • snd_sbdma β€” SoundBlaster DMA channel. Unused.
  • snd_mport β€” Output port to use for OPL MIDI playback. Unused.
  • usegamma β€” Gamma correction level. A value of zero disables gamma correction, while a value in the range 1-4 gives increasing levels of gamma correction.
  • chatmacro0 β€” Multiplayer chat macro: message to send when alt+0 is pressed.
  • chatmacro1 β€” Multiplayer chat macro: message to send when alt+1 is pressed.
  • chatmacro2 β€” Multiplayer chat macro: message to send when alt+2 is pressed.
  • chatmacro3 β€” Multiplayer chat macro: message to send when alt+3 is pressed.
  • chatmacro4 β€” Multiplayer chat macro: message to send when alt+4 is pressed.
  • chatmacro5 β€” Multiplayer chat macro: message to send when alt+5 is pressed.
  • chatmacro6 β€” Multiplayer chat macro: message to send when alt+6 is pressed.
  • chatmacro7 β€” Multiplayer chat macro: message to send when alt+7 is pressed.
  • chatmacro8 β€” Multiplayer chat macro: message to send when alt+8 is pressed.
  • chatmacro9 β€” Multiplayer chat macro: message to send when alt+9 is pressed.

πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie πŸ₯° this lil writeup lives in the File Formats Manual section, filed under heretic.cfg(5) β€” same name up top, same name at the bottom, that's a full circle moment fr fr πŸ’œβœ¨

πŸ“¦ where this page comes from