diff --git a/0001-fix-heap-buffer-overflows-in-UDP-code-CVE-2019-20797.patch b/0001-fix-heap-buffer-overflows-in-UDP-code-CVE-2019-20797.patch deleted file mode 100644 index 5a5d37d..0000000 --- a/0001-fix-heap-buffer-overflows-in-UDP-code-CVE-2019-20797.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 1a081d10e6c71a5b5b2db76081227677f06b47b3 Mon Sep 17 00:00:00 2001 -From: Fabian Greffrath -Date: Mon, 1 Jun 2020 09:53:23 +0200 -Subject: [PATCH] fix heap buffer overflows in UDP code (CVE-2019-20797) (#85) -Origin: https://github.com/coelckers/prboom-plus - -* fix heap buffer overflows in UDP code (CVE-2019-20797) - -* Limit length of buffer passed over to ChecksumPacket(). - Patch taken from the OP at https://logicaltrust.net/blog/2019/10/prboom1.html - -* Never send more than one second worth of tics (i.e. 35) in both the - main() routine in d_server.c and NetUpdate() in d_client.c. - This avoids overflows of the allocated UDF buffer with a fixed size - of 10000 bytes. Theoretically, up to about 35 seconds could be sent in the - client code and up to about 7 seconds in the server code, but the - network game would be unplayable with such a lag anyway. - - Client code: pkt_size = 8 + 2 + X * 8 (= 9810 for X = 35*35) - Server code: pkt_size = 8 + 1 + X * (1 + 4 * (1 + 8)) (= 9074 for X = 7 * 35) - -Fixes: #84 - -* limit number of sent tics to 128 - -* fix brain bug ---- - src/SDL/i_network.c | 2 +- - src/d_client.c | 2 +- - src/d_server.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/SDL/i_network.c b/src/SDL/i_network.c -index 89edab78..7e02706a 100644 ---- a/src/SDL/i_network.c -+++ b/src/SDL/i_network.c -@@ -240,7 +240,7 @@ size_t I_GetPacket(packet_header_t* buffer, size_t buflen) - checksum=buffer->checksum; - buffer->checksum=0; - if ( (status!=0) && (len>0)) { -- byte psum = ChecksumPacket(buffer, udp_packet->len); -+ byte psum = ChecksumPacket(buffer, len); // https://logicaltrust.net/blog/2019/10/prboom1.html - /* fprintf(stderr, "recvlen = %u, stolen = %u, csum = %u, psum = %u\n", - udp_packet->len, len, checksum, psum); */ - if (psum == checksum) return len; -diff --git a/src/d_client.c b/src/d_client.c -index 7ce74d4e..054bc595 100644 ---- a/src/d_client.c -+++ b/src/d_client.c -@@ -351,7 +351,7 @@ void NetUpdate(void) - int sendtics; - remotesend -= xtratics; - if (remotesend < 0) remotesend = 0; -- sendtics = maketic - remotesend; -+ sendtics = MIN(maketic - remotesend, 128); // limit number of sent tics (CVE-2019-20797) - { - size_t pkt_size = sizeof(packet_header_t) + 2 + sendtics * sizeof(ticcmd_t); - packet_header_t *packet = Z_Malloc(pkt_size, PU_STATIC, NULL); -diff --git a/src/d_server.c b/src/d_server.c -index 1269a861..39c2e3cd 100644 ---- a/src/d_server.c -+++ b/src/d_server.c -@@ -682,7 +682,7 @@ int main(int argc, char** argv) - int tics; - if (lowtic <= remoteticto[i]) continue; - if ((remoteticto[i] -= xtratics) < 0) remoteticto[i] = 0; -- tics = lowtic - remoteticto[i]; -+ tics = MIN(lowtic - remoteticto[i], 128); // limit number of sent tics (CVE-2019-20797) - { - byte *p; - packet = malloc(sizeof(packet_header_t) + 1 + --- -2.26.2 - diff --git a/_service b/_service index 96cb30b..60d4619 100644 --- a/_service +++ b/_service @@ -1,10 +1,11 @@ - svn - https://svn.prboom.org/repos/branches/prboom-plus-24/prboom2 + git + https://github.com/coelckers/prboom-plus data/sounds/dsdg* data/sprites/dogs* - 2.5.1.5+svn%r + 07925d634cc4d5a8847f76ca4c4f2ce236ba6de8 + 2.6um+g@TAG_OFFSET@ *.tar diff --git a/prboom-enable-tessellation.diff b/prboom-enable-tessellation.diff index 0fa15ce..8d41ffc 100644 --- a/prboom-enable-tessellation.diff +++ b/prboom-enable-tessellation.diff @@ -1,20 +1,20 @@ -Date: 2011-08-03 18:36:44+0200 +From 6f50776b2c6365671fe53bdfc4bc9ffa622f1e06 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt -Upstream: sent +Date: Wed, 3 Aug 2011 18:36:44 +0200 +Subject: [PATCH 1/4] Unconditionally enable GL tesselation Always do tesselation, because otherwise, map hacks like self-referencing sectors (cf. http://doom.wikia.com/wiki/Making_a_self-referencing_sector) will not be rendered. - --- - src/gl_main.c | 3 +++ + prboom2/src/gl_main.c | 3 +++ 1 file changed, 3 insertions(+) -Index: prboom-plus-2.5.1.4/src/gl_main.c -=================================================================== ---- prboom-plus-2.5.1.4.orig/src/gl_main.c -+++ prboom-plus-2.5.1.4/src/gl_main.c +diff --git prboom2/src/gl_main.c prboom2/src/gl_main.c +index 20712b7e..8fbceb4f 100644 +--- prboom2/src/gl_main.c ++++ prboom2/src/gl_main.c @@ -36,6 +36,9 @@ #ifdef HAVE_CONFIG_H #include "config.h" @@ -25,3 +25,6 @@ Index: prboom-plus-2.5.1.4/src/gl_main.c #include "gl_opengl.h" +-- +2.30.2 + diff --git a/prboom-hbar-all.diff b/prboom-hbar-all.diff index 3f9a7fd..ffe1090 100644 --- a/prboom-hbar-all.diff +++ b/prboom-hbar-all.diff @@ -1,20 +1,19 @@ +From 814146aab795b0c2d693e03027993d91c9db6f3e Mon Sep 17 00:00:00 2001 From: Jan Engelhardt -Date: 2013-05-01 09:53:49.000000000 +0200 -Category: improvement -Status: sent Wed, 1 May 2013 14:28:44 +0200 - -Show the health bar for all destructible items (including -barrels and Lost Souls). +Date: Wed, 1 May 2013 09:53:49 +0200 +Subject: [PATCH 3/4] Show health bar for all destructible mobjs +Show the health bar for all destructible items, especially so +including barrels and Lost Souls. --- - src/gl_main.c | 3 ++- + prboom2/src/gl_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -Index: prboom2/src/gl_main.c -=================================================================== ---- prboom2.orig/src/gl_main.c +diff --git prboom2/src/gl_main.c prboom2/src/gl_main.c +index 8fbceb4f..0a52a0b5 100644 +--- prboom2/src/gl_main.c +++ prboom2/src/gl_main.c -@@ -2399,7 +2399,8 @@ static void gld_DrawSprite(GLSprite *spr +@@ -2331,7 +2331,8 @@ static void gld_DrawSprite(GLSprite *sprite) static void gld_AddHealthBar(mobj_t* thing, GLSprite *sprite) { @@ -24,3 +23,6 @@ Index: prboom2/src/gl_main.c { GLHealthBar hbar; int health_percent = thing->health * 100 / thing->info->spawnhealth; +-- +2.30.2 + diff --git a/prboom-hbar-color.diff b/prboom-hbar-color.diff index 7a1aff9..1d8aeed 100644 --- a/prboom-hbar-color.diff +++ b/prboom-hbar-color.diff @@ -1,20 +1,19 @@ +From ebebaebb619ef64d4243eb5066fa0b786b42a951 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt -Date: 2013-05-01 09:42:45.000000000 +0200 -Category: improvement -Status: sent Wed, 1 May 2013 14:28:44 +0200 +Date: Wed, 1 May 2013 09:42:45 +0200 +Subject: [PATCH 2/4] Redistribute health bar colors With the current value of health_hbar_green=0, green will never be shown for monsters, which feels incorrect. - --- - src/m_misc.c | 6 +++--- + prboom2/src/m_misc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -Index: prboom2/src/m_misc.c -=================================================================== ---- prboom2.orig/src/m_misc.c +diff --git prboom2/src/m_misc.c prboom2/src/m_misc.c +index 0bf3f5b9..c83f23df 100644 +--- prboom2/src/m_misc.c +++ prboom2/src/m_misc.c -@@ -953,11 +953,11 @@ default_t defaults[] = +@@ -1045,11 +1045,11 @@ default_t defaults[] = def_bool,ss_stat}, {"health_bar_full_length", {&health_bar_full_length}, {1},0,1, def_bool,ss_stat}, @@ -27,5 +26,8 @@ Index: prboom2/src/m_misc.c - {"health_bar_green", {&health_bar_green}, {0},0,100, + {"health_bar_green", {&health_bar_green}, {99},0,100, def_int,ss_stat}, - #endif + // NSM +-- +2.30.2 + diff --git a/prboom-hbar-gradient.diff b/prboom-hbar-gradient.diff index 0b959df..a66fda5 100644 --- a/prboom-hbar-gradient.diff +++ b/prboom-hbar-gradient.diff @@ -1,38 +1,18 @@ +From be6b2259e2a150e6713d79574c2f64eaf7a25bd8 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt -Date: 2013-05-01 14:27:39.000000000 +0200 -Category: improvement -Status: sent Wed, 1 May 2013 14:28:44 +0200 - -This makes the health bar above shootables use gradiented color. +Date: Wed, 1 May 2013 14:27:39 +0200 +Subject: [PATCH 4/4] Make the health bar gradually change from green to red --- - src/gl_drawinfo.c | 4 ++-- - src/gl_intern.h | 2 +- - src/gl_main.c | 44 +++++++++++++++++--------------------------- - 3 files changed, 20 insertions(+), 30 deletions(-) + prboom2/src/gl_intern.h | 2 +- + prboom2/src/gl_main.c | 44 ++++++++++++++++------------------------- + 2 files changed, 18 insertions(+), 28 deletions(-) -Index: prboom-plus-2.5.1.4/src/gl_drawinfo.c -=================================================================== ---- 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; -+ unsigned int itemsize = 0; - byte *item_p = NULL; - -- static int itemsizes[GLDIT_TYPES] = { -+ static const unsigned int itemsizes[GLDIT_TYPES] = { - 0, - 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 -=================================================================== ---- 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 +diff --git prboom2/src/gl_intern.h prboom2/src/gl_intern.h +index b4be8d56..8c44d9a7 100644 +--- prboom2/src/gl_intern.h ++++ prboom2/src/gl_intern.h +@@ -219,7 +219,7 @@ typedef struct typedef struct { @@ -41,11 +21,11 @@ Index: prboom-plus-2.5.1.4/src/gl_intern.h float x1, x2, x3; float z1, z2, z3; -Index: prboom-plus-2.5.1.4/src/gl_main.c -=================================================================== ---- 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 +diff --git prboom2/src/gl_main.c prboom2/src/gl_main.c +index 0a52a0b5..4f42ec46 100644 +--- prboom2/src/gl_main.c ++++ prboom2/src/gl_main.c +@@ -2337,15 +2337,20 @@ static void gld_AddHealthBar(mobj_t* thing, GLSprite *sprite) GLHealthBar hbar; int health_percent = thing->health * 100 / thing->info->spawnhealth; @@ -74,7 +54,7 @@ Index: prboom-plus-2.5.1.4/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; -@@ -2371,7 +2376,6 @@ static void gld_AddHealthBar(mobj_t* thi +@@ -2369,7 +2374,6 @@ static void gld_AddHealthBar(mobj_t* thing, GLSprite *sprite) static void gld_DrawHealthBars(void) { int i, count; @@ -82,7 +62,7 @@ Index: prboom-plus-2.5.1.4/src/gl_main.c count = gld_drawinfo.num_items[GLDIT_HBAR]; if (count > 0) -@@ -2382,31 +2386,17 @@ static void gld_DrawHealthBars(void) +@@ -2380,31 +2384,17 @@ static void gld_DrawHealthBars(void) for (i = count - 1; i >= 0; i--) { GLHealthBar *hbar = gld_drawinfo.items[GLDIT_HBAR][i].item.hbar; @@ -118,3 +98,6 @@ Index: prboom-plus-2.5.1.4/src/gl_main.c gld_EnableTexture2D(GL_TEXTURE0_ARB, true); } } +-- +2.30.2 + diff --git a/prboom-nodatetime.diff b/prboom-nodatetime.diff index f6860fb..a4e7d3e 100644 --- a/prboom-nodatetime.diff +++ b/prboom-nodatetime.diff @@ -1,14 +1,16 @@ +From 2bf8068e0cd916b39fd2c57f3c9bf582b0fc45d8 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt -Date: 2012-02-19 07:16:45.000000000 +0100 +Date: Sun, 19 Feb 2012 07:16:45 +0100 +Subject: [PATCH] Drop __DATE__/__TIME__ / enable reproducible builds --- - src/version.c | 4 ++-- + prboom2/src/version.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: prboom2-2.5.1.5+svn4532/src/version.c -=================================================================== ---- prboom2-2.5.1.5+svn4532.orig/src/version.c -+++ prboom2-2.5.1.5+svn4532/src/version.c +diff --git prboom2/src/version.c prboom2/src/version.c +index 1f5401f2..2cc173f6 100644 +--- prboom2/src/version.c ++++ prboom2/src/version.c @@ -37,11 +37,11 @@ #include "version.h" @@ -23,3 +25,6 @@ Index: prboom2-2.5.1.5+svn4532/src/version.c #endif const char version_date[] = BUILD_DATE " " BUILD_TIME; +-- +2.30.2 + diff --git a/prboom-plus-2.6um+g69.tar.xz b/prboom-plus-2.6um+g69.tar.xz new file mode 100644 index 0000000..34c1a61 --- /dev/null +++ b/prboom-plus-2.6um+g69.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:314b5bd0e770cdc51f3d0cd1967bce3087776f74293bee7c049d684dd121f73d +size 1130204 diff --git a/prboom-plus.changes b/prboom-plus.changes index 8ae9b2b..3cd8d2d 100644 --- a/prboom-plus.changes +++ b/prboom-plus.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Fri Apr 9 23:53:06 UTC 2021 - Jan Engelhardt + +- Switch to Oelcker's prboom-plus-um code base +- Update to release 2.6(um) + * Support for UMAPINFO lump, customizable intermissions, + customizable episode menu. + * Support for compressed ZDoom nodes. + * 100 extra sprites (SP00..SP99) for use in DEH/BEX. + * 200 extra sounds for use in DEH/BEX. + * Add -statdump parameter from Chocolate Doom. + * Add -stroller parameter. + * Now defaults to ffmpeg for video encoding + (switched from oggenc2/x264). + * Added new BEX property "Dropped item" for mobjs. + * New demo format with "PR+UM" signature. + * Add a "-pistolstart" command line parameter. + * Add ALSA sequencer API backend for ALSA MIDI support. +- Drop 0001-fix-heap-buffer-overflows-in-UDP-code-CVE-2019-20797.patch + (merged), prboom-types1.diff (obsolete), + prboom-types2.diff (obsolete) + ------------------------------------------------------------------- Tue Jun 9 20:32:48 UTC 2020 - Jan Engelhardt diff --git a/prboom-plus.spec b/prboom-plus.spec index db62013..a39304c 100644 --- a/prboom-plus.spec +++ b/prboom-plus.spec @@ -1,7 +1,7 @@ # # spec file for package prboom-plus # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,44 +17,37 @@ Name: prboom-plus -Version: 2.5.1.5+svn4532 +Version: 2.6um+g69 Release: 0 Summary: DOOM source port with demo compatibility License: GPL-2.0-or-later Group: Amusements/Games/3D/Shoot URL: http://prboom-plus.sf.net/ -#SVN-Clone: https://svn.prboom.org/repos/branches/prboom-plus-24/prboom2 -#Sibling-Prj: https://github.com/coelckers/prboom-plus (umapinfo fork) -#DL-URL: http://downloads.sf.net/prboom-plus/prboom-plus-2.5.1.4.tar.gz -Source: prboom2-%version.tar.xz +#Git-Clone: https://github.com/coelckers/prboom-plus +Source: %name-%version.tar.xz Patch1: prboom-nodatetime.diff -Patch2: prboom-types1.diff -Patch3: prboom-types2.diff Patch5: prboom-enable-tessellation.diff Patch6: prboom-hbar-color.diff Patch7: prboom-hbar-all.diff Patch8: prboom-hbar-gradient.diff -Patch9: 0001-fix-heap-buffer-overflows-in-UDP-code-CVE-2019-20797.patch BuildRequires: Mesa-devel -BuildRequires: automake +BuildRequires: c++_compiler +BuildRequires: cmake BuildRequires: fluidsynth-devel BuildRequires: hicolor-icon-theme BuildRequires: libpng-devel BuildRequires: libvorbis-devel BuildRequires: pcre-devel +BuildRequires: portmidi-devel +BuildRequires: update-desktop-files BuildRequires: pkgconfig(SDL2_image) BuildRequires: pkgconfig(SDL2_mixer) BuildRequires: pkgconfig(SDL2_net) BuildRequires: pkgconfig(sdl2) -%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 -BuildRoot: %{_tmppath}/%{name}-%{version}-build +Provides: prboom = 2.6um +Obsoletes: prboom <= 2.6 %description PrBoom+ is a conservative Doom source port. It features: @@ -72,26 +65,24 @@ PrBoom+ is a conservative Doom source port. It features: mode. %prep -%autosetup -p1 -n prboom2-%version +%autosetup -p0 %build -cp -alv data/sounds/free/*.wav data/sounds/ -cp -alv data/sprites/free/* data/sprites/ -autoreconf -fi -# rpm has its own optimizations, so turn off shipped defaults -%configure --enable-gl --disable-cpu-opt --program-prefix="" \ - --with-waddir="%_datadir/doom" --disable-dogs CFLAGS="%optflags -fcommon" -make %{?_smp_mflags} +pushd prboom2/ +%cmake -DDOOMWADDIR="%_datadir/doom" +%cmake_build +popd %install -b="%buildroot" -%make_install gamesdir="%_bindir" - +pushd prboom2/ +%cmake_install # convenience symlink -ln -s prboom-plus "%buildroot/%_bindir/prboom" +b="%buildroot" +ln -s prboom-plus "$b/%_bindir/prboom" install -Dm0644 ICONS/prboom-plus.svg "$b/%_datadir/icons/hicolor/scalable/apps/prboom-plus.svg" install -Dm0644 ICONS/prboom-plus.desktop "$b/%_datadir/applications/prboom-plus.desktop" install -Dm0644 ICONS/prboom-plus.bash "$b/%_datadir/bash-completion/completions/prboom-plus.bash" +popd %if 0%{?suse_version} && 0%{?suse_version} < 1550 %post diff --git a/prboom-types1.diff b/prboom-types1.diff deleted file mode 100644 index 5e8b7ac..0000000 --- a/prboom-types1.diff +++ /dev/null @@ -1,29 +0,0 @@ -From: Jan Engelhardt - -build: fix compiler warnings - -oplplayer.c:1347:9: warning: format '%i' expects type 'int', but -argument 3 has type 'size_t' -gl_main.c:1307:5: warning: format '%i' expects type 'int', but -argument 3 has type 'long int' - -size_t requires %z; the second instance actually has type ptrdiff_t, -so %t is required. - ---- - src/MUSIC/oplplayer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: prboom-plus-2.5.1.3/src/MUSIC/oplplayer.c -=================================================================== ---- prboom-plus-2.5.1.3.orig/src/MUSIC/oplplayer.c -+++ prboom-plus-2.5.1.3/src/MUSIC/oplplayer.c -@@ -1356,7 +1356,7 @@ static const void *I_OPL_RegisterSong(co - // time numbers we have to traverse the tracks and everything - if (mf.len < 100) - { -- lprintf (LO_WARN, "I_OPL_RegisterSong: Very short MIDI (%i bytes)\n", mf.len); -+ lprintf (LO_WARN, "I_OPL_RegisterSong: Very short MIDI (%zu bytes)\n", mf.len); - return NULL; - } - diff --git a/prboom-types2.diff b/prboom-types2.diff deleted file mode 100644 index 92bd069..0000000 --- a/prboom-types2.diff +++ /dev/null @@ -1,194 +0,0 @@ -From: Jan Engelhardt - -build: fix compiler warnings about casting across different-size types - -p_saveg.c: In function 'P_ArchivePlayers': -p_saveg.c:66:9: warning: cast from pointer to integer of different size -[...] - ---- - src/g_overflow.c | 3 ++- - src/p_saveg.c | 31 ++++++++++++++++--------------- - src/r_drawflush.inl | 4 +++- - 3 files changed, 21 insertions(+), 17 deletions(-) - -Index: prboom2/src/g_overflow.c -=================================================================== ---- prboom2.orig/src/g_overflow.c -+++ prboom2/src/g_overflow.c -@@ -35,6 +35,7 @@ - #include "config.h" - #endif - -+#include - #include - #include - -@@ -170,7 +171,7 @@ void InterceptsOverrun(int num_intercept - - InterceptsMemoryOverrun(location, intercept->frac); - InterceptsMemoryOverrun(location + 4, intercept->isaline); -- InterceptsMemoryOverrun(location + 8, (int) intercept->d.thing); -+ InterceptsMemoryOverrun(location + 8, (uintptr_t) intercept->d.thing); - } - } - } -Index: prboom2/src/p_saveg.c -=================================================================== ---- prboom2.orig/src/p_saveg.c -+++ prboom2/src/p_saveg.c -@@ -31,6 +31,7 @@ - * - *-----------------------------------------------------------------------------*/ - -+#include - #include "doomstat.h" - #include "r_main.h" - #include "p_maputl.h" -@@ -48,7 +49,7 @@ byte *save_p; - - // Pads save_p to a 4-byte boundary - // so that the load/save works on SGI&Gecko. --#define PADSAVEP() do { save_p += (4 - ((int) save_p & 3)) & 3; } while (0) -+#define PADSAVEP() do { save_p += (4 - ((uintptr_t) save_p & 3)) & 3; } while (0) - // - // P_ArchivePlayers - // -@@ -99,7 +100,7 @@ void P_UnArchivePlayers (void) - for (j=0 ; jnext) - if (th->function == P_MobjThinker) -- th->prev = (thinker_t *) ++number_of_thinkers; -+ th->prev = (thinker_t *)(uintptr_t) ++number_of_thinkers; - } - - // phares 9/13/98: Moved this code outside of P_ArchiveThinkers so the -@@ -474,10 +475,10 @@ void P_UnArchiveThinkers (void) - memcpy (mobj, save_p, sizeof(mobj_t)); - save_p += sizeof(mobj_t); - -- mobj->state = states + (int) mobj->state; -+ mobj->state = states + (uintptr_t) mobj->state; - - if (mobj->player) -- (mobj->player = &players[(int) mobj->player - 1]) -> mo = mobj; -+ (mobj->player = &players[(uintptr_t) mobj->player - 1]) -> mo = mobj; - - P_SetThingPosition (mobj); - mobj->info = &mobjinfo[mobj->type]; -@@ -799,7 +800,7 @@ void P_UnArchiveSpecials (void) - ceiling_t *ceiling = Z_Malloc (sizeof(*ceiling), PU_LEVEL, NULL); - memcpy (ceiling, save_p, sizeof(*ceiling)); - save_p += sizeof(*ceiling); -- ceiling->sector = §ors[(int)ceiling->sector]; -+ ceiling->sector = §ors[(uintptr_t)ceiling->sector]; - ceiling->sector->ceilingdata = ceiling; //jff 2/22/98 - - if (ceiling->thinker.function) -@@ -816,10 +817,10 @@ void P_UnArchiveSpecials (void) - vldoor_t *door = Z_Malloc (sizeof(*door), PU_LEVEL, NULL); - memcpy (door, save_p, sizeof(*door)); - save_p += sizeof(*door); -- door->sector = §ors[(int)door->sector]; -+ door->sector = §ors[(uintptr_t)door->sector]; - - //jff 1/31/98 unarchive line remembered by door as well -- door->line = (int)door->line!=-1? &lines[(int)door->line] : NULL; -+ door->line = (uintptr_t)door->line!=-1? &lines[(uintptr_t)door->line] : NULL; - - door->sector->ceilingdata = door; //jff 2/22/98 - door->thinker.function = T_VerticalDoor; -@@ -833,7 +834,7 @@ void P_UnArchiveSpecials (void) - floormove_t *floor = Z_Malloc (sizeof(*floor), PU_LEVEL, NULL); - memcpy (floor, save_p, sizeof(*floor)); - save_p += sizeof(*floor); -- floor->sector = §ors[(int)floor->sector]; -+ floor->sector = §ors[(uintptr_t)floor->sector]; - floor->sector->floordata = floor; //jff 2/22/98 - floor->thinker.function = T_MoveFloor; - P_AddThinker (&floor->thinker); -@@ -846,7 +847,7 @@ void P_UnArchiveSpecials (void) - plat_t *plat = Z_Malloc (sizeof(*plat), PU_LEVEL, NULL); - memcpy (plat, save_p, sizeof(*plat)); - save_p += sizeof(*plat); -- plat->sector = §ors[(int)plat->sector]; -+ plat->sector = §ors[(uintptr_t)plat->sector]; - plat->sector->floordata = plat; //jff 2/22/98 - - if (plat->thinker.function) -@@ -863,7 +864,7 @@ void P_UnArchiveSpecials (void) - lightflash_t *flash = Z_Malloc (sizeof(*flash), PU_LEVEL, NULL); - memcpy (flash, save_p, sizeof(*flash)); - save_p += sizeof(*flash); -- flash->sector = §ors[(int)flash->sector]; -+ flash->sector = §ors[(uintptr_t)flash->sector]; - flash->thinker.function = T_LightFlash; - P_AddThinker (&flash->thinker); - break; -@@ -875,7 +876,7 @@ void P_UnArchiveSpecials (void) - strobe_t *strobe = Z_Malloc (sizeof(*strobe), PU_LEVEL, NULL); - memcpy (strobe, save_p, sizeof(*strobe)); - save_p += sizeof(*strobe); -- strobe->sector = §ors[(int)strobe->sector]; -+ strobe->sector = §ors[(uintptr_t)strobe->sector]; - strobe->thinker.function = T_StrobeFlash; - P_AddThinker (&strobe->thinker); - break; -@@ -887,7 +888,7 @@ void P_UnArchiveSpecials (void) - glow_t *glow = Z_Malloc (sizeof(*glow), PU_LEVEL, NULL); - memcpy (glow, save_p, sizeof(*glow)); - save_p += sizeof(*glow); -- glow->sector = §ors[(int)glow->sector]; -+ glow->sector = §ors[(uintptr_t)glow->sector]; - glow->thinker.function = T_Glow; - P_AddThinker (&glow->thinker); - break; -@@ -899,7 +900,7 @@ void P_UnArchiveSpecials (void) - fireflicker_t *flicker = Z_Malloc (sizeof(*flicker), PU_LEVEL, NULL); - memcpy (flicker, save_p, sizeof(*flicker)); - save_p += sizeof(*flicker); -- flicker->sector = §ors[(int)flicker->sector]; -+ flicker->sector = §ors[(uintptr_t)flicker->sector]; - flicker->thinker.function = T_FireFlicker; - P_AddThinker (&flicker->thinker); - break; -@@ -912,7 +913,7 @@ void P_UnArchiveSpecials (void) - elevator_t *elevator = Z_Malloc (sizeof(*elevator), PU_LEVEL, NULL); - memcpy (elevator, save_p, sizeof(*elevator)); - save_p += sizeof(*elevator); -- elevator->sector = §ors[(int)elevator->sector]; -+ elevator->sector = §ors[(uintptr_t)elevator->sector]; - elevator->sector->floordata = elevator; //jff 2/22/98 - elevator->sector->ceilingdata = elevator; //jff 2/22/98 - elevator->thinker.function = T_MoveElevator; -Index: prboom2/src/r_drawflush.inl -=================================================================== ---- prboom2.orig/src/r_drawflush.inl -+++ prboom2/src/r_drawflush.inl -@@ -28,6 +28,8 @@ - * - *-----------------------------------------------------------------------------*/ - -+#include -+ - #if (R_DRAWCOLUMN_PIPELINE_BITS == 8) - #define SCREENTYPE byte - #define TOPLEFT byte_topleft -@@ -250,7 +252,7 @@ static void R_FLUSHQUAD_FUNCNAME(void) - } - #else - #if (R_DRAWCOLUMN_PIPELINE_BITS == 8) -- if ((sizeof(int) == 4) && (((int)source % 4) == 0) && (((int)dest % 4) == 0)) { -+ if ((sizeof(int) == 4) && (((uintptr_t)source % 4) == 0) && (((uintptr_t)dest % 4) == 0)) { - while(--count >= 0) - { - *(int *)dest = *(int *)source; diff --git a/prboom2-2.5.1.5+svn4532.tar.xz b/prboom2-2.5.1.5+svn4532.tar.xz deleted file mode 100644 index 2d2d5a0..0000000 --- a/prboom2-2.5.1.5+svn4532.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:faebc9ebee10d34ab862d155eb3dd1e0764b168a09a4389bb10acc9d5f35f527 -size 1684780