PRBOOM-PLUS.CFG(5)
π prboom-plus.cfg(5) β File Formats Manual π
okay bestie, gather round, because this is the iconic config file for PrBoom+ and we are gonna read it together. no cap.
β¨ NAME β¨
prboom-plus.cfg β the configuration file for PrBoom+ π
π USAGE π
When a version of PrBoom+ is run, it searches for this configuration file to modify its default settings. Every time PrBoom+ exits, it rewrites the configuration file, updating any settings that have been changed using the in-game menus. slay, it just keeps itself fresh like that.
PrBoom+ expects the config file to be ~/.prboom-plus/prboom-plus.cfg. Alternatively, it can be made to look elsewhere by using a command-line parameter:
prboom-plus [-config myconf]
π FORMAT π
prboom-plus.cfg consists of a number of variables and values. Each line is of the following format:
{ {{# | ; | [} comment_text} | { variable {decimal_integer | 0xhex_integer | "string_text"}} }
Any line beginning with a non-alphabetic character is treated as a comment and ignored; for future compatibility you should start comments with a #, ; or [. Note however that when PrBoom+ rewrites prboom-plus.cfg it does not preserve user added comments. so donβt get attached to your little notes, bestie π.
Any line beginning with an alphabetic character is treated as a variable-value pair. The first word (sequence of non-whitespace characters) is the variable name, and everything after the following block of whitespace is taken to be the value assigned to the variable.
Variables not recognised by PrBoom+, or which are given an invalid value or a value of an inappropriate type, are ignored. Warning messages are given where relevant.
The variables recognised by PrBoom+ are described per-section in the following sections. The sections are informal however; when PrBoom+ rewrites the config file it writes in section headings and puts variables into the relevant sections, but when reading these are ignored. so the sections are basically aesthetic, and honestly? same π .
π¦ MISC SETTINGS π¦
compatibility_levelβ PrBoom+ is capable of behaving in a way compatible with earlier versions of Doom andBoom/PrBoom[+]. The value given here selects the version to be compatible with when doing new games/demos. SeeREADME.compatfor details.realtic_clock_rateβ Selects the speed that PrBoom+ runs at, as a percentage of normal game speed. Leave at0unless you want to experiment. Note that it is considered `cheating' to use this at any setting below or above0. so likeβ¦ donβt be messy about it πmax_player_corpseβ Sets the maximum number of player corpses to leave lying around. If this limit would be exceeded, an old corpse is removed. Useful for big/long Deathmatch games, where the sheer number of corpses could slow the game down. corpse management is self-care π«Άflashing_homβ Flag indicating whether a flashing red background is drawn to highlight HOM (Hall of Mirrors) errors in levels (for level developers). very βlevel dev in their flop eraβ energy πdemo_insuranceβ Selects a method of protecting demos against `going out of sync' (where the player seems to lose control and behave madly, but in fact the players original instructions as stored in the demo have got out of sync with the game he was playing).0=No protection,1=Full protection,2=Only while recording demos. Safest when left set to2. bestie just leave it at 2, trust β¨endoom_modeβ This parameter specifies options controlling the display of the credits screen when Doom exits. Currently it is the sum of 3 options: add1for colours,2for non-ASCII characters to be displayed, and4for the last line to be skipped so the top line doesn't scroll off screen. math but make it credits screen πlevel_precacheβ If set, when loading a new level PrBoom+ precaches all the graphics the level is likely to need in memory. This makes it much slower to load the level, but reduces disk activity and slowdowns reading data during play. Most systems are fast enough that precaching is not needed. so if your rig is already eating, you can skip this π
πΈ FILES SETTINGS πΈ
wadfile_1,wadfile_2β The names of 2.wadfiles to be automatically loaded when PrBoom+ is started. A blank string means unused.dehfile_1,dehfile_2β The names of 2 patch files (.dehor.bex) to be automatically loaded when PrBoom+ is started (empty string for none).
π GAME SETTINGS π
default_skillβ The default skill level when starting a new game.weapon_recoilβ Enables recoil from weapon fire.doom_weapon_togglesβ Flag indicating whether pressing3or1when that weapon is already selected causes the selected shotgun or fist/chainsaw to be toggled, as in original Doom. Some people prefer to use a number for each weapon alone.player_bobbingβ Enables player bobbing (view moving up/down slightly as the player runs).monsters_rememberβ Makes monsters remember their previous enemy after killing their current target.monster_infightingβ Whether monsters will fight each other when they injure each other accidentally.monster_backingβ Whether monsters without close combat weapons will back away from close combat (unlike original Doom).monster_avoid_hazardsβ Whether monsters avoid crushing ceilings.monkeysβ Whether monsters will climb steep stairs. yes this is really called monkeys, we love a whimsical key name πmonster_frictionβ Whether monsters are affected by changed floor friction (they should be, but weren't in Boom).help_friendsβ Whether monsters will help out injured monsters by aiding them against their attacker.player_helpersβ The number of helper dogs to spawn. DOGS!! πΆfriend_distanceβ Distance within which friends will generally stay.dog_jumpingβ Whether dogs will jump. let the dogs jump, honestly π¦sts_always_redβ PrBoom+ can make the colour of the text displays on the status bar reflect your current status (red=low, yellow=average, green=good, blue=super-charged). This option if set selects the traditional Doom behavior of always-red status bar display; set to0to allow the coloured display.sts_pct_always_grayβ See above, this makes just the percent signs always gray, instead of changing colour.sts_traditional_keysβ Doom and Boom have two types of keys; PrBoom+ will normally display both keys of a given colour if you have both. This option, if enabled, instead makes PrBoom+ only ever display one key of each colour, in the same way Doom did.traditional_menuβ Changes PrBoom+'s menu ordering to be the same as original Doom if enabled.show_messagesβ When enabled, text messages are displayed in the top left corner of the screen describing events in the game. Can be toggled in the game, this is just to preserve the setting.autorunβ Makes the player always run, without having to hold down a run key. Can be toggled in the game, this just preserves the setting.
π΅ SOUND SETTINGS π΅
sound_cardβ Selects whether sound effects are enabled (non-zero enables). For compatibility reasons with Boom, a range of values are accepted.music_cardβ Selects whether in-game music is enabled (non-zero enables). For compatibility reasons a range of values are accepted.pitched_soundsβ If enabled by this variable, this enables `pitching' (making pitch adjustments to the playing sounds) for 16 bit sound cards.samplerateβ The samplerate for soundmixing and timidity. The sound quality is much better at higher samplerates, but if you use timidity then higher samplerates need much more CPU power. Useful values are11025,22050,44100and48000. pick your fighter π§sfx_volumeβ Sound effects volume. This is best adjusted in the game.music_volumeβ Music volume. This is best adjusted in the game.mus_pause_optβ Selects what PrBoom+ does to the music when a games is paused.0=stop the music,1=pause the music (stop it playing, but when resumed resume it at the same place - not implemented),2=continue playing. not implemented bestie, so donβt hold your breath on 1 πsounddev,snd_channels,soundsrv,musicsrvβ These variables are no longer used by PrBoom+, but are kept for compatibility reasons. legacy icons only π
π COMPATIBILITY SETTINGS π
These are settings that let you choose whether the normal game mechanics are used, or whether various quirks, bugs and limitations of the original Doom game are emulated. so itβs giving βdo we respect the lore or the bugs?β and the answer is yes π
πΊ VIDEO SETTINGS πΊ
screen_width,screen_heightβ For versions of PrBoom+ which support high-res, these specify the default screen or window size for PrBoom+. These settings are ignored and preserved by versions of PrBoom+ which do not do high-res (they assume320x200).use_fullscreenβ If set, this causes PrBoom+ to try to go full screen. Depending on your video driver and mode, this may include changing screen resolution to better match the game's screen resolution.use_doublebufferβ Use double buffering to reduce tearing. On some machines this is even faster than the normal method, but on others this makes problems, so you have to try out which setting works best. trial and error era, honestly π¦translucencyβ Causes PrBoom+ to display certain objects as translucent.tran_filter_pctβ Selects how translucent objects are when they are translucent. Play with this and see for yourself. vibe check it live β¨screenblocksβ Selects a reduced screen size inside the PrBoom+ window (the player's view is surrounded by a border). Normally this is undesirable, but it can help speed up the game. Can be changed in the game with the+/-keys, this variable is just to preserve that setting.usegammaβ Selects a level of gamma correction (extra screen brightening) to correct for a dark monitor or light surroundings. Can be selected in the game with theF11key, this config entry preserves that setting. F11 girlies rise π
β¨ OPENGL SETTINGS β¨
Okay bestie, if you actually know your OpenGL tea, this is your section β you can tweak all the little knobs of the GL rendering engine. Genuinely for the graphics girlies only. π
gl_nearclipβ the near clipping plane, times 100. Yes,*100. That's the whole vibe. πΈgl_colorbuffer_bitsβ the bit depth for the framebuffer. Your options are 16, 24 or 32 bits. Pick your fighter. β¨gl_depthbuffer_bitsβ the bit depth for the z-buffer. Again: 16, 24 or 32 bits. Same energy, different buffer. π¦gl_tex_filter_stringβ a string, and it's gotta be one of these, no freestyling:GL_NEARESTorGL_LINEAR(these two mean no mipmapping), or one ofGL_NEAREST_MIPMAP_NEAREST,GL_NEAREST_MIPMAP_LINEAR,GL_LINEAR_MIPMAP_NEAREST,GL_LINEAR_MIPMAP_LINEARβ those four do use mipmapping. πgl_tex_format_stringβ one of these strings, and the lore matters here so listen up:GL_RGBAβ means the format is selected by the driver (not so good, lowkey a gamble).GL_RGBA2β means 2 bits for each component (bad. just bad. π).GL_RGBA4β means 4 bits for each component (which is basically likeGL_RGBAon most cards).GL_RGB5_A1β means 5 bits for each color component and 1 bit for the alpha channel. This is the default. πGL_RGBA8β means 8 bits for each component. Best quality, but honestly only a little bit better thanGL_RGB5_A1, and slower on most cards. Iconic but high-maintenance.
gl_drawskysβ if it's0, it disables drawing skies. You might need this if you've got one of those problematic 3D cards that simply cannot behave. πgl_sortspritesβ experimental option, possibly faster but less reliable. Experimental!! We love a risky queen but know what you're signing up for. β οΈ
π±οΈ MOUSE SETTINGS π±οΈ
This whole section is about using a mouse with PrBoom+. There are a bunch of settings that control button bindings β like, what action each button causes in the game β and the easiest way to set those is straight from the in-game menus. These config entries exist purely to preserve your settings between games. πΎ
use_mouseβ enable or disable the use of a mouse with PrBoom+. On or off, babe. π«Άmouse_sensitivity_horiz,mouse_sensitivity_vertβ sets the sensitivity of the mouse in PrBoom+. Easier to set from the in-game menus, ngl. π
β¨οΈ KEY BINDINGS β¨οΈ
These specify the keys that trigger various actions in PrBoom+. The codes used for keys are internal to PrBoom+, though lots of keys are represented by their ASCII codes. The easiest way to modify these is through the in-game menus: OPTIONS->SETUP->KEY BINDINGS. And these config file entries keep those menu settings alive between game sessions. β¨
πΉοΈ JOYSTICK SETTINGS πΉοΈ
The trigger variables live here β they get calculated during joystick calibration (aka the values received from the kernel driver outside of which movement is caused in the game). Also hanging out here are the button-bindings, which are, once again, best adjusted using the in-game menus. π
use_joystickβ this selects the number of the joystick to use, or0selects no joystick. Heads up though: you have to have the relevant device files (/dev/js0etc) and the kernel driver loaded. No driver, no joystick, no cap. π
π¬ CHAT MACROS π¬
These are pre-written text strings for quick transmission to players in a network game β consult your Doom documentation for the deets. Easiest set via the in-game menus: OPTIONS->SETUP->CHAT MACROS. Type less, say more, slay always. π¦
πΊοΈ AUTOMAP SETTINGS πΊοΈ
These are settings related to the automap. Easiest set from within the game, fr fr. π
π HEADS_UP DISPLAY SETTINGS π
These are settings related to the heads-up display β that's the messages you receive while playing, plus the heads-up display of your current status that you get by pressing + while the view is full-screen in PrBoom+. See the Boom documentation for details. All of it is controlled best from within the game. β¨
π« WEAPON PREFERENCES π«
Here are the settings from the Weapons menu in the game, which lives at OPTIONS->SETUP->WEAPONS. Choose your main character energy wisely. π
π SEE ALSO π
prboom-plus(6)prboom-plus-game-server(6)- PrBoom+'s documentation (including the Boom and MBF documentation)
- your Doom documentation
π AUTHORS π
See the file AUTHORS included with PrBoom+ for a list of contributors to PrBoom+. This config file reference was written by Colin Phipps (cph@moria.org.uk). π«Ά
And that's the whole page, bestie!! This version is dated 2011-06-27 and it's page PRBOOM-PLUS.CFG(5). Go forth and configure your config file like the icon you are. periodt. π β¨πΈ
π¦ where this page comes from
- fedora 43: prboom-plus 2.6.66-10.fc43 Β· BSD-3-Clause AND MIT AND LGPL-2.0-or-later
- fedora 44: prboom-plus 2.6.66-11.fc44 Β· BSD-3-Clause AND MIT AND LGPL-2.0-or-later
- opensuse-leap 16.0: prboom-plus 2.6.66-bp160.1.10 Β· GPL-2.0-or-later
- opensuse-leap 16.0: prboom-plus 2.6.66-bp160.1.10 Β· GPL-2.0-or-later
- opensuse-leap 16.0: prboom-plus 2.6.66-bp160.1.10 Β· GPL-2.0-or-later
- opensuse-leap 16.0: prboom-plus 2.6.66-bp160.1.10 Β· GPL-2.0-or-later
- ubuntu jammy: prboom-plus 2:2.6.2-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