Skip to content

Commit

Permalink
games/prboom-plus: Update to 2.6.2
Browse files Browse the repository at this point in the history
PrBoom-Plus 2.6.2 @ 11 Feb 2022
- added a prospective fix for OpenGL rendering: don't bleed walls
  through sky floors
- account for proper crosshair offsets when locked on to monsters
- relaxed "IWAD tag not present" error to a warning, which allows
  loading REKKR IWAD
- fixed processing of multiple DEHs
- UMAPINFO: fixed error reporting if token == TK_NoToken
- fixed intermission screen for E0Mx
- fixed Alt+Tabbing on Windows, broken in new SDL2 version
- UMAPINFO: fixed using_FMI reset * no more crashes at textscreens
  (e.g. after MAP06, MAP11 or MAP20) after viewing finale picture upon
  finishing a level with UMAPINFO 'endpic' property
- fixed freezing at TITLEPIC while using mousewheel in menus
- fixed looping forever in G_NextWeapon()
- UMAPINFO: fix 'entering' and 'enterpic' shown on exit levels
- GL: adjust sky offsets for non-standard FOVs
- fixed stuttering with uncapped framerate
- added support for widescreen low resolutions
- added REKKR to launcher string list
- let G_GotoNextLevel() close the circle for maps with an endpic
- Launcher: identify IWADs either by IWAD tag, or by PWAD tag and
  matching filename
- Portmidi: fix freeze after song change
- fixed scaled time interpolation when changing game speed
- fixed wrong pitch of SFX when MIDI Player is set to SDL
- v1.2 compat:
   * do not use sfx_getpow for powerups
   * do not render powerups and attacking Spiderdemon fullbright
- UMAPINFO: fixed par times not showing
- fixed demo playback warp consistency
- added SKILL cheat to display current skill level
- fixed calculation of interpolation frac value
- guard against screen buffer underflow
- fixed crash at startup by properly closing IWAD file handle
- added vanilla_keymap option à la Chocolate Doom
- added 'run' as a mouse-settable control (mouseb_speed)

PrBoom-Plus 2.6.1um @ 16 Aug 2021
- fixed MOD playback with DUMB 2.x
- added TNTCLxx cheat, e.g. TNTCL04 sets complevel 4 (Final DOOM)
- draw crosshair before messages, draw crosshair for fist/chainsaw and
  during on-screen messages
- fixed crosshair locking on target for melee weapons
- more consistently check for ammo instead of weapon type
- fixed odd strafe values (vanilla allows even values only)
- added TNTSHORT cheat to toggle shorttics on and off while in game
- fixed typo in ZDoom-style Actor name (Slalagtite -> Stalagtite)
- fixed Windows Alt-Tab
- fixed a memory leak on SDL_Quit()
- preserve automap position/scale when toggling overlay mode
- allow binding weapon selection to mouse buttons
- add a `-pistolstart` command-line parameter
- fixed crashes on WADs with empty music lumps, e.g. Nihility.wad
- enabled loading 16 bit RIFF wavs in WADs
- make low-pass sound filter (introduced by the previous change)
  optional
- if executable directory appears not writable, fall back to `.`
- made pitch-shift range independent of target samplerate
- fixed bogus condition preventing automap lines from being drawn
- fixed saving of mouse button bindings
- fixed interpolated z-coordinate after teleporting
- added a new option "Disable sound cutoffs" to allow removed map
  objects to finish playing their sounds and to make seesounds
  uninterruptible
- allow deleting savegames from menu
- fixed automap crash when `USE_VERTEX_ARRAYS` and `GL_VBO` are
  undefined
- fluidsynth: reset all controllers when looping a song
- fixed hanging notes on exit when using Portmidi
- show current and next levels when typing IDCLEV cheat
- added a config key for "exclusive" i.e. mode-changing fullscreen
- UMAPINFO: if interbackdrop does not specify a valid flat, draw it as
  a patch instead
- appended revision tracker to UMAPINFO spec document
- ALSA sequencer API backend for ALSA MIDI support (Linux only)
- extended range of maps reachable via `-warp` and IDCLEV:
   * from E1M1-E4M9 to E1M0-E9M99 for D1
   * from MAP01-MAP33 to MAP00-MAP99
   * Limitations:
     * E0My doesn't work, since episode must always be > 0
     * `-warp x 0`, because zero passed to `-warp` as map number is used
        to warping to first changed map in PWAD
