default.cfg(5)

πŸ“¦
version 3.1.1 Β· 3 versions
, in fedora 43, fedora 44, nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’– default.cfg β€” the Chocolate Doom config file, bestie πŸ’–

okay so this is default.cfg(5), the File Formats Manual girlie herself, and she is about to explain exactly how default.cfg works. no gatekeeping, no cap. ✨


🌸 NAME 🌸

default.cfg β€” the configuration file for Chocolate Doom. yes, THE config file. the one holding all your settings. she's iconic. πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

so default.cfg is the configuration file for chocolate-doom(6). the options stored in it are the exact same ones that the original DOS Vanilla Doom stored. and the extra Chocolate Doom-specific options? those live somewhere else, in a separate config file called chocolate-doom.cfg. two files, two vibes, no overlap. 🫢

normally default.cfg chills in the user's home directory, at:

~/.local/share/chocolate-doom/default.cfg

and if you want to move her somewhere else, you can override that path with the XDG_DATA_HOME environment variable (see the XDG Base Directory Specification, iykyk). 🌈

also! there's the chocolate-doom-setup(6) tool, which is a super simple to use front-end for editing default.cfg. if you don't wanna hand-edit, that's your girl. πŸŽ€


✨ FILE FORMAT ✨

it's a plain-text file, bestie. just a list of configuration options and their values, separated by whitespace. one option per line, that's the rule. πŸ“

options have different types β€” an option can have an integer, a floating point, or a string value. and if it's a string type? the value gets wrapped in quotes ("). periodt. πŸ’…

for example, look at this little lineup:

integer_value                1
integer_value2               1
floating_point_value         4.2
string_value                 "hello world"

now the important bit: invalid lines or comments in the file will be ignored, BUT it's advisable not to put them in there, because the file gets rewritten from scratch every single time the game exits β€” so any invalid lines or comments will be lost. 😭 gone. evaporated. she doesn't keep them.

some options are used for keyboard key bindings, and those get stored as integer values containing the keyboard scan code of the key to be bound. boolean values also get stored as integers: a value of zero usually means "false", and a non-zero value means "true". simple as. ✨


πŸ‘‘ CONFIGURATION VARIABLES πŸ‘‘

here's the whole roster, no skips, no summarising, we're going through every single one. grab a snack. πŸ“

  • mouse_sensitivity β€” mouse sensitivity. this value multiplies the input mouse movement to control how much moving the mouse does stuff. the "normal" maximum value you can get through the in-game options menu is 9. and heads up: a value of 31 or greater will cause the game to crash when entering the options menu. do not do that. 😭
  • sfx_volume β€” volume of sound effects, range 0-15.
  • music_volume β€” volume of in-game music, range 0-15.
  • show_messages β€” if non-zero, messages are displayed on the heads-up display in the game ("picked up a clip", etc). if zero, those messages are not displayed.
  • 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_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 strafes 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 runs 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. main character energy fr. πŸ”₯
  • 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.
  • detaillevel β€” screen detail. zero gives normal "high detail" mode, while a non-zero value gives "low detail" mode.
  • 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 πŸ¦‹

go read these next, they're all in the family:


one last thing before you go πŸ’– this page is from Chocolate Doom 3.1.1, dated 2017-11-30. she's a little vintage, she's a little legendary, and she ate. go forth and configure, bestie. πŸ’…βœ¨πŸŽ€