crispy-heretic.cfg(5)
๐ crispy-heretic.cfg โ the config file for Crispy Heretic ๐
๐ธ NAME ๐ธ
crispy-heretic.cfg โ the configuration file for crispy-heretic(6) โจ
๐ฆ DESCRIPTION ๐ฆ
Okay so crispy-heretic.cfg is a config file for crispy-heretic(6), and it's the auxiliary one, bestie. The main config options live in heretic.cfg, which holds all the same settings as Vanilla Heretic (for compatibility, periodt). crispy-heretic.cfg is where the stuff that's Crispy-Heretic-only goes. It's giving extra. It's giving exclusive. We love her ๐
Normally she lives in your home directory, at:
~/.local/share/crispy-heretic/crispy-heretic.cfg
and you can override that path with the XDG_DATA_HOME environment variable (iykyk, it's in the XDG Base Directory Specification โจ).
Also!! There's crispy-heretic-setup(6), which is a super simple front-end for editing crispy-heretic.cfg โ so if hand-editing files isn't your vibe, she's got you ๐ซถ
๐ FILE FORMAT ๐
The file format is exactly the same as the one used for heretic.cfg(5). No cap, no new syntax to learn, we're just reusing the fit ๐
๐ CONFIGURATION VARIABLES ๐
Alright bestie, here's the whole menu. Every single one, no skipping ๐
video_driverโ the name of the SDL video driver you wanna use. If it's an empty string, you just get the default video driver. Let her cook.window_positionโ where the window sits on your screen when you're running in windowed mode. Accepted values are:""(empty string) โ don't care,"center"โ place the window at the center of the screen,"x,y"โ place the window at those exact coordinates. Iconic, honestly.fullscreenโ if it's non-zero, the game runs in full screen mode. If it's zero, you get a window. That's it, that's the whole personality ๐video_displayโ the index of the display the game should run on. This has no effect if you're running in windowed mode (fullscreen=0) andwindow_positionis not set to"center". So like, don't bother, it's not listening to you ๐aspect_ratio_correctโ if it's non-zero, the screen gets stretched vertically so it displays correctly on a square pixel video mode. Your geometry stays snatched.smooth_pixel_scalingโ if it's non-zero, the screen gets smooth scaling. Soft. Blurred. Cozy ๐งinteger_scalingโ if it's non-zero, it forces integer scales for resolution-independent rendering. Whole numbers only, we don't do fractions here โจwindow_widthโ the window width when you're running in windowed mode.window_heightโ the window height when you're running in windowed mode. (Yes, they're a matching set, they come as a pair, they're literally soulmates ๐)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, rather than ever switching screen modes. It should usually be unnecessary to set this value, so likeโฆ don't touch it unless you have to ๐fullscreen_heightโ the height for the screen mode when running fullscreen. See the docs forfullscreen_widthโ same energy, different axis.force_software_rendererโ if it's non-zero, it forces the use of a software renderer. This one's for the systems that are lacking hardware acceleration, no shade, we've all been there ๐ซถmax_scaling_buffer_pixelsโ the maximum 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 โ so more isn't automatically more, bestie. The default limits it to 16,000,000 pixels, which is enough to cover 4K monitor standards ๐startup_delayโ the number of milliseconds to wait on startup, after the video mode has been set, before the game will start. This lets the screen settle on some monitors that don't display an image for a brief interval after changing video modes. It's literally just giving your monitor a second to breathe ๐งgraphical_startupโ if it's non-zero, display the graphical startup screen.show_endoomโ if it's non-zero, the ENDOOM text screen is displayed when you exit the game. If it's zero, the ENDOOM screen is not displayed. Some of y'all live for that text wall and honestly? Respect.png_screenshotsโ if it's non-zero, screenshots get saved in PNG format. If it's zero, screenshots get saved in PCX format, as Vanilla Doom does. Retro choice, valid choice ๐mouse_acceleration_yโ the vertical mouse acceleration factor. When the speed of mouse movement exceeds the threshold value (mouse_threshold), the speed is multiplied by this value.mouse_threshold_yโ the vertical mouse acceleration threshold. When the speed of mouse movement exceeds this threshold value, the speed is multiplied by an acceleration factor (mouse_acceleration).snd_samplerateโ the sound output sample rate, in Hz. Typical values to use are 11025, 22050, 44100 and 48000. Pick your flavor ๐snd_cachesizeโ the maximum number of bytes to allocate for caching converted sound effects in memory. If it's set to zero, there is no limit applied. YOLO mode, memory-wise.snd_maxslicetime_msโ the maximum size of the output sound buffer size in milliseconds. Sound output is generated periodically in slices. Higher values might be more efficient but will introduce latency to the sound output. The default is 28ms (one slice per tic with the 35fps timer). Efficiency vs. latency, the eternal struggle ๐ญ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. Chaos on, or chaos off ๐snd_musiccmdโ an external command to invoke to perform MIDI playback. If it's set to the empty string, SDL_mixer's internal MIDI playback is used. This only has any effect whensnd_musicdeviceis set to General MIDI output. Read that twice, bestie โจ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. Fancy chip behavior, we love to see it ๐opl_io_portโ the I/O port to use to access the OPL chip. Only relevant when using native OPL music playback. Niche but iconic.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 levels are:- Linear conversion =
1 - Zero order hold =
2 - Fast Sinc filter =
3 - Medium quality Sinc filter =
4 - High quality Sinc filter =
5
- Linear conversion =
Quality or speed, pick your fighter ๐
libsamplerate_scaleโ the scaling factor used by libsamplerate. This is used when converting sounds internally back into integer form; normally it should not be necessary to change it from the default value. 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 it should be set as high as is possible without clipping occurring. Balance, bestie, it's all about balance ๐งautoload_pathโ the full path to a directory where WAD files and dehacked patches can be placed so they get 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, she'll handle the rest ๐ซถ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 soundtrack โจfsynth_chorus_activeโ if it's1, activate the FluidSynth chorus effects module. If it's0, 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".fsynth_polyphonyโ sets the number of FluidSynth voices that can be played in parallel. Default is256, range is1-65535.fsynth_reverb_activeโ if it's1, activate the FluidSynth reverb effects module. If it's0, 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) FluidSynth reverb. Default is0.6, range is0.0-1.0.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. Point her at the good 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 is no need to add"dir"commands into it. Convenient!! ๐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.winmm_midi_deviceโ the MIDI device for native Windows MIDI.winmm_complevelโ the compatibility level for native Windows MIDI, default1. 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 value100 ms.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. Authenticity or localization, you decide ๐ฆa11y_sector_lightingโ if it's zero, this disables sectors changing their light level.a11y_extra_lightingโ the amount of extra light to add to the game scene. Turn it up, it's giving โจa11y_weapon_flashโ if it's zero, this disables weapon flashes changing the ambient light level and flickering of torches. Accessibility queens, this one's for you ๐a11y_weapon_paletteโ if it's zero, this disables weapon palette changes.a11y_weapon_psprโ if it's zero, this disables rendering of weapon flashes sprites.a11y_palette_changesโ set this to zero and you kill all the palette shifting that happens when you take damage, grab an item, or rock the radiation suit. bye bye color chaos ๐a11y_invul_colormapโ zero it out and the colormap stops doing its thing while you're invulnerable. no dramatic screen tint for you โจplayer_nameโ the name you show up as in network games, for identification purposes only. heads up tho: it's only used on the "waiting" screen while everyone's waiting for the match to start ๐ซถgrabmouseโ if this is non-zero, the mouse gets "grabbed" when you're running in windowed mode so it actually works as an input device. when you're running full screen? this does literally nothing, no effect at all ๐novertโ non-zero means all vertical mouse movement gets ignored. this is emulating the behavior of the"novert"tool from back in the DOS days that did the exact same thing. vintage icon behavior ๐mouse_accelerationโ the mouse acceleration factor. when your mouse movement speed goes over the threshold value (mouse_threshold), the speed gets multiplied by this value. speed boost era ๐ฅmouse_thresholdโ the mouse acceleration threshold. once your mouse speed goes past this value, the speed gets multiplied by an acceleration factor (mouse_acceleration). the two of them are besties, they only work as a pair ๐ธ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.mouseb_invleftโ mouse button to move to the left in the inventory.mouseb_invrightโ mouse button to move to the right in the inventory.mouseb_useartifactโ mouse button to use artifact.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. double tap supremacy ๐ฑ๏ธโจjoystick_guidโ an SDL GUID string indicating the joystick to use. an empty string means no joystick is configured at all. she's just not plugged in bestie ๐ฎjoystick_indexโ index of the SDL joystick to use. this one's only relevant when you've got multiple identical joystick devices connected that share the same GUID, and you need to tell them apart. twin controller problems fr fruse_analogโ if non-zero, you get analog movement when playing with a gamepad. smooth like butter ๐งjoystick_x_axisโ joystick axis to use for horizontal (X) movement.joystick_x_invertโ if non-zero, movement on the horizontal joystick axis gets inverted. upside down energy ๐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 gets 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 gets 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 gets 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, you use theSDL_GameControllerinterface instead of theSDL_Joystickinterface. glow up for your controller โจgamepad_typeโ stores theSDL_GameControllerTypeof 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.joyb_useartifactโ joystick virtual button to activate artifact.joyb_invleftโ joystick virtual button to move left in the inventory.joyb_invrightโ joystick virtual button to move right in the inventory.joyb_flyupโ joystick virtual button to fly up.joyb_flydownโ joystick virtual button to fly down.joyb_flycenterโ joystick virtual button to center flying.
okay now we're getting into keyboard territory and honestly this is where the girlies customize everything ๐
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_nextlevelโ keyboard shortcut to go to next level.key_menu_reloadlevelโ keyboard shortcut to restart current level or demo.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_menu_cleanscreenshotโ keyboard shortcut to save a clean screenshot.key_menu_delโ key to delete a savegame.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_map_overlayโ key to toggle the overlay mode when in the map view.key_map_rotateโ key to toggle the rotate mode when in the map view.mouseb_mapzoominโ mouse button to zoom in when in the map view.mouseb_mapzoomoutโ the mouse button that zooms out while you're in the map view. ๐บ๏ธmouseb_mapmaxzoomโ the mouse button that zooms out the max amount while you're in the map view. Like, all the way out. No chill.mouseb_mapfollowโ the mouse button that toggles follow mode while you're 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. bestie really said "eight whole weapons" and honestly? iconic. ๐key_prevweaponโ key to cycle to the previous weapon. โชkey_nextweaponโ key to cycle to the next weapon. โฉkey_arti_quartzโ key to use the"quartz flask"artifact. ๐ถkey_arti_urnโ key to use the"mystic urn"artifact.key_arti_bombโ key to use the"timebomb of the ancients"artifact. ๐ฃkey_arti_tomeโ key to use the"tome of power"artifact. ๐key_arti_ringโ key to use the"ring of invincibility"artifact. ๐key_arti_chaosdeviceโ key to use the"chaos device"artifact.key_arti_shadowsphereโ key to use the"shadowsphere"artifact. ๐key_arti_wingsโ key to use the"wings of wrath"artifact. ๐ฆkey_arti_torchโ key to use the"torch"artifact. ๐ฅkey_arti_morphโ key to use the"morph ovum"artifact. ๐ฅkey_message_refreshโ key to re-display the 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_reverseโ quick 180ยฐ reverse. Spinning around so fast it's giving main character energy. ๐key_togglenovertโ toggle vertical mouse movement.crispy_defaultskillโ the default difficulty when starting a new game. ๐crispy_fpslimitโ limit framerate to this value, in frames per second.crispy_gammaโ Crispy's own variable to support intermediate and negative gamma levels. โจcrispy_lvlwpnsndโ Level Weapon Soundscrispy_translucencyโ enable translucency. ๐
โจ SEE ALSO โจ
and that's the whole page, bestie!! go forth and keybind responsibly ๐ซถ
This one came to you courtesy of Crispy Doom 7.1.0, dated 2024-01-23 โ crispy-heretic.cfg(5), no cap. ๐โจ๐
๐ฆ where this page comes from
- nixos 26.05: crispy-doom 7.1
- ubuntu questing: crispy-doom 7.1-1
- ubuntu resolute: crispy-doom 7.1-1build1 ยท GPL-2.0-or-later
- ubuntu stonking: crispy-doom 7.1-1build1 ยท 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