diff --git a/clean_source.sh b/clean_source.sh index 1c2395c..afdda1d 100644 --- a/clean_source.sh +++ b/clean_source.sh @@ -1,19 +1,17 @@ #!/bin/sh -ex -# Remove Wolfenstein dogs from source +# Remove Wolfenstein dogs from source; they belong to another game +# with incompatible licensing. : ${DOOMWADDIR:=/usr/share/doom}; -version=$(perl -lne 'if(/^Version\s*:\s*(\S+)/){print$1;exit}' wadinfo.txt; -rm -f prboom-plus.wad; -deutex -doom2 "$DOOMWADDIR" -create wadinfo.txt prboom-plus.wad; -find . -mindepth 1 -type d -print0 | xargs -0 rm -Rf; -mv wadinfo.txt prboom.txt; -rm -f error.txt output.txt; -popd; +version=$(perl -lne 'if(/^Version\s*:\s*(\S+)/){print$1;exit}' "$i" +done +popd find "prboom-plus-$version" -print0 | sort -z | \ - tar -T- --null --use=xz -cvf "prboom-plus-$version+.tar.xz"; + tar --no-r --null --use=xz -T- -cvf "prboom-plus-$version+.tar.xz" diff --git a/prboom-enable-tessellation.diff b/prboom-enable-tessellation.diff index c0c353e..0fa15ce 100644 --- a/prboom-enable-tessellation.diff +++ b/prboom-enable-tessellation.diff @@ -11,17 +11,17 @@ be rendered. src/gl_main.c | 3 +++ 1 file changed, 3 insertions(+) -Index: prboom-plus-2.5.1.3/src/gl_main.c +Index: prboom-plus-2.5.1.4/src/gl_main.c =================================================================== ---- prboom-plus-2.5.1.3.orig/src/gl_main.c -+++ prboom-plus-2.5.1.3/src/gl_main.c -@@ -73,6 +73,9 @@ - #ifdef USE_CUSTOM_QSORT - #include "qsort.h" +--- prboom-plus-2.5.1.4.orig/src/gl_main.c ++++ prboom-plus-2.5.1.4/src/gl_main.c +@@ -36,6 +36,9 @@ + #ifdef HAVE_CONFIG_H + #include "config.h" #endif +#ifndef USE_GLU_TESS +# define USE_GLU_TESS 1 +#endif - // All OpenGL extentions will be disabled in gl_compatibility mode - int gl_compatibility = 0; + #include "gl_opengl.h" + diff --git a/prboom-hbar-gradient.diff b/prboom-hbar-gradient.diff index b6fc33a..0b959df 100644 --- a/prboom-hbar-gradient.diff +++ b/prboom-hbar-gradient.diff @@ -11,12 +11,12 @@ This makes the health bar above shootables use gradiented color. src/gl_main.c | 44 +++++++++++++++++--------------------------- 3 files changed, 20 insertions(+), 30 deletions(-) -Index: prboom2/src/gl_drawinfo.c +Index: prboom-plus-2.5.1.4/src/gl_drawinfo.c =================================================================== ---- prboom2.orig/src/gl_drawinfo.c -+++ prboom2/src/gl_drawinfo.c -@@ -111,10 +111,10 @@ static void gld_AddDrawRange(int size) - #define NEWSIZE (MAX(64 * 1024, itemsize)) +--- prboom-plus-2.5.1.4.orig/src/gl_drawinfo.c ++++ prboom-plus-2.5.1.4/src/gl_drawinfo.c +@@ -112,10 +112,10 @@ static void gld_AddDrawRange(int size) + #define SIZEOF8(type) ((sizeof(type)+7)&~7) void gld_AddDrawItem(GLDrawItemType itemtype, void *itemdata) { - int itemsize = 0; @@ -26,13 +26,13 @@ Index: prboom2/src/gl_drawinfo.c - static int itemsizes[GLDIT_TYPES] = { + static const unsigned int itemsizes[GLDIT_TYPES] = { 0, - sizeof(GLWall), sizeof(GLWall), sizeof(GLWall), sizeof(GLWall), sizeof(GLWall), - sizeof(GLWall), sizeof(GLWall), -Index: prboom2/src/gl_intern.h + SIZEOF8(GLWall), SIZEOF8(GLWall), SIZEOF8(GLWall), SIZEOF8(GLWall), SIZEOF8(GLWall), + SIZEOF8(GLWall), SIZEOF8(GLWall), +Index: prboom-plus-2.5.1.4/src/gl_intern.h =================================================================== ---- prboom2.orig/src/gl_intern.h -+++ prboom2/src/gl_intern.h -@@ -220,7 +220,7 @@ typedef struct +--- prboom-plus-2.5.1.4.orig/src/gl_intern.h ++++ prboom-plus-2.5.1.4/src/gl_intern.h +@@ -218,7 +218,7 @@ typedef struct typedef struct { @@ -41,11 +41,11 @@ Index: prboom2/src/gl_intern.h float x1, x2, x3; float z1, z2, z3; -Index: prboom2/src/gl_main.c +Index: prboom-plus-2.5.1.4/src/gl_main.c =================================================================== ---- prboom2.orig/src/gl_main.c -+++ prboom2/src/gl_main.c -@@ -2405,15 +2405,20 @@ static void gld_AddHealthBar(mobj_t* thi +--- prboom-plus-2.5.1.4.orig/src/gl_main.c ++++ prboom-plus-2.5.1.4/src/gl_main.c +@@ -2339,15 +2339,20 @@ static void gld_AddHealthBar(mobj_t* thi GLHealthBar hbar; int health_percent = thing->health * 100 / thing->info->spawnhealth; @@ -74,7 +74,7 @@ Index: prboom2/src/gl_main.c { float sx2 = (float)thing->radius / 2.0f / MAP_SCALE; float sx1 = sx2 - (float)health_percent * (float)thing->radius / 100.0f / MAP_SCALE; -@@ -2437,7 +2442,6 @@ static void gld_AddHealthBar(mobj_t* thi +@@ -2371,7 +2376,6 @@ static void gld_AddHealthBar(mobj_t* thi static void gld_DrawHealthBars(void) { int i, count; @@ -82,7 +82,7 @@ Index: prboom2/src/gl_main.c count = gld_drawinfo.num_items[GLDIT_HBAR]; if (count > 0) -@@ -2448,31 +2452,17 @@ static void gld_DrawHealthBars(void) +@@ -2382,31 +2386,17 @@ static void gld_DrawHealthBars(void) for (i = count - 1; i >= 0; i--) { GLHealthBar *hbar = gld_drawinfo.items[GLDIT_HBAR][i].item.hbar; diff --git a/prboom-plus-2.5.1.4+.tar.xz b/prboom-plus-2.5.1.4+.tar.xz new file mode 100644 index 0000000..0c8e4b4 --- /dev/null +++ b/prboom-plus-2.5.1.4+.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5554c6690677886fc976182f03e2f4cc16d9b3ffb8e039c839065d082031bbe +size 1118052 diff --git a/prboom-plus-2.5.1.4~test4355.tar.xz b/prboom-plus-2.5.1.4~test4355.tar.xz deleted file mode 100644 index ec3a5ff..0000000 --- a/prboom-plus-2.5.1.4~test4355.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d6d109705df868105df44a4fe7c30f7ffb33e8bcdd05f611e767f90c3628a41b -size 1202216 diff --git a/prboom-plus.changes b/prboom-plus.changes index 839cb25..6b2c4b4 100644 --- a/prboom-plus.changes +++ b/prboom-plus.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Mar 29 23:57:18 UTC 2016 - jengelh@inai.de + +- Update to version 2.5.1.4 +* Added "Allow Jump" and "Allow Vertical Aiming" option on + Prboom-plus 'bad' compatibility settings" page. +* Added a "Backpack Changes Thresholds" option +* "Use GL surface for software mode" mode now works much faster + if gl_finish is 0 in config. +* Better support for Chex Quest, +* Fixed the classic "Long Wall" rendering error. + ------------------------------------------------------------------- Sun Mar 29 19:19:54 UTC 2015 - jengelh@inai.de diff --git a/prboom-plus.spec b/prboom-plus.spec index 5f87077..13e4d4f 100644 --- a/prboom-plus.spec +++ b/prboom-plus.spec @@ -1,7 +1,7 @@ # # spec file for package prboom-plus # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,16 +17,17 @@ Name: prboom-plus -Version: 2.5.1.4~test4355 +Version: 2.5.1.4 Release: 0 Summary: Open source port of the DOOM game engine License: GPL-2.0+ Group: Amusements/Games/3D/Shoot -Url: http://prboom-plus.sourceforge.net/ +Url: http://prboom-plus.sf.net/ #SVN-Clone: https://svn.prboom.org/repos/branches/prboom-plus-24/prboom2 -#DL-URL: http://downloads.sf.net/prboom-plus/prboom-plus-2.5.1.3.tar.gz -Source: %name-%version.tar.xz +#DL-URL: http://downloads.sf.net/prboom-plus/prboom-plus-2.5.1.4.tar.gz +Source: %name-%version+.tar.xz +Source2: clean_source.sh Patch1: prboom-nodatetime.diff Patch2: prboom-types1.diff Patch3: prboom-types2.diff @@ -34,17 +35,20 @@ Patch5: prboom-enable-tessellation.diff Patch6: prboom-hbar-color.diff Patch7: prboom-hbar-all.diff Patch8: prboom-hbar-gradient.diff -Source2: clean_source.sh BuildRequires: Mesa-devel BuildRequires: automake BuildRequires: fluidsynth-devel +BuildRequires: hicolor-icon-theme BuildRequires: libSDL_image-devel BuildRequires: libSDL_mixer-devel BuildRequires: libSDL_net-devel BuildRequires: libpng-devel BuildRequires: libvorbis-devel BuildRequires: pcre-devel -BuildRequires: xz +%if 0%{?suse_version} >= 1320 +BuildRequires: portmidi-devel +%endif +BuildRequires: update-desktop-files Suggests: freedoom Provides: prboom = 2.5.0plus Obsoletes: prboom <= 2.5.0 @@ -52,52 +56,51 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build %description PrBoom+ is a Doom source port developed from the original PrBoom -project. +project, an open-source port of Doom, the classic 3D first-person +shooter game which outclassed any 3D world games that preceded +it, with amazing speed, flexibility, and outstanding gameplay. -prboom is an open-source port of Doom, the classic 3D first-person -shooter game. It totally outclassed any 3D world games that preceded -it, with amazing speed, flexibility, and outstanding gameplay. The -specs to the game were released, and thousands of extra levels were -written by fans of the game; even today new levels are written for -Doom faster then any one person could play them. - -The target of the prboom-plus project is to extend the original port -with features that are necessary or useful to the developers and all -those interested in their work. It is worth noting that all changes -introduced in no way break PrBoom's compatibility with the original -Doom/Doom2 engines, and it is possible to be confident this will -never happen in the future since compatibility is as important. +prboom(-plus) focuses heavily on retaining compatibility with the +original Doom engines, which plays a big role in demo recording and +playback. %prep -%setup -qn prboom2 +%setup -q %patch -P 1 -P 2 -P 3 -P 5 -P 6 -P 7 -P 8 -p1 %build -./bootstrap; # rpm has its own optimizations, so turn off shipped defaults -%configure --enable-gl --disable-cpu-opt --program-prefix='' \ - --with-waddir=%_datadir/doom --disable-dogs +%configure --enable-gl --disable-cpu-opt --program-prefix="" \ + --with-waddir="%_datadir/doom" --disable-dogs make %{?_smp_mflags} %install -b="%buildroot"; -make install DESTDIR="$b"; -# Will manually package docs (see %%files) -rm -Rf "$b/%_datadir/doc"; -mkdir -p "$b/%_bindir"; -mv "$b/%_prefix/games"/* "$b/%_bindir/"; -# Convenience symlink -ln -s prboom-plus "$b/%_bindir/prboom"; +%make_install gamesdir="%_bindir" + +# convenience symlink +ln -s prboom-plus "%buildroot/%_bindir/prboom" + +install -Dm0644 ICONS/prboom-plus.svg "%buildroot/%_datadir/icons/hicolor/scalable/apps/prboom-plus.svg" +install -Dm0644 ICONS/prboom-plus.desktop "%buildroot/%_datadir/applications/prboom-plus.desktop" + +install -Dm0644 ICONS/prboom-plus.bash "%buildroot/%_datadir/bash-completion/completions/prboom-plus.bash" %post -echo "INFO: %name: The global IWAD directory is %_datadir/doom."; +%desktop_database_post +%icon_theme_cache_post + +%postun +%desktop_database_postun +%icon_theme_cache_postun %files %defattr(-,root,root) -%doc NEWS AUTHORS README -%doc doc/MBF.txt doc/MBFFAQ.txt doc/README.compat doc/README.demos doc/boom.txt %_bindir/* -%_datadir/doom +%_datadir/doom/ +%_datadir/doc/%name-%version/ %_mandir/*/* +%_datadir/applications/prboom-plus.desktop +%_datadir/icons/hicolor/scalable/apps/prboom-plus.svg +%_datadir/bash-completion/ %changelog