- 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>
|
<services>
|
||||||
<service name="tar_scm" mode="disabled">
|
<service name="tar_scm" mode="disabled">
|
||||||
<param name="scm">svn</param>
|
<param name="scm">git</param>
|
||||||
<param name="url">https://svn.prboom.org/repos/branches/prboom-plus-24/prboom2</param>
|
<param name="url">https://github.com/coelckers/prboom-plus</param>
|
||||||
<param name="exclude">data/sounds/dsdg*</param>
|
<param name="exclude">data/sounds/dsdg*</param>
|
||||||
<param name="exclude">data/sprites/dogs*</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>
|
||||||
<service name="recompress" mode="disabled">
|
<service name="recompress" mode="disabled">
|
||||||
<param name="file">*.tar</param>
|
<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>
|
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
|
Always do tesselation, because otherwise, map hacks like
|
||||||
self-referencing sectors (cf.
|
self-referencing sectors (cf.
|
||||||
http://doom.wikia.com/wiki/Making_a_self-referencing_sector) will not
|
http://doom.wikia.com/wiki/Making_a_self-referencing_sector) will not
|
||||||
be rendered.
|
be rendered.
|
||||||
|
|
||||||
---
|
---
|
||||||
src/gl_main.c | 3 +++
|
prboom2/src/gl_main.c | 3 +++
|
||||||
1 file changed, 3 insertions(+)
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
Index: 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
|
||||||
--- prboom-plus-2.5.1.4.orig/src/gl_main.c
|
--- prboom2/src/gl_main.c
|
||||||
+++ prboom-plus-2.5.1.4/src/gl_main.c
|
+++ prboom2/src/gl_main.c
|
||||||
@@ -36,6 +36,9 @@
|
@@ -36,6 +36,9 @@
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -25,3 +25,6 @@ Index: prboom-plus-2.5.1.4/src/gl_main.c
|
|||||||
|
|
||||||
#include "gl_opengl.h"
|
#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>
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
Date: 2013-05-01 09:53:49.000000000 +0200
|
Date: Wed, 1 May 2013 09:53:49 +0200
|
||||||
Category: improvement
|
Subject: [PATCH 3/4] Show health bar for all destructible mobjs
|
||||||
Status: sent Wed, 1 May 2013 14:28:44 +0200
|
|
||||||
|
|
||||||
Show the health bar for all destructible items (including
|
|
||||||
barrels and Lost Souls).
|
|
||||||
|
|
||||||
|
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(-)
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
Index: prboom2/src/gl_main.c
|
diff --git prboom2/src/gl_main.c prboom2/src/gl_main.c
|
||||||
===================================================================
|
index 8fbceb4f..0a52a0b5 100644
|
||||||
--- prboom2.orig/src/gl_main.c
|
--- prboom2/src/gl_main.c
|
||||||
+++ 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)
|
static void gld_AddHealthBar(mobj_t* thing, GLSprite *sprite)
|
||||||
{
|
{
|
||||||
@ -24,3 +23,6 @@ Index: prboom2/src/gl_main.c
|
|||||||
{
|
{
|
||||||
GLHealthBar hbar;
|
GLHealthBar hbar;
|
||||||
int health_percent = thing->health * 100 / thing->info->spawnhealth;
|
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>
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
Date: 2013-05-01 09:42:45.000000000 +0200
|
Date: Wed, 1 May 2013 09:42:45 +0200
|
||||||
Category: improvement
|
Subject: [PATCH 2/4] Redistribute health bar colors
|
||||||
Status: sent Wed, 1 May 2013 14:28:44 +0200
|
|
||||||
|
|
||||||
With the current value of health_hbar_green=0, green will never
|
With the current value of health_hbar_green=0, green will never
|
||||||
be shown for monsters, which feels incorrect.
|
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(-)
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
Index: prboom2/src/m_misc.c
|
diff --git prboom2/src/m_misc.c prboom2/src/m_misc.c
|
||||||
===================================================================
|
index 0bf3f5b9..c83f23df 100644
|
||||||
--- prboom2.orig/src/m_misc.c
|
--- prboom2/src/m_misc.c
|
||||||
+++ 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},
|
def_bool,ss_stat},
|
||||||
{"health_bar_full_length", {&health_bar_full_length}, {1},0,1,
|
{"health_bar_full_length", {&health_bar_full_length}, {1},0,1,
|
||||||
def_bool,ss_stat},
|
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}, {0},0,100,
|
||||||
+ {"health_bar_green", {&health_bar_green}, {99},0,100,
|
+ {"health_bar_green", {&health_bar_green}, {99},0,100,
|
||||||
def_int,ss_stat},
|
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>
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
Date: 2013-05-01 14:27:39.000000000 +0200
|
Date: Wed, 1 May 2013 14:27:39 +0200
|
||||||
Category: improvement
|
Subject: [PATCH 4/4] Make the health bar gradually change from green to red
|
||||||
Status: sent Wed, 1 May 2013 14:28:44 +0200
|
|
||||||
|
|
||||||
This makes the health bar above shootables use gradiented color.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
src/gl_drawinfo.c | 4 ++--
|
prboom2/src/gl_intern.h | 2 +-
|
||||||
src/gl_intern.h | 2 +-
|
prboom2/src/gl_main.c | 44 ++++++++++++++++-------------------------
|
||||||
src/gl_main.c | 44 +++++++++++++++++---------------------------
|
2 files changed, 18 insertions(+), 28 deletions(-)
|
||||||
3 files changed, 20 insertions(+), 30 deletions(-)
|
|
||||||
|
|
||||||
Index: prboom-plus-2.5.1.4/src/gl_drawinfo.c
|
diff --git prboom2/src/gl_intern.h prboom2/src/gl_intern.h
|
||||||
===================================================================
|
index b4be8d56..8c44d9a7 100644
|
||||||
--- prboom-plus-2.5.1.4.orig/src/gl_drawinfo.c
|
--- prboom2/src/gl_intern.h
|
||||||
+++ prboom-plus-2.5.1.4/src/gl_drawinfo.c
|
+++ prboom2/src/gl_intern.h
|
||||||
@@ -112,10 +112,10 @@ static void gld_AddDrawRange(int size)
|
@@ -219,7 +219,7 @@ typedef struct
|
||||||
#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
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -41,11 +21,11 @@ Index: prboom-plus-2.5.1.4/src/gl_intern.h
|
|||||||
|
|
||||||
float x1, x2, x3;
|
float x1, x2, x3;
|
||||||
float z1, z2, z3;
|
float z1, z2, z3;
|
||||||
Index: prboom-plus-2.5.1.4/src/gl_main.c
|
diff --git prboom2/src/gl_main.c prboom2/src/gl_main.c
|
||||||
===================================================================
|
index 0a52a0b5..4f42ec46 100644
|
||||||
--- prboom-plus-2.5.1.4.orig/src/gl_main.c
|
--- prboom2/src/gl_main.c
|
||||||
+++ prboom-plus-2.5.1.4/src/gl_main.c
|
+++ prboom2/src/gl_main.c
|
||||||
@@ -2339,15 +2339,20 @@ static void gld_AddHealthBar(mobj_t* thi
|
@@ -2337,15 +2337,20 @@ static void gld_AddHealthBar(mobj_t* thing, GLSprite *sprite)
|
||||||
GLHealthBar hbar;
|
GLHealthBar hbar;
|
||||||
int health_percent = thing->health * 100 / thing->info->spawnhealth;
|
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 sx2 = (float)thing->radius / 2.0f / MAP_SCALE;
|
||||||
float sx1 = sx2 - (float)health_percent * (float)thing->radius / 100.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)
|
static void gld_DrawHealthBars(void)
|
||||||
{
|
{
|
||||||
int i, count;
|
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];
|
count = gld_drawinfo.num_items[GLDIT_HBAR];
|
||||||
if (count > 0)
|
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--)
|
for (i = count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
GLHealthBar *hbar = gld_drawinfo.items[GLDIT_HBAR][i].item.hbar;
|
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);
|
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>
|
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(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
Index: prboom2-2.5.1.5+svn4532/src/version.c
|
diff --git prboom2/src/version.c prboom2/src/version.c
|
||||||
===================================================================
|
index 1f5401f2..2cc173f6 100644
|
||||||
--- prboom2-2.5.1.5+svn4532.orig/src/version.c
|
--- prboom2/src/version.c
|
||||||
+++ prboom2-2.5.1.5+svn4532/src/version.c
|
+++ prboom2/src/version.c
|
||||||
@@ -37,11 +37,11 @@
|
@@ -37,11 +37,11 @@
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
@ -23,3 +25,6 @@ Index: prboom2-2.5.1.5+svn4532/src/version.c
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char version_date[] = BUILD_DATE " " BUILD_TIME;
|
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>
|
Tue Jun 9 20:32:48 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package prboom-plus
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,44 +17,37 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: prboom-plus
|
Name: prboom-plus
|
||||||
Version: 2.5.1.5+svn4532
|
Version: 2.6um+g69
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: DOOM source port with demo compatibility
|
Summary: DOOM source port with demo compatibility
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
Group: Amusements/Games/3D/Shoot
|
Group: Amusements/Games/3D/Shoot
|
||||||
URL: http://prboom-plus.sf.net/
|
URL: http://prboom-plus.sf.net/
|
||||||
|
|
||||||
#SVN-Clone: https://svn.prboom.org/repos/branches/prboom-plus-24/prboom2
|
#Git-Clone: https://github.com/coelckers/prboom-plus
|
||||||
#Sibling-Prj: https://github.com/coelckers/prboom-plus (umapinfo fork)
|
Source: %name-%version.tar.xz
|
||||||
#DL-URL: http://downloads.sf.net/prboom-plus/prboom-plus-2.5.1.4.tar.gz
|
|
||||||
Source: prboom2-%version.tar.xz
|
|
||||||
Patch1: prboom-nodatetime.diff
|
Patch1: prboom-nodatetime.diff
|
||||||
Patch2: prboom-types1.diff
|
|
||||||
Patch3: prboom-types2.diff
|
|
||||||
Patch5: prboom-enable-tessellation.diff
|
Patch5: prboom-enable-tessellation.diff
|
||||||
Patch6: prboom-hbar-color.diff
|
Patch6: prboom-hbar-color.diff
|
||||||
Patch7: prboom-hbar-all.diff
|
Patch7: prboom-hbar-all.diff
|
||||||
Patch8: prboom-hbar-gradient.diff
|
Patch8: prboom-hbar-gradient.diff
|
||||||
Patch9: 0001-fix-heap-buffer-overflows-in-UDP-code-CVE-2019-20797.patch
|
|
||||||
BuildRequires: Mesa-devel
|
BuildRequires: Mesa-devel
|
||||||
BuildRequires: automake
|
BuildRequires: c++_compiler
|
||||||
|
BuildRequires: cmake
|
||||||
BuildRequires: fluidsynth-devel
|
BuildRequires: fluidsynth-devel
|
||||||
BuildRequires: hicolor-icon-theme
|
BuildRequires: hicolor-icon-theme
|
||||||
BuildRequires: libpng-devel
|
BuildRequires: libpng-devel
|
||||||
BuildRequires: libvorbis-devel
|
BuildRequires: libvorbis-devel
|
||||||
BuildRequires: pcre-devel
|
BuildRequires: pcre-devel
|
||||||
|
BuildRequires: portmidi-devel
|
||||||
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: pkgconfig(SDL2_image)
|
BuildRequires: pkgconfig(SDL2_image)
|
||||||
BuildRequires: pkgconfig(SDL2_mixer)
|
BuildRequires: pkgconfig(SDL2_mixer)
|
||||||
BuildRequires: pkgconfig(SDL2_net)
|
BuildRequires: pkgconfig(SDL2_net)
|
||||||
BuildRequires: pkgconfig(sdl2)
|
BuildRequires: pkgconfig(sdl2)
|
||||||
%if 0%{?suse_version} >= 1320
|
|
||||||
BuildRequires: portmidi-devel
|
|
||||||
%endif
|
|
||||||
BuildRequires: update-desktop-files
|
|
||||||
Suggests: freedoom
|
Suggests: freedoom
|
||||||
Provides: prboom = 2.5.0plus
|
Provides: prboom = 2.6um
|
||||||
Obsoletes: prboom <= 2.5.0
|
Obsoletes: prboom <= 2.6
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
PrBoom+ is a conservative Doom source port. It features:
|
PrBoom+ is a conservative Doom source port. It features:
|
||||||
@ -72,26 +65,24 @@ PrBoom+ is a conservative Doom source port. It features:
|
|||||||
mode.
|
mode.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n prboom2-%version
|
%autosetup -p0
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cp -alv data/sounds/free/*.wav data/sounds/
|
pushd prboom2/
|
||||||
cp -alv data/sprites/free/* data/sprites/
|
%cmake -DDOOMWADDIR="%_datadir/doom"
|
||||||
autoreconf -fi
|
%cmake_build
|
||||||
# rpm has its own optimizations, so turn off shipped defaults
|
popd
|
||||||
%configure --enable-gl --disable-cpu-opt --program-prefix="" \
|
|
||||||
--with-waddir="%_datadir/doom" --disable-dogs CFLAGS="%optflags -fcommon"
|
|
||||||
make %{?_smp_mflags}
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
b="%buildroot"
|
pushd prboom2/
|
||||||
%make_install gamesdir="%_bindir"
|
%cmake_install
|
||||||
|
|
||||||
# convenience symlink
|
# 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.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.desktop "$b/%_datadir/applications/prboom-plus.desktop"
|
||||||
install -Dm0644 ICONS/prboom-plus.bash "$b/%_datadir/bash-completion/completions/prboom-plus.bash"
|
install -Dm0644 ICONS/prboom-plus.bash "$b/%_datadir/bash-completion/completions/prboom-plus.bash"
|
||||||
|
popd
|
||||||
|
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} < 1550
|
%if 0%{?suse_version} && 0%{?suse_version} < 1550
|
||||||
%post
|
%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