- evaluate mouse motion only once per tick
- show Time/STS widgets above status bar
- removed lowpass-filter item from menu
- fixed `P_SetMobjState()` stack, fixes crash on
  mayhem18p.wad/m18p31-1509.lmp
- fixed crash in automap on certain maps (e.g. Sunlust MAP01) when using
  GL renderer, Thing Appearance = Icons and 2xIDDT
- fixed menu intermission desync
- fixed crash when leaving menu in Chex Quest
- initialize the map title widget with the generic map lump name
- make "Next Level" key simply increase map number if already outside
  regular level transition range
- check for next level in IDCLEV cheat before announcing it
- make sure "Next Level" key never warps to a non-existent map
- reformatted umapinfo.txt so that it is easier to read in plaintext
- fixed custom episode select for Doom 2
- fixed shifting automap markers
- allow translucent sprites on all complevels
- allow disabling predefined translucency on all complevels
- fixed flood HOM on certain maps (e.g. Plutonia MAP11, HR MAP01) (GL)
- fixed sky walls for cases with sky vs. sky toptextures (e.g. E4M6)
  (GL)
- fixed transparent spites being rendered incorrectly with transparent
  walls in view (GL)
- generate a default save-slot name when saving to an empty slot
- added mouse button binds for turn left/right
- fixed sky scaling for non-standard sky sizes, e.g. Eviternity and
  Ancient Aliens (GL)
- added new advanced HUD layout by Fireb3rt+
- added slice_samplecount config option
- added manifest to declare app as DPI aware, so that Windows will not
  apply DPI virtualization
- added support for widescreen assets
- added ZDoom's names for the new Crispy Doom/DEHEXTRA things to
  ActorNames[], so they can be used with BossAction() if needed
- fixed UMAPINFO music restarting issue
- skip the 'entering level' screen if one of endgame, endpic, endbunny
  or endcast is set (UMAPINFO)
- fixed endbunny and endgame UMAPINFO fields
- reset mlook on demo recording
- added OpenGL sprite fuzz options ("darken", "shadow", "transparent",
  "ghostly")
- properly check for the CreateFileMapping() symbol (build)
- always precache sound lumps
- replace W_SafeGetNumForName() with W_CheckNumForName()
- removed defunct lump locking warnings
- removed obsolete SFX usefulness references
- allow colored blood to get set/overridden by DEHACKED, implemented
  Eternity's coloredblood spec, added three additional color translation
  tables for black, purple and white
- made the Ouch Face fix available on all complevels
- added the autoload directory feature from Chocolate Doom
- implemented custom atexit() sequence, ported over from Chocolate Doom,
  fixing crashes during shutdown e.g. on Linux using Wayland
- fixed switching weapons when reaching zero ammo with
  boom_autoswitch == 0
- made Doom sound quirk fixes available on all complevels
- UMAPINFO: introduced the new 'label' field
- do not cast degenmobj_t as mobj_t, breaks aliasing rules on platforms
  where mobj_t pointers are 64-bit aligned and degenmobj_t pointers are
  only 32-bit aligned
- fixed `-solo-net` for demo restart
- fixed levelstat crash for MAP33 and above
- added autoload per PWAD feature, further enhancing the autoload
  directory feature
- UMAPINFO: fixed 'episode' field parsing, 'label' is single-line
- removed obsolete weapon toggle setting
- added ftell() and fseek() implementations for DEHACKED lumps, allowing
  the DEH parser to roll back to the start of a line following a blank
  line and re-process it with the last valid block code handler
- added mouse look / vertical mouse movement toggle notifications
- fixed forcing aspect ratio correction only for the canonical 16:10
  (i.e. 320x200 and 640x400) modes
- do not even attempt to play DEMO4 if it is not available
- only apply palette changes when inside a level
- fixed 32-bit widescreen pain palette
- added a `-coop_spawns` parameter for using "coop in single-player" mode
- fixed OpenGL effect palettes
- added support for non-latin paths and filenames on Windows
- made sure to always autoload prboom-plus.wad
- introduced a supplemental data directory "PRBOOMDATADIR" to install
  prboom-plus.wad into (build)
- prepared for different autoload base directories, respecting the
  `-noload` parameter
