BOOM.CFG(5)
BOOM.CFG(5) โ File Formats Manual
โจ NAME โจ
boom.cfg, glboom.cfg โ Configuration file for PrBoom v2.1.0 onwards ๐
๐ซถ USAGE ๐ซถ
okay so when you run any version of PrBoom, 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. ๐
PrBoom expects the config file to live at ~/.prboom/boom.cfg, or ~/.prboom/glboom.cfg if it was compiled with GL support. But alternatively, you can make it look elsewhere with a command-line parameter:
{prboom,glboom} [-config myconf]
๐ FORMAT ๐
boom.cfg consists of a number of variables and values. Each line is of the following format:
[ { {{#,;,[} comment_text , variable {decimal_integer, 0x hex_integer, "string_text"}}]
Any line that starts with a non-alphabetic character is treated as a comment and ignored; for future compatibility you should start comments with a #, ; or [. But heads up: when PrBoom rewrites boom.cfg, it does not preserve user added comments. ๐ญ
Any line beginning with an alphabetic character is a variable-value pair. The first word (a sequence of non-whitespace characters) is the variable name, and everything after the following block of whitespace is taken as the value assigned to that variable.
Variables that PrBoom doesn't recognise, or that get an invalid value or a value of an inappropriate type, are ignored. Warning messages are given where relevant.
The variables PrBoom recognises are described per-section in the following sections. The sections are informal though; when PrBoom rewrites the config file it writes in section headings and puts variables into the relevant sections, but when reading these are ignored.
๐ MISC SETTINGS ๐
compatibility_levelโ PrBoom can behave in a way compatible with earlier versions of Doom and Boom/PrBoom. The value here selects the version to be compatible with when doing new games/demos. SeeREADME.compatfor details. ๐ฎrealtic_clock_rateโ Selects the speed PrBoom runs at, as a percentage of normal game speed. Leave at0unless you want to experiment. Note that it is consideredcheatingto use this at any setting below0(or above?). ๐ณ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. ๐flashing_homโ Flag indicating whether a flashing red background is drawn to highlight HOM errors in levels (for level developers). ๐ฅdemo_insuranceโ Selects a method of protecting demos againstgoing 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. ๐ก๏ธ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. ๐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. โณ
๐ 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 randomly 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.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.friend_distanceโ Distance within which friends will generally stay.dog_jumpingโ Whether dogs will jump.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 PrBoom 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 enablespitching(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. ๐ป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 game 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. โธ๏ธsounddev,snd_channels,soundsrv,musicsrvโ These variables are no longer used by PrBoom, but are kept for compatibility reasons. ๐ป
๐งฉ COMPATIBILITY SETTINGS ๐งฉ
These settings let you choose whether normal game mechanics are used, or whether various quirks, bugs and limitations of the original Doom game are emulated. ๐งฉ
๐ฅ๏ธ 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. โก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. ๐จ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. โ๏ธ
โจ OPENGL SETTINGS โจ
ok so if you genuinely know your way around OpenGL, bestie, this is your moment โ you can tweak all kinds of little aspects of the GL rendering engine. main character energy only. ๐
gl_nearclipโ the near clipping plane, times 100. that's it, that's the whole description. iconic brevity. ๐gl_colorbuffer_bitsโ the bit depth for the framebuffer. your options are16,24or32bits. โจgl_depthbuffer_bitsโ the bit depth for the z-buffer. again:16,24or32bits. ๐ธgl_tex_filter_stringโ a string, and it has to be one of these:GL_NEARESTorGL_LINEAR(those two are the no-mipmapping girlies), or one ofGL_NEAREST_MIPMAP_NEAREST,GL_NEAREST_MIPMAP_LINEAR,GL_LINEAR_MIPMAP_NEAREST,GL_LINEAR_MIPMAP_LINEARif you want the mipmapping. slay. ๐ฆgl_tex_format_stringโ one of the following strings, and lemme translate the vibes for you:GL_RGBAโ means the format is selected by the driver (not so good, ngl ๐)GL_RGBA2โ means 2 bits for each component (bad. like, bad bad. ๐)GL_RGBA4โ means 4 bits for each component (basically whatGL_RGBAgives you on most cards)GL_RGB5_A1โ means 5 bits for each color component and 1 bit for the alpha channel. this one is the default ๐GL_RGBA8โ means 8 bits for each component. best quality, but it's only a little bit better thanGL_RGB5_A1and slower on most cards. so likeโฆ temper your expectations, babe ๐ญ
gl_drawskysโ if you set it to0, it disables drawing skies. which you might actually need if you're rocking some problematic 3D cards. ๐gl_sortspritesโ experimental option! possibly faster but less reliable. it's giving risky little gamble, fr fr โจ
๐ญ MOUSE SETTINGS ๐ญ
this section is all about using a mouse with PrBoom. there are several settings that control button bindings (aka what action each button causes in the game), and honestly those are easiest to set from the in-game menus โ these config entries exist to preserve your settings between games. so you don't gotta redo them every time, thank god. ๐
use_mouseโ enable or disable the use of a mouse with PrBoom. simple as. ๐ซถmouse_sensitivity_horiz,mouse_sensitivity_vertโ sets the sensitivity of the mouse in PrBoom. easier set from the in-game menus, just saying. ๐
โจ๏ธ KEY BINDINGS โจ๏ธ
these specify the keys that trigger various actions in PrBoom. the codes used for keys are internal to PrBoom, though a lot of keys are represented by their ASCII codes. it is easiest to modify these via the in-game menus (OPTIONS->SETUP->KEY BINDINGS). and these config file entries? they preserve the settings from that menu between game sessions. so your muscle memory stays intact, bestie. ๐
๐น๏ธ JOYSTICK SETTINGS ๐น๏ธ
so there are the trigger variables here, which get calculated during joystick calibration (the values received from the kernel driver, outside of which movement is caused in the game). also there are the button-bindings, again best adjusted using the in-game menus. ๐
use_joystickโ this selects the number of the joystick to use, or0selects no joystick. you have to have the relevant device files (/dev/js0etc) and the kernel driver loaded. no device file, no joystick, no cap. ๐ฅ
๐ฌ CHAT MACROS ๐ฌ
these are pre-written text strings for quick transmission to players in a network game (go consult your Doom documentation for the details, iykyk). easiest set via the in-game menus (OPTIONS->SETUP->CHAT MACROS). ๐
๐บ๏ธ AUTOMAP SETTINGS ๐บ๏ธ
these are settings related to the automap. easiest set from within the game, periodt. ๐ง
๐ HEADS_UP DISPLAY SETTINGS ๐
these are settings related to the heads-up display โ that means the messages you receive while playing, plus the heads-up display of your current status, which you get by pressing + while the view is full-screen in PrBoom. see the Boom documentation for details. all of these are controlled best from within the game. ๐
๐ซ WEAPON PREFERENCES ๐ซ
here are the settings from the Weapons menu in the game (OPTIONS->SETUP->WEAPONS). go pick your faves. โจ
๐ ALSO SEE ๐
prboom(6)- PrBoom's documentation (including the Boom and MBF documentation)
- and your Doom documentation.
๐ AUTHOR ๐
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). shoutout to Colin, absolute legend. ๐ซถ
and that's the whole page, bestie!! ๐ the footer down at the bottom just sayslocalandBOOM.CFG(5)โ section 5 of the manual, local build, no date on this one. go forth and configure, you gorgeous nerd. ๐ โจ
๐ฆ where this page comes from
- fedora 43: prboom 2.5.0-37.fc43 ยท GPL-2.0-or-later
- fedora 44: prboom 2.5.0-38.fc44 ยท 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