- Update to release 2.6(um)
OBS-URL: https://build.opensuse.org/package/show/games/prboom-plus?expand=0&rev=36
This commit is contained in:
parent
cca12e01f6
commit
f16fbe1737
@ -1,74 +0,0 @@
|
||||
From 1a081d10e6c71a5b5b2db76081227677f06b47b3 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Greffrath <fabian@greffrath.com>
|
||||
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
|
||||
|
7
_service
7
_service
@ -1,10 +1,11 @@
|
||||
<services>
|
||||
<service name="tar_scm" mode="disabled">
|
||||
<param name="scm">svn</param>
|
||||
<param name="url">https://svn.prboom.org/repos/branches/prboom-plus-24/prboom2</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://github.com/coelckers/prboom-plus</param>
|
||||
<param name="exclude">data/sounds/dsdg*</param>
|
||||
<param name="exclude">data/sprites/dogs*</param>
|
||||
<param name="versionformat">2.5.1.5+svn%r</param>
|
||||
<param name="revision">07925d634cc4d5a8847f76ca4c4f2ce236ba6de8</param>
|
||||
<param name="versionformat">2.6um+g@TAG_OFFSET@</param>
|
||||
</service>
|
||||
<service name="recompress" mode="disabled">
|
||||
<param name="file">*.tar</param>
|
||||
|
@ -1,20 +1,20 @@
|
||||
Date: 2011-08-03 18:36:44+0200
|
||||
From 6f50776b2c6365671fe53bdfc4bc9ffa622f1e06 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
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
|
||||
|
||||
|
@ -1,20 +1,19 @@
|
||||
From 814146aab795b0c2d693e03027993d91c9db6f3e Mon Sep 17 00:00:00 2001
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
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
|
||||
|
||||
|
@ -1,20 +1,19 @@
|
||||
From ebebaebb619ef64d4243eb5066fa0b786b42a951 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
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
|
||||
|
||||
|
@ -1,38 +1,18 @@
|
||||
From be6b2259e2a150e6713d79574c2f64eaf7a25bd8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
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
|
||||
|
||||
|
@ -1,14 +1,16 @@
|
||||
From 2bf8068e0cd916b39fd2c57f3c9bf582b0fc45d8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
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
|
||||
|
||||
|
3
prboom-plus-2.6um+g69.tar.xz
Normal file
3
prboom-plus-2.6um+g69.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:314b5bd0e770cdc51f3d0cd1967bce3087776f74293bee7c049d684dd121f73d
|
||||
size 1130204
|
@ -1,3 +1,25 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 9 23:53:06 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- 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 <jengelh@inai.de>
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,29 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@medozas.de>
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -1,194 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@medozas.de>
|
||||
|
||||
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 <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
@@ -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 <stdint.h>
|
||||
#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 ; j<NUMPSPRITES ; j++)
|
||||
if (players[i]. psprites[j].state)
|
||||
players[i]. psprites[j].state =
|
||||
- &states[ (int)players[i].psprites[j].state ];
|
||||
+ &states[ (uintptr_t)players[i].psprites[j].state ];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,7 +280,7 @@ void P_ThinkerToIndex(void)
|
||||
number_of_thinkers = 0;
|
||||
for (th = thinkercap.next ; th != &thinkercap ; th=th->next)
|
||||
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 <stdint.h>
|
||||
+
|
||||
#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;
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:faebc9ebee10d34ab862d155eb3dd1e0764b168a09a4389bb10acc9d5f35f527
|
||||
size 1684780
|
Loading…
Reference in New Issue
Block a user