- fixed playback of complevel 11 demo with UMAPINFO
- fixed attempted playback of a UMAPINFO demo without UMAPINFO loaded
- never exceed desktop resolution in fullscreen desktop mode
- UMAPINFO: entries without defined 'levelname' fall back to default
- UMAPINFO: fixed default intermission
- fixed setting 'finaleflat' in FMI_StartFinale (UMAPINFO)
- fixed load game during multiplayer demo playback
- fixed OpenGL backfill

PrBoom-Plus 2.6um @ 09 Feb 2021
- fixed episode selection when playing Doom 2
- fixed Doom 1 level progression
- print a blinking arrow next to the currently highlighted menu item
- print another blinking arrow to the right of the currently selected
  menu setting
- support the DOOMWADPATH environment variable
- add some extra states, sprites and mobjtypes from Doom Retro and
  Crispy Doom
- fullscreen desktop for the software renderer
- improved v1.2 compat:
  - fixed a desync on the internal demo in DTH1.WAD
  - fixed the walkways to the BFG rising a little too high on 1_ON_1.WAD
  - moving floors (except plats) should not make the floor stop sound
- fixed infinite loop in macOS launcher
- added CMake build system
- fixed the mainfest to allow 64 bit builds
- fixed PortMidi support on 64-bit Windows
- disabled the "popping skull player death" easter egg
- do not wait for VSync if running a timedemo
- added -statdump parameter from Chocolate Doom
- added mouse-strafe divisor setting
- removed and/or replace all non-free data lumps
- improved Boom random seed
- added -stroller param
- include secret exit in -levelstat
- added configurable quickstart window
- disallow 180-turn with strafe on
- fixed endianess for 32-bit ZDoom nodes
- show Extended Help screen when pressing the Help key
- made armor color depend on type, not amount
- added Chocolate Doom mouse behavior option
- fixed Boom autoswitch behavior
- reinstated the "WEAPON ATTACK ALIGNMENT" menu option
- changed "SECRET AREAS" menu option to "REPORT REVEALED SECRETS"
- fixed endianess for DeePBSP V4 nodes
- show error message boxes on Windows, except when video-dumping a demo
- unbind game speed changing keys in default config
- fixed heap buffer overflows in UDP multiplayer code
- fixed -longtics having no effect
- changed video capture to an ffmpeg-based approach
- track demo joins for TAS-detection purposes
- fixed some episode transition issues when using UMAPINFO
- added automap rotate and overlay keybindings to menus
- fixed a bug in DeHackEd string replacements with a length of exactly
  four
- added "Dropped Item" menu support
- enabled automap Follow Mode by default
- disabled chorus and reverb for Fluidsynth by default
- fix segfault with -viewangle parameter
- next levels no longer reset if endscreen is disabled in UMAPINFO
- added 200 Sounds for DEHEXTRA
- respawn when using IDDQD while dead
- fixes for empty DeHackEd lumps and entries
- restrict "next level" button usage to in-level only
- added adaptations for fluidsynth 2.0
- added "No Vertical Mouse" setting and keybind
- save / load -complevel 9 friction
- added extensible demo format + "PR+UM" signature
- made canonical resolutions (320x200, 320x240, 640x400 and 640x480)
  always available in menu, regardless of what video driver/SDL report
- fixed aspect ratio for canonical resolutions; be sure to set
  "Aspect Ratio" to "Auto" and "Status Bar and Menu Appearance" to
  "Not Adjusted" for both 320x200 and 640x400
- set minimum windows size to prevent window from shrinking when
  changing video modes
- "Screen Multiple Factor" now functions like a "window size factor"
  (i.e. like "-1", "-2", "-3" in Chocolate Doom) and has no effect in
  fullscreen modes
- added "Integer Screen Scaling" option (à la Crispy Doom), which
  restricts the screen size to integer multiples of the game resolution,
  under Options -> General, page 5
- both executables now share the same config file "prboom-plus.cfg",
  with all config keys always preserved - including the GL-related ones
- switched to the unified executable "prboom-plus" with optional OpenGL
  rendering
- portmidi: pitch bends are now reset when stopping song
- added support for more mouse buttons
- fixed resolution-independent mouse sensitivity
- added demo restart functionality - record a new demo on map restart
- setup menus remember last active item
- fixed the KFA cheat sting not read from .bex patches
- UMAPINFO docs updated re: "bossaction" field
- fixed a crash when running out of space while typing in a file path
  into the autoload fields (Options -> General, page 2)
