hexen.cfg(5)
β¨ hexen.cfg β the File Formats Manual moment π
okay bestie, welcome to the hexen.cfg glow-up, straight out of the File Formats Manual πβ¨
π NAME π
hexen.cfg β it's the Crispy Hexen configuration file, no cap π
πΈ DESCRIPTION πΈ
So hexen.cfg is literally the configuration file for crispy-hexen(6). The options living in it are the exact same ones that the original DOS Vanilla Hexen stored β same energy, same vibe π«Ά. The extra Crispy Hexen-specific options? Those get their own separate file, crispy-hexen.cfg, because they need their own space, main character behavior honestly β¨.
Normally hexen.cfg chills in your home directory at:
~/.local/share/crispy-hexen/hexen.cfg
but you can override that path with the XDG_DATA_HOME environment variable (see the XDG Base Directory Specification, iykyk) π¦.
And if editing this by hand sounds like a chore β and ngl it might β the crispy-hexen-setup(6) tool is a simple to use front-end for editing hexen.cfg π.
π FILE FORMAT π
It's a plain-text file, bestie. Just a list of configuration options and their values, separated by whitespace, with each option on its own separate line π.
Options have different types: an option can have either an integer, floating point or string value. And if the option is a string type? The value gets surrounded by quotes (") π
.
For example:
integer_value 1
integer_value2 1
floating_point_value 4.2
string_value "hello world"
β οΈ Invalid lines or comments in the file will be ignored, but fr fr it's advisable not to put them in there. The file gets rewritten from scratch every time the game exits, so any invalid lines or comments will be lost. gone. poof. π
Some options are used for keyboard key bindings β those are stored as integer values containing the keyboard scan code of the key to be bound to. Boolean values are also stored as integers, with a value of zero usually meaning "false" and a non-zero value meaning "true" β β.
π CONFIGURATION VARIABLES π
okay here's the whole list, every single one, no skipping π«‘
mouse_sensitivityβ Mouse sensitivity. This value multiplies input mouse movement to control the effect of moving the mouse. The "normal" maximum value available for this 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 ππ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_jumpβ Keyboard key to jump.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 causes the player to strafe left or right instead.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.mouseb_jumpβ Mouse button to jump.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 ifuse_joystickis 0 π₯joyb_jumpβ Joystick virtual button that makes the player jump.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 0 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 0 disables gamma correction, while a value in the range 1-4 gives increasing levels of gamma correction β¨savedirβ Directory in which to store savegames.messagesonβ Controls whether messages are displayed in the heads-up display. If this has a non-zero value, messages are displayed.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, ate and left no crumbs π
β¨ this little cutie lives under the manual name hexen.cfg(5), filed under the File Formats Manual β and yeah, the sign-off at the bottom is literally just hexen.cfg(5) again, because it's that iconic ππ
π¦ where this page comes from
- debian bookworm: crispy-doom 5.12.0-1 Β· GPL-2.0-or-later
- ubuntu jammy: crispy-doom 5.11.1-1 Β· GPL-2.0-or-later
- ubuntu noble: crispy-doom 6.0-2build2 Β· 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