heretic.cfg(5)
π heretic.cfg(5) β the File Formats Manual page, but make it cute π
okay bestie, buckle up, because we're about to talk about heretic.cfg β the config file for chocolate-heretic(6). it lives in the File Formats Manual section of the man pages, and honestly? it's giving "quietly running your entire gaming setup behind the scenes." π
β¨ NAME β¨
heretic.cfg β the Chocolate Heretic configuration file. that's it, that's the name, she's simple and she's iconic π
πΈ DESCRIPTION πΈ
so heretic.cfg is the configuration file for chocolate-heretic(6). the options it stores are literally the same ones the original DOS Vanilla Heretic stored β no cap, same energy, just a glow-up. π
the extra Chocolate Hereticβspecific stuff? that lives in a whole separate config file, chocolate-heretic.cfg. two files, two vibes, one very organized queen. π
normally heretic.cfg hangs out in your home directory like:
~/.local/share/chocolate-heretic/heretic.cfg
but the path can be overridden with the XDG_DATA_HOME environment variable (iykyk, it's the XDG Base Directory Specification doing its thing). β¨
and if editing config files by hand isn't your moment, the chocolate-heretic-setup(6) tool is a super simple front-end for editing heretic.cfg. bestie behaviour, honestly. π«Ά
π¦ FILE FORMAT π¦
it's a plain-text file. nothing fancy, nothing scary. it's just a list of configuration options and their values, separated by whitespace, with each option chilling on its own 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 ("). periodt.
for example:
integer_value 1
integer_value2 1
floating_point_value 4.2
string_value "hello world"
invalid lines or comments in the file get ignored β but lowkey, 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 snuck in are just... gone. π
some options are for keyboard key bindings, and those get stored as integer values containing the keyboard scan code of the key you're binding. boolean values are also stored as integers, where zero usually means "false" and a non-zero value means "true." simple as that. β
π CONFIGURATION VARIABLES π
here's the whole squad, one by one:
mouse_sensitivityβ mouse sensitivity. this value multiplies your input mouse movement to control how much moving the mouse actually does. the "normal" maximum value you can pick through the in-game options menu is9.
β οΈ a value of 31 or greater will cause the game to crash when you enter the options menu. not a vibe. do not do this. π
sfx_volumeβ volume of sound effects, range0-15. π΅music_volumeβ volume of in-game music, range0-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_strafeleftβ keyboard key to strafe left.key_straferightβ keyboard key to strafe right.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. β¨key_speedβ keyboard key to make the player run.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 of20or greater, the player will always run, even ifuse_joystickis0. iconic loophole honestly.screenblocksβ screen size, range3-11. a value of11gives a full-screen view with the status bar not displayed. a value of10gives 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 of1enables PC speaker sound effects, while a value in the range2-9enables 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 range1-4gives increasing levels of gamma correction. βοΈchatmacro0β multiplayer chat macro: message to send whenalt+0is pressed.chatmacro1β multiplayer chat macro: message to send whenalt+1is pressed.chatmacro2β multiplayer chat macro: message to send whenalt+2is pressed.chatmacro3β multiplayer chat macro: message to send whenalt+3is pressed.chatmacro4β multiplayer chat macro: message to send whenalt+4is pressed.chatmacro5β multiplayer chat macro: message to send whenalt+5is pressed.chatmacro6β multiplayer chat macro: message to send whenalt+6is pressed.chatmacro7β multiplayer chat macro: message to send whenalt+7is pressed.chatmacro8β multiplayer chat macro: message to send whenalt+8is pressed.chatmacro9β multiplayer chat macro: message to send whenalt+9is pressed. π¬
π SEE ALSO π
go read these next, bestie, they're all connected:
and that's the whole page, gorgeous. this little love letter to heretic.cfg ships with Chocolate Doom 3.1.1 and it's dated 2017-11-30. go forth, tweak your gamma, bind your keys, and do not β I repeat, do not β set mouse_sensitivity to 31. mwah ππ
π¦ where this page comes from
- fedora 43: chocolate-doom 3.1.1-1.fc43 Β· GPL-2.0-or-later
- fedora 44: chocolate-doom 3.1.1-1.fc44 Β· GPL-2.0-or-later
- nixpkgs unstable: chocolate-doom 3.1.1
- ubuntu resolute: chocolate-doom 3.1.1-1 Β· GPL-2.0-or-later
- ubuntu stonking: chocolate-doom 3.1.1-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms