summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormicha <micha@pkgsrc.org>2022-02-11 15:12:42 +0000
committermicha <micha@pkgsrc.org>2022-02-11 15:12:42 +0000
commit1503791d10addbff18d82ca7f8222d9936ec6a06 (patch)
treed43e3e3ebb3c23845628673ad7ca855cd4cca187
parentbaa489192465054c4963e1602b9e25579af61d15 (diff)
downloadpkgsrc-1503791d10addbff18d82ca7f8222d9936ec6a06.tar.gz
games/prboom-plus: Update to 2.6.2
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.
-rw-r--r--games/prboom-plus/DESCR2
-rw-r--r--games/prboom-plus/Makefile60
-rw-r--r--games/prboom-plus/PLIST25
-rw-r--r--games/prboom-plus/distinfo8
-rw-r--r--games/prboom-plus/files/INSTALL.pkgsrc6
5 files changed, 71 insertions, 30 deletions
diff --git a/games/prboom-plus/DESCR b/games/prboom-plus/DESCR
index 41597a6d396..2030ea9d504 100644
--- a/games/prboom-plus/DESCR
+++ b/games/prboom-plus/DESCR
@@ -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.
diff --git a/games/prboom-plus/Makefile b/games/prboom-plus/Makefile
index 64efbaccf82..70c18d870d9 100644
--- a/games/prboom-plus/Makefile
+++ b/games/prboom-plus/Makefile
@@ -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"
diff --git a/games/prboom-plus/PLIST b/games/prboom-plus/PLIST
index 4e91bbb744a..983c1a06c34 100644
--- a/games/prboom-plus/PLIST
+++ b/games/prboom-plus/PLIST
@@ -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
diff --git a/games/prboom-plus/distinfo b/games/prboom-plus/distinfo
index 6b709cbb2e7..1e439ff0acf 100644
--- a/games/prboom-plus/distinfo
+++ b/games/prboom-plus/distinfo
@@ -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
diff --git a/games/prboom-plus/files/INSTALL.pkgsrc b/games/prboom-plus/files/INSTALL.pkgsrc
new file mode 100644
index 00000000000..1362a32cf82
--- /dev/null
+++ b/games/prboom-plus/files/INSTALL.pkgsrc
@@ -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).