PrBoom+

From DoomWiki.org

Revision as of 07:12, 26 November 2011 by Gez (talk | contribs) (Yeah I think it can be de-stubbed now)


PrBoom+
Codebase PrBoom
Developer(s) Andrey Budko (entryway)
Latest release 2.6.66 (2023-06-20, 9 months ago)
Development status Active
Written in C
Target Platform Cross-Platform
License GNU General Public License v2+
Website http://prboom-plus.sourceforge.net/
Source Repository

(Subversion)

crowproductions.de
PrBoom+ (also PrBoom-plus) is a source port based on PrBoom. GLBoom+ is a common name for a build of PrBoom+ compiled with OpenGL support. It is developed by Andrey Budko (entryway).

PrBoom+ is based on the PrBoom 2.5.x line of development. It can currently be compiled in POSIX, Windows and Mac OS X environments. The current version is 2.6.66, released on 2023-06-20.

PrBoom+ features

In addition to all PrBoom features, PrBoom+ offers

  • Chasecam for demo playbacks
  • Changing the speed of the game in-game (for demo playback, recoding TAS demos, and for just playing at different speed)
  • Automatic loading of WADs necessary for playback, chosen by demo name or by information present in demo file (if recorded with PrBoom+)
  • Accurate Doom v1.2 emulation if needed during demo playback or requested by user
  • Support for DeePBSP and ZDBSP extended nodes
  • Support for the MUSINFO lump shared with Risen3D, ZDoom and GZDoom
  • OPL emulation
  • Speed optimisations for very large levels, compared to PrBoom
  • Customizable HUD with the -PRBHUD- lump

OpenGL mode features

In addition to all aforementioned PrBoom+ features, in OpenGL mode PrBoom+ can also use:

  • ZDoom-style high-resolution textures/flats/sprites (replacements located between HI_START and HI_END markers).
  • GZDoom-style skyboxes through the GLDEFS lump (or its alias GLBDEFS)
  • Optional animation blending for animated flats and textures, similar to ZDoomGL
  • Details textures (also defined in GLDEFS lump)

Detail texture definition

A detail texture is defined in a GLDEFS text lump. The syntax is as follows:

detail
{
  (walls | flats) [default_detail_name [width [height [offset_x [offset_y]]]]]
  {
    texture_name [detail_name [width [height [offset_x [offset_y]]]]]
  }
}

Where detail_name is a bmp/png/tga/jpg/pcx/gif lump between the HI_START/HI_END markers. You don't need to add the texture to TEXTURES1. Default values are (width:16 height:16 offset_x:0 offset_y:0)

Example:

detail
{
  walls smooth01 32.0 //default detail for walls (width = 32, height = 16, offset_x/y = 0)
  {
    brick7  detstone 64.0 64 10.532
    brick8  detail02 // detail02 16 16 0 0
    water1 // do not apply default detail to water
    water2
    water3
    water4
  }
  flats // no default detail for flats
  {
    grass1 Grass01 32 32
    NUKAGE1 detslime 16 16 0 0 // different offsets for animated flats make sense
    NUKAGE2 detslime 16 16 4 4
    NUKAGE3 detslime 16 16 8 8
  }
}

See also

External links

Source code genealogy
Based on
PrBoom
PrBoom+ Active