Difference between revisions of "PrBoom+"

From DoomWiki.org

[checked revision][checked revision]
m (PrBoom+ features)
(add new parameters for initial release info)
Line 7: Line 7:
 
|programming language = [[Wikipedia:C (Programming Language)|C]]
 
|programming language = [[Wikipedia:C (Programming Language)|C]]
 
|status = Active
 
|status = Active
 +
|initialversion = {{safesubst::{{FULLPAGENAME}}/InitialVersion}}
 
|platform = Cross-Platform
 
|platform = Cross-Platform
 
|license = {{GPL||2+}}
 
|license = {{GPL||2+}}

Revision as of 23:54, 18 March 2018

PrBoom+
PrBoom+ logo.png
Standard Doom, Boom, MBF
Codebase PrBoom
Developer(s) Andrey Budko (entryway)
Initial release PrBoom+/InitialVersion
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. The project saw its first developments in 2004, starting off as an unnamed PrBoom modification, but after gaining numerous additions over PrBoom it eventually adopted the separate PrBoom+ title in 2005.

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
  • MIDI output with OPL emulation, FluidSynth, PortMidi, or SDL
  • Ogg Vorbis and MP3 playback
  • Speed optimisations for very large levels, compared to PrBoom
  • Customizable HUD with the -PRBHUD- lump
  • Video capture with the -viddump parameter (requires external programs)
  • Support for jumping when not recording demos

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)
  • Support for PNG and DDS formats for high-res textures
  • GZDoom-style skyboxes through the GLDEFS lump (or its alias GLBDEFS)
  • Optional animation blending for animated flats and textures, similar to ZDoomGL
  • Optional free look (though aiming is not affected and autoaim behaves as if the line of sight remained horizontal)
  • Details textures (also defined in GLDEFS lump)
  • Optional textured automap

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