- fixed the "Garbage lines at the top of weapon sprites" issue (#95)
- add support for named complevels on command line:
  -complevel 1.9      = -complevel 2
  -complevel doom2    = -complevel 2
  -complevel ultimate = -complevel 3
  -complevel udoom    = -complevel 3
  -complevel final    = -complevel 4
  -complevel tnt      = -complevel 4
  -complevel plutonia = -complevel 4
  -complevel boom     = -complevel 9
  -complevel mbf      = -complevel 11
  -complevel vanilla  = complevel autodetected according to IWAD loaded
- allow MBF sky transfers in all complevels
- add support for colored blood and gibs
- fixed key-bindings unusable after mouse-wheel up/down

PrBoom-Plus 2.5.1.7um @ 16 Jun 2019
- adds a special marker to demos recorded with UMAPINFO
- addes support for ZDBSP's compressed node format
- fixes the rendering problems in OpenGL
- fixes TRANMAP caching

PrBoom-Plus 2.5.1.6um @ 11 Jun 2019
This fixes a major bug with the episode selection menu not working and
adds IDCLEV checks for maps outside the standard range.

PrBoom-Plus 2.5.1.5um @ 10 Jun 2019
First official release with UMAPINFO support

2.5.1.4.umapinfo_test @ 22 Apr 2017
Beta version with UMAPINFO support.
Note that this is for testing as the newly added MAPINFO feature has
not seen thorough testing yet.
  • Loading branch information
micha committed Feb 11, 2022
1 parent baa4891 commit 1503791
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 30 deletions.
2 changes: 2 additions & 0 deletions games/prboom-plus/DESCR
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
PrBoom+ is a modified version of id Software's classic game DOOM. It
runs on several platforms (including Win32 and Unixes) and features many
additions to the original game. It also supports multiplayer games.

This package contains the SDL2 branch with UMAPINFO support.
60 changes: 47 additions & 13 deletions games/prboom-plus/Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,58 @@
# $NetBSD: Makefile,v 1.8 2020/03/20 11:57:43 nia Exp $
# $NetBSD: Makefile,v 1.9 2022/02/11 15:12:42 micha Exp $

DISTNAME= prboom-plus-2.5.1.4
DISTNAME= prboom-plus-2.6.2
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=prboom-plus/}
MASTER_SITES= ${MASTER_SITE_GITHUB:=coelckers/}
GITHUB_TAG= v${PKGVERSION_NOREV}

MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://prboom-plus.sourceforge.net/
HOMEPAGE= https://github.com/coelckers/prboom-plus
COMMENT= Multiplayer-capable and modified version of DOOM
LICENSE= gnu-gpl-v2

GNU_CONFIGURE= YES
CONFIGURE_ARGS+= --with-waddir=${PREFIX}/share/doom
USE_LANGUAGES= c99 c++
USE_CMAKE= yes
USE_TOOLS+= gmake pkg-config

SUBST_CLASSES+= gamesdir
SUBST_STAGE.gamesdir= pre-configure
SUBST_MESSAGE.gamesdir= Fixing hard-coded gamesdir
SUBST_FILES.gamesdir= src/Makefile.in
SUBST_SED.gamesdir+= -e '/^gamesdir =/ s;/games;/bin;g'
WRKSRC= ${WRKDIR}/prboom-plus-${PKGVERSION_NOREV}/prboom2

.include "../../audio/SDL_mixer/buildlink3.mk"
.include "../../net/SDL_net/buildlink3.mk"
# DOOMWADDIR is intentionally shared with other Doom packages
DOOMWADDIR= share/doom

CONFIGURE_DIRS= build
CMAKE_ARG_PATH= ..
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+= -DPRBOOMDATADIR=${PREFIX}/${DOOMWADDIR}
CMAKE_ARGS+= -DDOOMWADDIR=${PREFIX}/${DOOMWADDIR}
CMAKE_ARGS+= -DWITH_DUMB=OFF
CMAKE_ARGS+= -DWITH_FLUIDSYNTH=OFF
CMAKE_ARGS+= -DWITH_PORTMIDI=OFF

