About PrBoom
History
PrBoom is the culmination of years of work by various people and projects on the Doom source code. PrBoom includes work from all of the following projects:
Original Doom source release | Without id Software releasing the source code to Doom in the first place, we couldn't be here. And one mustn't forget Bernd Kreimeier who prepared the source for release. |
DosDoom | The first serious Doom port, got things working enough for other projects to spawn from it. Also continued to provide a lot of innovative ideas for other ports. |
Boom | This project gave a complete overhaul to the Doom engine, one it badly needed. All of Doom's infamous bugs and limitations were fixed. Many new features which fitted nicely into the engine were added, including a better line types system, translucency, friction and wind types, and much more. |
PrBoom | Brought Boom to Windows, and made large improvements to the graphics: first higher resolutions, later OpenGL rendering. |
MBF | This continuation of the Boom project, by Lee Killough, did huge amounts of debugging and other improvements, as well as adding more natural features in the way that Boom had done. There were also some special features like Doom beta emulation, and friendly monsters. |
LxDoom | Initially just a Linux port of Boom, it went on to become a portable POSIX Doom port, with further compatibility improvements and debugging. |
lSDLDoom | This port of LxDoom to SDL brought the Windows and Linux development back together. It just makes you wish we'd had SDL when the Doom source first came out :-\. |
Of course ideas were exchanged with many other Doom ports, including xdoom, and Eternity.
Features
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. The docs included with PrBoom cover the use of some of the extra features.
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 compatible with).
Playing the game
- Supports loading dehacked files at the command line, or in WADs (BOOM, MBF)
- Supports PWADs containing sprites and flats (BOOM)
- Save games and demos completely store game parameters (BOOM, MBF)
- Savegames store list of loaded WAD files, warning if wrong files loaded (BOOM, MBF)
Game engine
- Player bobbing improved, optional (BOOM, MBF)
- Friction effects (BOOM), affecting players and monsters (MBF)
- 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 (BOOM)
- 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)
Screen
- 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 (BOOM)
- OpenGL renderer which renders as original to software Doom as possible while greatly improving the visual quality (PrBoom)
Multiplayer
- Spy mode improved (BOOM)
- Support for loadgame in a net game (LxDoom)
- Client server style network games (LxDoom)
Automap
- No limit on marks (BOOM)
- Rotation and overlay modes (DOSDoom, LxDoom)
- Map shows coordinates (BOOM), optionally follow pointer (MBF)
- Teleport lines, key doors marked specially (BOOM)
- Keys, secrets visible on map with cheat codes (BOOM)
- Colours fully configurable from menus (BOOM)
Intermission screens
Menus
- F1 help screen shows current key setup (BOOM)
- Key bindings, monster behaviour, and compatibility settings all set in menus (BOOM, MBF)
Compatibility
- 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 warnings (LxDoom)
- Fine control of options controlling compatibility and new features (MBF)
Controls
- Greater control of key bindings from in game menus (BOOM)
- More accurate mouse sensitivity control (BOOM, LxDoom)
Misc
- 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 (LxDoom)
- Various extra cheat codes (BOOM, LxDoom)