chocolate-strife.cfg(5)
๐ chocolate-strife.cfg(5) โ File Formats Manual ๐
okay bestie, gather round, because this is the manual page for chocolate-strife.cfg, and it's literally the config file that makes Chocolate Strife behave the way you want instead of the way some 1996 executable decided. it's giving "secret second brain" energy and i'm obsessed ๐
โจ NAME โจ
chocolate-strife.cfg โ the Chocolate Strife configuration file. that's it, that's the name, iconic. ๐
๐ DESCRIPTION ๐
so chocolate-strife.cfg is a configuration file for chocolate-strife(6). but here's the tea: it's an auxiliary config file, not the main character. the main configuration options live in strife.cfg, which holds all the same config options as Vanilla Strife (because compatibility is queen and we respect her). meanwhile chocolate-strife.cfg is where all the options that are specific to Chocolate-Strife only hang out. it's the VIP section. ๐ซถ
normally chocolate-strife.cfg chills in your home directory, at:
~/.local/share/chocolate-strife/chocolate-strife.cfg
but you can override that path with the XDG_DATA_HOME environment variable (peep the XDG Base Directory Specification if you wanna know more, iykyk).
also!! there's a tool for this: chocolate-strife-setup(6) is a super easy front-end for editing chocolate-strife.cfg if you don't feel like hand-editing text files like a gremlin (no shade, i do it too ๐).
๐ธ FILE FORMAT ๐ธ
the format is literally the same as the one used for strife.cfg(5). same vibes, same rules. โจ
๐ CONFIGURATION VARIABLES ๐
here come the options, bestie. this is the whole squad. no skips, no cuts. ๐
๐ฅ๏ธ Video things
video_driverโ the name of the SDL video driver you wanna use. if you set it to an empty string, you just get the default video driver. no notes.window_positionโ where the window sits on your screen when you're running in windowed mode. accepted values are:""(empty string) โ meaning "don't care, wherever","center"โ puts the window right in the middle of the screen, and"x,y"โ puts it at the exact coordinates you type. โจfullscreenโ if it's non-zero, the game runs in full screen mode. if it's zero, the game runs in a window. simple as.video_displayโ the index of the display the game should run on. heads up though: this does nothing if you're running in windowed mode (fullscreen=0) andwindow_positionisn't set to"center". so basically it only matters in specific setups. ๐aspect_ratio_correctโ if it's non-zero, the screen gets stretched vertically so it displays correctly on a square pixel video mode.smooth_pixel_scalingโ if it's non-zero, the screen gets smooth scaling. yes, smooth. very demure, very mindful.integer_scalingโ if it's non-zero, it forces integer scales for resolution-independent rendering.window_widthโ the window width when running in windowed mode.window_heightโ the window height when running in windowed mode.fullscreen_widthโ the width for the screen mode when running fullscreen. if this andfullscreen_heightare both set to zero, we run fullscreen as a desktop window that covers the entire screen, instead of ever switching screen modes. honestly it should usually be unnecessary to set this value at all. ๐fullscreen_heightโ the height for the screen mode when running fullscreen. see the docs forfullscreen_width, same energy.force_software_rendererโ if it's non-zero, force the use of a software renderer. this one's for the systems out there lacking hardware acceleration. we love a fallback. ๐ซถmax_scaling_buffer_pixelsโ the max number of pixels to use for the intermediate scaling buffer. more pixels means the screen can be rendered more precisely, but there are diminishing returns on quality (the math is mathing but only so much). the default limits it to 16,000,000 pixels, which is enough to cover 4K monitor standards. ๐startup_delayโ number of milliseconds to wait on startup after the video mode has been set, before the game starts. this lets the screen settle on some monitors that don't display an image for a brief interval after changing video modes. patience is a virtue bestie.graphical_startupโ if it's non-zero, display the graphical startup screen.show_endoomโ if it's non-zero, the ENDOOM text screen shows up when you exit the game. if it's zero, the ENDOOM screen is not displayed. no ENDOOM, no problem.show_diskiconโ if it's non-zero, a disk activity indicator shows up when data is read from disk. if it's zero, the disk activity indicator is not displayed.png_screenshotsโ if it's non-zero, screenshots get saved in PNG format. if it's zero, screenshots are saved in PCX format, exactly like Vanilla Doom does it. nostalgia format, periodt. ๐ธ
๐ Sound things
snd_samplerateโ sound output sample rate, in Hz. typical values to use are11025,22050,44100and48000.snd_cachesizeโ the max number of bytes to allocate for caching converted sound effects in memory. if you set it to zero, there is no limit applied. unlimited. unhinged. we love her.snd_maxslicetime_msโ the max size of the output sound buffer size, in milliseconds. sound output is generated periodically in slices. higher values might be more efficient, but they'll introduce latency to the sound output (efficiency vs. vibes, the eternal battle). the default is28ms(that's one slice per tic with the 35fps timer, nerd math incoming).snd_pitchshiftโ if it's non-zero, sound effects will have their pitch varied up or down by a random amount during play. if it's zero, sound effects play back at their default pitch. no random pitch chaos, just pure sound.snd_musiccmdโ an external command to invoke for MIDI playback. if you set it to the empty string, SDL_mixer's internal MIDI playback gets used instead. โ ๏ธ this only has any effect whensnd_musicdeviceis set to General MIDI output, so don't come for me if it does nothing.snd_dmxoptionโ the value to set for theDMXOPTIONenvironment variable. if this contains"-opl3", output for an OPL3 chip is generated when in OPL MIDI playback mode. โจopl_io_portโ the I/O port to use to access the OPL chip. only relevant when you're using native OPL music playback.use_libsamplerateโ controls whether libsamplerate support is used for performing sample rate conversions of sound effects. โ ๏ธ support for this must be compiled into the program. if it's zero, libsamplerate support is disabled. if it's non-zero, libsamplerate is enabled. increasing values roughly correspond to higher quality conversion; the higher the quality, the slower the conversion process. the ladder goes: Linear conversion =1; Zero order hold =2; Fast Sinc filter =3; Medium quality Sinc filter =4; High quality Sinc filter =5. pick your fighter. ๐libsamplerate_scaleโ the scaling factor used by libsamplerate. this is used when converting sounds internally back into integer form; normally you should not need to change it from the default value, so don't touch unless you must. the only time it might be needed is if a PWAD file is loaded that contains very loud sounds, in which case the conversion may cause sound clipping and the scale factor should be reduced. โ ๏ธ the lower the value, the quieter the sound effects become, so set it as high as possible without clipping occurring. balance, bestie, balance. โ๏ธ
๐ File paths & autoload
autoload_pathโ the full path to a directory where WAD files and dehacked patches can be placed so they're automatically loaded on startup. a subdirectory of this directory matching the IWAD name is checked to find the files to load. set it and forget it, king behavior. ๐music_pack_pathโ the full path to a directory containing configuration files for substitute music packs. these packs contain high quality renderings of game music to be played instead of using the system's built-in MIDI playback. glow up for your ears. ๐ง
๐ง FluidSynth stuff (yes, there's a lot, and yes, it's all here)
fsynth_chorus_activeโ if1, activate the FluidSynth chorus effects module. if0, no chorus will be added to the output signal.fsynth_chorus_depthโ specifies the modulation depth of the FluidSynth chorus. default is5.0, range is0.0to256.0.fsynth_chorus_levelโ specifies the output amplitude of the FluidSynth chorus signal. default is0.35, range is0.0to10.0.fsynth_chorus_nrโ sets the voice count of the FluidSynth chorus signal. default is3, range is0to99.fsynth_chorus_speedโ sets the FluidSynth chorus modulation speed in Hz. default is0.3, range is0.1to5.0.fsynth_midibankselectโ this setting defines how FluidSynth interprets Bank Select messages. the default is"gs". other possible values are"gm","xg"and"mma". choose your bank select lore wisely.fsynth_polyphonyโ sets the number of FluidSynth voices that can be played in parallel. default is256, range is1-65535.fsynth_reverb_activeโ if1, activate the FluidSynth reverb effects module. if0, no reverb will be added to the output signal.fsynth_reverb_dampโ sets the amount of FluidSynth reverb damping. default is0.4, range is0.0to1.0.fsynth_reverb_levelโ sets the FluidSynth reverb amplitude. default is0.15, range is0.0-1.0.fsynth_reverb_roomsizeโ sets the room size (i.e. amount of wet) of the FluidSynth reverb. default is0.6, range is0.0-1.0. get that cathedral vibe. ๐ฐfsynth_reverb_widthโ sets the stereo spread of the FluidSynth reverb signal. default is0.4, range is0.0-100.0.fsynth_gainโ fine tune the FluidSynth output level. default is1.0, range is0.0-10.0.fsynth_sf_pathโ the full path to a soundfont file to use with FluidSynth MIDI playback.
๐น MIDI & GUS stuff
timidity_cfg_pathโ the full path to a Timidity configuration file to use for MIDI playback. the file will be evaluated from the directory where it is evaluated, so there's no need to add"dir"commands into it. nice, less work for us. ๐ซถgus_patch_pathโ the path to GUS patch files to use when operating in GUS emulation mode.gus_ram_kbโ the number of kilobytes of RAM to use in GUS emulation mode. valid values are256,512,768or1024. pick your RAM, bestie.winmm_midi_deviceโ the MIDI device for native Windows MIDI.winmm_complevelโ the compatibility level for native Windows MIDI, default0. valid values are0(Vanilla),1(Standard),2(Full).winmm_reset_typeโ the reset device type for native Windows MIDI, default1. valid values are0(None),1(GM Mode),2(GS Mode),3(XG Mode).winmm_reset_delayโ the reset device delay for native Windows MIDI, default0, median value100ms.
๐ Vanilla compatibility / limits
vanilla_savegame_limitโ if it's non-zero, the Vanilla savegame limit is enforced; if the savegame exceeds180224bytes in size, the game will exit with an error. ๐ญ if this has a value of zero, there is no limit to the size of savegames. unlimited saves, dangerous power.vanilla_demo_limitโ if it's non-zero, the Vanilla demo size limit is enforced; the game exits with an error when a demo exceeds the demo size limit (128KiBby default). if this has a value of zero, there is no limit to the size of demos.vanilla_keyboard_mappingโ if it's non-zero, the game behaves like Vanilla Doom, always assuming an American keyboard mapping. if this has a value of zero, the native keyboard mapping of the keyboard is used. ๐บ๐ธ vs ๐, you decide.
๐ท๏ธ Player identity
player_nameโ the name to use in network games for identification. heads up: this is only used on the"waiting"screen while waiting for the game to start. so it's a cameo appearance, not a starring role. ๐
part 1 done!! part 2 is coming right up, don't go anywhere bestie ๐ฆ
okay so we're still in the config variables, bestie, and this next batch is all about mice, joysticks, and keys. lowkey iconic. ๐ฑ๏ธ๐ฎโจ๏ธ
grabmouseโ If this is non-zero, the mouse gets "grabbed" when running in windowed mode so it can be used as an input device. When running full screen, this has no effect. ๐ฑ๏ธnovertโ If non-zero, all vertical mouse movement is ignored. This emulates the behavior of the "novert" tool available under DOS that performs the same function. ๐ซ๐ฑ๏ธmouse_accelerationโ Mouse acceleration factor. When the speed of mouse movement exceeds the threshold value (mouse_threshold), the speed is multiplied by this value. โกmouse_thresholdโ Mouse acceleration threshold. When the speed of mouse movement exceeds this threshold value, the speed is multiplied by an acceleration factor (mouse_acceleration). ๐mouseb_strafeleftโ Mouse button to strafe left. โฌ ๏ธmouseb_straferightโ Mouse button to strafe right. โก๏ธmouseb_turnleftโ Mouse button to turn left. โฉ๏ธmouseb_turnrightโ Mouse button to turn right. โช๏ธmouseb_useโ Mouse button to "use" an object, eg. a door or switch. ๐ชmouseb_backwardโ Mouse button to move backwards. โชmouseb_prevweaponโ Mouse button to cycle to the previous weapon. ๐ซmouseb_nextweaponโ Mouse button to cycle to the next weapon. ๐ซdclick_useโ If non-zero, double-clicking a mouse button acts like pressing the "use" key to use an object in-game, eg. a door or switch. ๐ฑ๏ธ๐ชjoystick_guidโ SDL GUID string indicating the joystick to use. An empty string indicates that no joystick is configured. ๐ฎjoystick_indexโ Index of SDL joystick to use; this is only used in the case where multiple identical joystick devices are connected which have the same GUID, to distinguish between devices. ๐ขuse_analogโ If non-zero, use analog movement when playing with a gamepad. ๐น๏ธjoystick_x_axisโ Joystick axis to use for horizontal (X) movement. โ๏ธjoystick_x_invertโ If non-zero, movement on the horizontal joystick axis is inverted. ๐joystick_turn_sensitivityโ Joystick turn analog sensitivity, specified as a value between 0 and 20. ๐๏ธjoystick_y_axisโ Joystick axis to use for vertical (Y) movement. โ๏ธjoystick_y_invertโ If non-zero, movement on the vertical joystick axis is inverted. ๐joystick_strafe_axisโ Joystick axis to use for strafing movement. ๐ถjoystick_strafe_invertโ If non-zero, movement on the joystick axis used for strafing is inverted. ๐joystick_move_sensitivityโ Joystick move and strafe analog sensitivity, specified as a value between 0 and 20. ๐๏ธjoystick_look_axisโ Joystick axis to use for looking up and down. ๐joystick_look_invertโ If non-zero, movement on the joystick axis used for looking is inverted. ๐joystick_look_sensitivityโ Joystick look analog sensitivity, specified as a value between 0 and 20. ๐๏ธjoystick_physical_button0โ The physical joystick button that corresponds to joystick virtual button #0. ๐ฎjoystick_physical_button1โ The physical joystick button that corresponds to joystick virtual button #1. ๐ฎjoystick_physical_button2โ The physical joystick button that corresponds to joystick virtual button #2. ๐ฎjoystick_physical_button3โ The physical joystick button that corresponds to joystick virtual button #3. ๐ฎjoystick_physical_button4โ The physical joystick button that corresponds to joystick virtual button #4. ๐ฎjoystick_physical_button5โ The physical joystick button that corresponds to joystick virtual button #5. ๐ฎjoystick_physical_button6โ The physical joystick button that corresponds to joystick virtual button #6. ๐ฎjoystick_physical_button7โ The physical joystick button that corresponds to joystick virtual button #7. ๐ฎjoystick_physical_button8โ The physical joystick button that corresponds to joystick virtual button #8. ๐ฎjoystick_physical_button9โ The physical joystick button that corresponds to joystick virtual button #9. ๐ฎjoystick_physical_button10โ The physical joystick button that corresponds to joystick virtual button #10. ๐ฎjoystick_physical_button11โ The physical joystick button that corresponds to joystick virtual button #11. ๐ฎjoystick_physical_button12โ The physical joystick button that corresponds to joystick virtual button #12. ๐ฎjoystick_physical_button13โ The physical joystick button that corresponds to joystick virtual button #13. ๐ฎjoystick_physical_button14โ The physical joystick button that corresponds to joystick virtual button #14. ๐ฎjoystick_physical_button15โ The physical joystick button that corresponds to joystick virtual button #15. ๐ฎjoystick_physical_button16โ The physical joystick button that corresponds to joystick virtual button #16. ๐ฎuse_gamepadโ If non-zero, use the SDL_GameController interface instead of the SDL_Joystick interface. ๐ฎgamepad_typeโ Stores the SDL_GameControllerType of the last configured gamepad. ๐ฎjoystick_x_dead_zoneโ Joystick x axis dead zone, specified as a percentage of the axis max value. ๐ณ๏ธjoystick_y_dead_zoneโ Joystick y axis dead zone, specified as a percentage of the axis max value. ๐ณ๏ธjoystick_strafe_dead_zoneโ Joystick strafe axis dead zone, specified as a percentage of the axis max value. ๐ณ๏ธjoystick_look_dead_zoneโ Joystick look axis dead zone, specified as a percentage of the axis max value. ๐ณ๏ธjoyb_strafeleftโ Joystick virtual button to make the player strafe left. โฌ ๏ธjoyb_straferightโ Joystick virtual button to make the player strafe right. โก๏ธjoyb_menu_activateโ Joystick virtual button to activate the menu. ๐joyb_toggle_automapโ Joystick virtual button to toggle the automap. ๐บ๏ธjoyb_prevweaponโ Joystick virtual button that cycles to the previous weapon. ๐ซjoyb_nextweaponโ Joystick virtual button that cycles to the next weapon. ๐ซkey_pauseโ Key to pause or unpause the game. โธ๏ธkey_menu_activateโ Key that activates the menu when pressed. ๐key_menu_upโ Key that moves the cursor up on the menu. โฌ๏ธkey_menu_downโ Key that moves the cursor down on the menu. โฌ๏ธkey_menu_leftโ Key that moves the currently selected slider on the menu left. โฌ ๏ธkey_menu_rightโ Key that moves the currently selected slider on the menu right. โก๏ธkey_menu_backโ Key to go back to the previous menu. โฉ๏ธkey_menu_forwardโ Key to activate the currently selected menu item. โฉkey_menu_confirmโ Key to answer 'yes' to a question in the menu. โkey_menu_abortโ Key to answer 'no' to a question in the menu. โkey_menu_helpโ Keyboard shortcut to bring up the help screen. โkey_menu_saveโ Keyboard shortcut to bring up the save game menu. ๐พkey_menu_loadโ Keyboard shortcut to bring up the load game menu. ๐key_menu_volumeโ Keyboard shortcut to bring up the sound volume menu. ๐key_menu_detailโ Keyboard shortcut to toggle the detail level. ๐key_menu_qsaveโ Keyboard shortcut to quicksave the current game. โก๐พkey_menu_endgameโ Keyboard shortcut to end the game. ๐key_menu_messagesโ Keyboard shortcut to toggle heads-up messages. ๐ฌkey_menu_qloadโ Keyboard shortcut to load the last quicksave. โก๐key_menu_quitโ Keyboard shortcut to quit the game. ๐ชkey_menu_gammaโ Keyboard shortcut to toggle the gamma correction level. ๐key_spyโ Keyboard shortcut to switch view in multiplayer. ๐ต๏ธkey_menu_incscreenโ Keyboard shortcut to increase the screen size. ๐โkey_menu_decscreenโ Keyboard shortcut to decrease the screen size. ๐โkey_menu_screenshotโ Keyboard shortcut to save a screenshot. ๐ธkey_map_toggleโ Key to toggle the map view. ๐บ๏ธkey_map_northโ Key to pan north when in the map view. โฌ๏ธkey_map_southโ Key to pan south when in the map view. โฌ๏ธkey_map_eastโ Key to pan east when in the map view. โก๏ธkey_map_westโ Key to pan west when in the map view. โฌ ๏ธkey_map_zoominโ Key to zoom in when in the map view. ๐โkey_map_zoomoutโ Key to zoom out when in the map view. ๐โkey_map_maxzoomโ Key to zoom out the maximum amount when in the map view. ๐โฌ๏ธkey_map_followโ Key to toggle follow mode when in the map view. ๐ฃkey_map_gridโ Key to toggle the grid display when in the map view. ๐ฒkey_map_markโ Key to set a mark when in the map view. ๐key_map_clearmarkโ Key to clear all marks when in the map view. ๐งนkey_weapon1โ Key to select weapon 1. ๐ซkey_weapon2โ Key to select weapon 2. ๐ซkey_weapon3โ Key to select weapon 3. ๐ซkey_weapon4โ Key to select weapon 4. ๐ซkey_weapon5โ Key to select weapon 5. ๐ซkey_weapon6โ Key to select weapon 6. ๐ซkey_weapon7โ Key to select weapon 7. ๐ซkey_weapon8โ Key to select weapon 8. ๐ซkey_prevweaponโ Key to cycle to the previous weapon. ๐ซkey_nextweaponโ Key to cycle to the next weapon. ๐ซkey_message_refreshโ Key to re-display last message. ๐key_demo_quitโ Key to quit the game when recording a demo. ๐ฌ๐ชkey_multi_msgโ Key to send a message during multiplayer games. ๐ฌkey_multi_msgplayer1โ Key to send a message to player 1 during multiplayer games. ๐ฌkey_multi_msgplayer2โ Key to send a message to player 2 during multiplayer games. ๐ฌkey_multi_msgplayer3โ Key to send a message to player 3 during multiplayer games. ๐ฌkey_multi_msgplayer4โ Key to send a message to player 4 during multiplayer games. ๐ฌkey_multi_msgplayer5โ Key to send a message to player 5 during multiplayer games. ๐ฌkey_multi_msgplayer6โ Key to send a message to player 6 during multiplayer games. ๐ฌkey_multi_msgplayer7โ Key to send a message to player 7 during multiplayer games. ๐ฌkey_multi_msgplayer8โ Key to send a message to player 8 during multiplayer games. ๐ฌ
๐ SEE ALSO ๐
this page was brought to you by Chocolate Doom 3.1.1, dated 2024-01-23, for chocolate-strife.cfg(5). periodt. ๐
โจ
๐ฆ 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