# Process INSTALL.pkgsrc
SUBST_CLASSES+= install
SUBST_STAGE.install= do-configure
SUBST_MESSAGE.install= Preparing INSTALL.pkgsrc file ...
SUBST_FILES.install= ${WRKDIR}/INSTALL.pkgsrc
SUBST_SED.install= -e 's,DOOMWADDIR,${PREFIX}/${DOOMWADDIR},'

pre-configure:
cd ${WRKSRC}; mkdir build
${CP} ${FILESDIR}/INSTALL.pkgsrc ${WRKDIR}

post-install:
${INSTALL_DATA} ${WRKDIR}/INSTALL.pkgsrc \
${DESTDIR}${PREFIX}/share/doc/prboom-plus/INSTALL.pkgsrc

.include "../../audio/SDL2_mixer/buildlink3.mk"
.include "../../audio/libmad/buildlink3.mk"
.include "../../audio/libvorbis/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../graphics/SDL2_image/buildlink3.mk"
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../multimedia/libogg/buildlink3.mk"
.include "../../net/SDL2_net/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"

.include "../../mk/bsd.pkg.mk"
25 changes: 12 additions & 13 deletions games/prboom-plus/PLIST
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
@comment $NetBSD: PLIST,v 1.1 2014/09/13 12:55:06 shattered Exp $
@comment $NetBSD: PLIST,v 1.2 2022/02/11 15:12:42 micha Exp $
bin/prboom-plus
bin/prboom-plus-game-server
man/man5/prboom-plus.cfg.5
man/man6/prboom-plus-game-server.6
man/man6/prboom-plus.6
share/doc/${PKGNAME}/AUTHORS
share/doc/${PKGNAME}/COPYING
share/doc/${PKGNAME}/MBF.txt
share/doc/${PKGNAME}/MBFFAQ.txt
share/doc/${PKGNAME}/NEWS
share/doc/${PKGNAME}/README
share/doc/${PKGNAME}/README.compat
share/doc/${PKGNAME}/README.demos
share/doc/${PKGNAME}/boom.txt
share/doc/${PKGNAME}/prboom-plus-history.html
share/doc/${PKGNAME}/prboom-plus-history.txt
share/doc/${PKGNAME}/prboom-plus-usage.txt
share/doc/prboom-plus/DeePBSPV4specs.txt
share/doc/prboom-plus/INSTALL.pkgsrc
share/doc/prboom-plus/MBF.txt
share/doc/prboom-plus/MBFFAQ.txt
share/doc/prboom-plus/NEWS
share/doc/prboom-plus/README.command-line
share/doc/prboom-plus/README.compat
share/doc/prboom-plus/README.demos
share/doc/prboom-plus/boom.txt
share/doc/prboom-plus/prboom-plus-usage.txt
share/doc/prboom-plus/umapinfo.txt
share/doom/prboom-plus.wad
8 changes: 4 additions & 4 deletions games/prboom-plus/distinfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.5 2021/10/26 10:44:20 nia Exp $
$NetBSD: distinfo,v 1.6 2022/02/11 15:12:42 micha Exp $

BLAKE2s (prboom-plus-2.5.1.4.tar.gz) = 9e96ed05a522a86efe0da2735a4169f2988ce8ff7f3a285e8152a87aa25dec69
SHA512 (prboom-plus-2.5.1.4.tar.gz) = ca342bc2eac05458ed9c40aa781badc81416f25e51de23543f037df547d973dcca7522fb942160b7b797d24b6313a0e111afa11ad887199fbaab06240ffeb716
Size (prboom-plus-2.5.1.4.tar.gz) = 1627558 bytes
BLAKE2s (prboom-plus-2.6.2.tar.gz) = ab576697a6ea29ed985a512cf8ea61d68f3cc9ff3b38ab04008960720c8bb3a1
SHA512 (prboom-plus-2.6.2.tar.gz) = 7005fa55bdbfffa1b6b24ff470f5e1962e89367eaa28b23e95ebde0d1385dbe14e1c0f2d67d8ebefb1adfeeca8d551ec2b7b04a23a6af3a0f708b36da09613b3
Size (prboom-plus-2.6.2.tar.gz) = 1557494 bytes
6 changes: 6 additions & 0 deletions games/prboom-plus/files/INSTALL.pkgsrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
The location of the prboom-plus WAD directory has been set to:

DOOMWADDIR

This is the pkgsrc standard Doom WAD directory location (shared with other
Doom packages).

0 comments on commit 1503791

Please # to comment.