PrBoom is a version of the classic 3D shoot'em'up game Doom, originally
written by id Software.
See the file AUTHORS in this distribution for a list of authors and
other contributors, and a history of the projects PrBoom is derived
PrBoom is made available under the GNU General Public License. See the
file COPYING included in this distribution for details.
Please see the NEWS file included for changes since the previous version.
Game data - WADs
(This section is aimed at people not familiar with Doom and the
data files it uses.)
PrBoom is a game engine - it provides a program to play Doom levels, but
it doesn't include any levels itself. More importantly, you need all the
sounds, sprites, and other graphics that make up the Doom environment.
So to play PrBoom, you need one of the main Doom date files from id
Software - either doom.wad, doom2.wad, tnt.wad or plutonia.wad from one
of the commercial Doom games, or the shareware doom1.wad. This file
is called the IWAD.
PrBoom also supports playing Doom add-on levels, called "PWADs", which
are small extra .wad files which just contain extra levels or other
resources. PWADs are ONLY ADD-ONS, you still need the original IWAD
that they are designed to work with. In practice, most PWADs on the
Internet require doom2.wad (although some work with doom.wad).
If you don't own any of the Doom games, get the shareware doom1.wad
from doom19s.zip on Doomworld's shareware download page. But note that you
will not be able to play most add-ons.
Just extract the zip to a directory of your choice and copy your IWAD
files into it. Now you can make shortcuts and add "-iwad filename.wad"
The SDL_mixer library used by PrBoom supports software MIDI music
synthesis. If you want to hear the Doom music, you need a set of
Timidity instrument patches. Do a web search for timidity patch sets,
there are plenty around.
These patch sets are a large download (>5megs).
SDL_mixer does not currently support hardware MIDI synthesis. But we
have added a hacked version of SDL_mixer with native midi support. If
you like to try it out, rename SDL_mixer_beta.dll to SDL_mixer.dll.
You should rename the original SDL_mixer.dll before. Tell us if it
works or not. Please note, that there might be bugs in the native midi
For UNIX, Linux, and other POSIX systems, you need the SDL libraries in
order to use PrBoom. If you haven't already done so, visit
http://prboom.sourceforge.net/linux.html and follow the instructions there
for your system, downloading the necessary libraries, and either
installing the binary RPM package or compiling PrBoom from source.
Once you've done that, you'll need to copy your IWAD file (see the section
above if you don't know what this is) to a directory where PrBoom can find
it. Make /usr/local/share/games/doom/, and copy your IWAD (all of your
IWADs, if you own more than one) to that directory.
Mac OS Installation
Copy your IWAD (see above) into your home folder under
Library:Application Support:PrBoom (this folder will be created for you the
first time you run PrBoom).
If it's the first time you've run PrBoom, you'll need to do some configuring
to get the controls and display right for you.
On a new installation, PrBoom runs at 640x480 resolution. If you have used
PrBoom before, you may have an old config file in your home directory which
specifies a lower resolution, such as Doom's normal 320x200. You can use the
-width and -height parameters to select a higher resolution, e.g.:
prboom -width 640 -height 400
sets the resolution. This setting is remembered for future sessions. For
other parameters, see the included README.command-line.
You may also wish to customise the key bindings. PrBoom's default keybindings
are the same as the original Doom; unlike original Doom, you can change key
bindings in the game. In the in-game menus, go to Options, Settings, Key
On Mac OS X, you can't use the command line, but after running the program
once, you can edit YOURHOME:Library:Application Support:PrBoom:prboom.cfg to
change settings like your screen resolution.
This is all the features PrBoom has compared to the original Doom game
- it's intended to give you an idea of the enhancements, rather than
burying you in details.
See http://prboom.sourceforge.net/about.html for an HTML version of
This is shamelessly modelled on Boom's changes pages. By each
change, there's the name of the port the feature comes from (so it's
Playing the game
* Supports loading dehacked files at the command line, or in WADs
* Supports PWADs containing sprites and flats (BOOM)
* Save games and demos completely store game parameters (BOOM,
* Savegames store list of loaded WAD files, warning if wrong files
loaded (BOOM, MBF)
* Player bobbing improved, optional (BOOM, MBF)
* Friction effects (BOOM), affecting players and monsters
* Wind, current, conveyor effects (BOOM)
* Far more flexible scrolling wall/floor types (BOOM)
* Always run (BOOM)
* Weapon change logic overhauled and improved (BOOM)
* Support for friendly monsters, helper dogs (MBF)
* Monster target finding code improved (MBF)
* AI improvements (MBF)
* Bouncy and touchy things (MBF)
* New code pointers (MBF)
* Per-level and animated skies (MBF)
* Generalised line types system gives complete flexibility
* Elevators (BOOM)
* Translucent sprites, walls (BOOM)
* Independent floor and ceiling lighting (BOOM)
* Silent teleports (BOOM)
* Deep water, true underwater areas (BOOM)
* Icon of Sin telefragging made more consistent (MBF)
* Fix large numbers of game bugs (BOOM, MBF, LxDoom)
* Support arbitrary texture heights (BOOM)
* High resolution support (PrBoom)
* Optional message console, multiple message lines (BOOM)
* Status bar shows health/armour/ammo in colours (BOOM)
* Heads up display, showing ammo, health, keys overlayed on view
* Spy mode improved (BOOM)
* Support for loadgame in a net game (LxDoom)
* Client server style network games (LxDoom)
* No limit on marks (BOOM)
* Rotation and overlay modes (DOSDoom, LxDoom)
* Map shows coordinates (BOOM), optionally follow pointer
* Teleport lines, key doors and switches marked specially (BOOM)
* Keys, secrets visible on map with cheat codes (BOOM)
* Colours fully configurable from menus (BOOM)
* Par times hidden when not relevant (BOOM)
* Total episode time shown (LxDoom)
* F1 help screen shows current key setup (BOOM)
* Key bindings, monster behaviour, and compatibility settings all set
in menus (BOOM, MBF)
* Game is capable of behaving like any of: original Doom v1.9, Boom
v2.02, MBF (BOOM, MBF, LxDoom)
* Plays most original Doom v1.9 demos (more than Boom or MBF)
* Plays most Boom v2.02 demos (apart from levels with friction
effects everything should work).
* Plays some DOSDoom, earlier Doom, earlier Boom, and LxDoom demos.
* Plays all MBF demos.
* Auto-correction of common bugs in old levels (MBF), with
* Fine control of options controlling compatibility and new features
* Greater control of key bindings from in game menus (BOOM)
* More accurate mouse sensitivity control (BOOM, LxDoom)
* Screenshot code improved, supports BMPs (BOOM)
* Support for ENDOOM and ENDBOOM (BOOM, LxDoom)
* -timedemo and -fastdemo options (BOOM)
* Real time frame rate, segs, visplanes, sprites display
* Various extra cheat codes (BOOM, LxDoom)
* Greatly improved internal memory management (BOOM, LxDoom)
* Startup time greatly shortened by lazy generation of some lookups
* Removed internal limits (BOOM)
On Linux, SDL tries to detect an appropriate video device automatically.
If you want to overrite the default, you can set the SDL_VIDEODRIVER
enviromental variable. At a bash prompt, this is as easy as running:
Details on these extra features are split into separate text files:
README.demos provides a guide to PrBoom's demo support
README.compatibility describes PrBoom's various compatibility
options and modes
README.command-line gives a command line reference for prboom,
prboom-game-server, and the format of boom.cfg.
On UNIX/Linux systems use the man pages instead.
Editing features are not covered in the docs with this package. We plan
to bundle the editing docs as a separate download. Watch our website