diff --git a/prboom-enable-tessellation.diff b/prboom-enable-tessellation.diff index a1fe732..c0c353e 100644 --- a/prboom-enable-tessellation.diff +++ b/prboom-enable-tessellation.diff @@ -1,5 +1,6 @@ Date: 2011-08-03 18:36:44+0200 -From: Jan Engelhardt +From: Jan Engelhardt +Upstream: sent Always do tesselation, because otherwise, map hacks like self-referencing sectors (cf. diff --git a/prboom-hbar-all.diff b/prboom-hbar-all.diff new file mode 100644 index 0000000..3f9a7fd --- /dev/null +++ b/prboom-hbar-all.diff @@ -0,0 +1,26 @@ +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). + +--- + src/gl_main.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: prboom2/src/gl_main.c +=================================================================== +--- prboom2.orig/src/gl_main.c ++++ prboom2/src/gl_main.c +@@ -2399,7 +2399,8 @@ static void gld_DrawSprite(GLSprite *spr + + static void gld_AddHealthBar(mobj_t* thing, GLSprite *sprite) + { +- if (((thing->flags & (MF_COUNTKILL | MF_CORPSE)) == MF_COUNTKILL) && (thing->health > 0)) ++ if ((thing->flags & MF_SHOOTABLE) && thing->info->spawnhealth > 0 && ++ thing->health > 0) + { + GLHealthBar hbar; + int health_percent = thing->health * 100 / thing->info->spawnhealth; diff --git a/prboom-hbar-color.diff b/prboom-hbar-color.diff new file mode 100644 index 0000000..7a1aff9 --- /dev/null +++ b/prboom-hbar-color.diff @@ -0,0 +1,31 @@ +From: Jan Engelhardt +Date: 2013-05-01 09:42:45.000000000 +0200 +Category: improvement +Status: sent Wed, 1 May 2013 14:28:44 +0200 + +With the current value of health_hbar_green=0, green will never +be shown for monsters, which feels incorrect. + +--- + src/m_misc.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: prboom2/src/m_misc.c +=================================================================== +--- prboom2.orig/src/m_misc.c ++++ prboom2/src/m_misc.c +@@ -953,11 +953,11 @@ default_t defaults[] = + def_bool,ss_stat}, + {"health_bar_full_length", {&health_bar_full_length}, {1},0,1, + def_bool,ss_stat}, +- {"health_bar_red", {&health_bar_red}, {50},0,100, ++ {"health_bar_red", {&health_bar_red}, {25},0,100, + def_int,ss_stat}, +- {"health_bar_yellow", {&health_bar_yellow}, {99},0,100, ++ {"health_bar_yellow", {&health_bar_yellow}, {50},0,100, + def_int,ss_stat}, +- {"health_bar_green", {&health_bar_green}, {0},0,100, ++ {"health_bar_green", {&health_bar_green}, {99},0,100, + def_int,ss_stat}, + #endif + diff --git a/prboom-hbar-gradient.diff b/prboom-hbar-gradient.diff new file mode 100644 index 0000000..b6fc33a --- /dev/null +++ b/prboom-hbar-gradient.diff @@ -0,0 +1,120 @@ +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. + +--- + src/gl_drawinfo.c | 4 ++-- + src/gl_intern.h | 2 +- + src/gl_main.c | 44 +++++++++++++++++--------------------------- + 3 files changed, 20 insertions(+), 30 deletions(-) + +Index: prboom2/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)) + 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, + sizeof(GLWall), sizeof(GLWall), sizeof(GLWall), sizeof(GLWall), sizeof(GLWall), + sizeof(GLWall), sizeof(GLWall), +Index: prboom2/src/gl_intern.h +=================================================================== +--- prboom2.orig/src/gl_intern.h ++++ prboom2/src/gl_intern.h +@@ -220,7 +220,7 @@ typedef struct + + typedef struct + { +- int cm; ++ float r,g; + + float x1, x2, x3; + float z1, z2, z3; +Index: prboom2/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 + GLHealthBar hbar; + int health_percent = thing->health * 100 / thing->info->spawnhealth; + +- hbar.cm = -1; +- if (health_percent <= health_bar_red) +- hbar.cm = CR_RED; +- else if (health_percent <= health_bar_yellow) +- hbar.cm = CR_YELLOW; +- else if (health_percent <= health_bar_green) +- hbar.cm = CR_GREEN; ++ if (health_percent <= health_bar_red) { ++ hbar.r = 1; ++ hbar.g = 0; ++ } else if (health_percent <= health_bar_yellow) { ++ hbar.r = 1; ++ hbar.g = (double)(health_percent - health_bar_red) / ++ (health_bar_yellow - health_bar_red); ++ } else if (health_percent <= health_bar_green) { ++ /* FullSimplify[1-((percent-yellow)/(green-yellow))] */ ++ hbar.r = (double)(health_bar_green - health_percent) / ++ (health_bar_green - health_bar_yellow); ++ hbar.g = 1; ++ } + +- if (hbar.cm >= 0) + { + 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 + static void gld_DrawHealthBars(void) + { + int i, count; +- int cm = -1; + + count = gld_drawinfo.num_items[GLDIT_HBAR]; + if (count > 0) +@@ -2448,31 +2452,17 @@ static void gld_DrawHealthBars(void) + for (i = count - 1; i >= 0; i--) + { + GLHealthBar *hbar = gld_drawinfo.items[GLDIT_HBAR][i].item.hbar; +- if (hbar->cm != cm) +- { +- cm = hbar->cm; +- glColor4f(cm2RGB[cm][0], cm2RGB[cm][1], cm2RGB[cm][2], 1.0f); +- } ++ glColor4f(hbar->r, hbar->g, 0, 1); + + glVertex3f(hbar->x1, hbar->y, hbar->z1); + glVertex3f(hbar->x2, hbar->y, hbar->z2); +- } +- glEnd(); +- +- if (health_bar_full_length) +- { +- glColor4f(0.5f, 0.5f, 0.5f, 1.0f); +- glBegin(GL_LINES); +- for (i = count - 1; i >= 0; i--) +- { +- GLHealthBar *hbar = gld_drawinfo.items[GLDIT_HBAR][i].item.hbar; +- ++ if (health_bar_full_length) { ++ glColor4f(0.5f, 0.5f, 0.5f, 1.0f); + glVertex3f(hbar->x1, hbar->y, hbar->z1); + glVertex3f(hbar->x3, hbar->y, hbar->z3); + } +- glEnd(); + } +- ++ glEnd(); + gld_EnableTexture2D(GL_TEXTURE0_ARB, true); + } + } diff --git a/prboom-nodatetime.diff b/prboom-nodatetime.diff index b596a2f..2f3a119 100644 --- a/prboom-nodatetime.diff +++ b/prboom-nodatetime.diff @@ -1,3 +1,6 @@ +From: Jan Engelhardt +Date: 2012-02-19 07:16:45.000000000 +0100 + --- src/version.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prboom-plus-2.5.1.3.tar.xz b/prboom-plus-2.5.1.3.tar.xz deleted file mode 100644 index f17e524..0000000 --- a/prboom-plus-2.5.1.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a66ea73a119c67b9a93b2b326d6bfa2879cb8e3f7dacc164d656fbd9fbd5f809 -size 1016920 diff --git a/prboom-plus-2.5.1.4~test4355.tar.xz b/prboom-plus-2.5.1.4~test4355.tar.xz new file mode 100644 index 0000000..ec3a5ff --- /dev/null +++ b/prboom-plus-2.5.1.4~test4355.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6d109705df868105df44a4fe7c30f7ffb33e8bcdd05f611e767f90c3628a41b +size 1202216 diff --git a/prboom-plus.changes b/prboom-plus.changes index dc438fa..4b91947 100644 --- a/prboom-plus.changes +++ b/prboom-plus.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Mon Nov 11 05:06:31 UTC 2013 - jengelh@inai.de + +- Update to snapshot 2.5.1.4 SVN4355 +* Added "Fix clipping problems in large levels" option. +* Added "gl_finish" config variable. +* Added a "Health Bar Above Monsters" option (health_bar* config + variables; GL only). +* Added a "Things appearance" automap option. Possible values: + "classic", "scaled" and "icons". +* Added "notarget" and "fly" cheat codes. +* Added MBF's "-beta" codepointers. +* Added a new HUD. +* Added "shaders" sector light mode. +* Support "Classic Doom" WAD files of Doom 3 BFG Edition and HACX + 1.2 IWAD +* Restricted mouse look (Heretic-style Y-shearing) now is available + in software mode. +* Added a crosshair. Three different crosshair graphics are for + choice: cross, angle and dot. Extra features are changing + crosshair colors according to the player's health and/or on sight + of a target. +* "Use GL surface for software mode" mode now works much faster if + gl_finish is 0 in config. +* Ability to use e.g. doom1.wad as a resource for a doom2 IWAD, + e.g. freedoom (prboom-plus -iwad freedoom.wad -file doom1.wad). + ------------------------------------------------------------------- Sun Mar 24 13:35:18 UTC 2013 - jengelh@inai.de diff --git a/prboom-plus.spec b/prboom-plus.spec index 235d595..c025e0e 100644 --- a/prboom-plus.spec +++ b/prboom-plus.spec @@ -17,13 +17,14 @@ Name: prboom-plus -Version: 2.5.1.3 +Version: 2.5.1.4~test4355 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/ +#SVN-Clone: http://crowproductions.de/repos/prboom/branches/prboom-plus-24/prboom2/ #Freecode-URL: http://freecode.com/projects/prboom-plus #DL-URL: http://downloads.sf.net/prboom-plus/prboom-plus-2.5.1.3.tar.gz Source: %name-%version.tar.xz @@ -31,6 +32,9 @@ 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 Source2: clean_source.sh BuildRequires: Mesa-devel BuildRequires: automake @@ -66,8 +70,8 @@ Doom/Doom2 engines, and it is possible to be confident this will never happen in the future since compatibility is as important. %prep -%setup -q -%patch -P 1 -P 2 -P 3 -P 5 -p1 +%setup -qn prboom2 +%patch -P 1 -P 2 -P 3 -P 5 -P 6 -P 7 -P 8 -p1 %build ./bootstrap; diff --git a/prboom-types2.diff b/prboom-types2.diff index dc66c34..92bd069 100644 --- a/prboom-types2.diff +++ b/prboom-types2.diff @@ -12,10 +12,10 @@ p_saveg.c:66:9: warning: cast from pointer to integer of different size src/r_drawflush.inl | 4 +++- 3 files changed, 21 insertions(+), 17 deletions(-) -Index: prboom-plus-2.5.1.3/src/g_overflow.c +Index: prboom2/src/g_overflow.c =================================================================== ---- prboom-plus-2.5.1.3.orig/src/g_overflow.c -+++ prboom-plus-2.5.1.3/src/g_overflow.c +--- prboom2.orig/src/g_overflow.c ++++ prboom2/src/g_overflow.c @@ -35,6 +35,7 @@ #include "config.h" #endif @@ -33,10 +33,10 @@ Index: prboom-plus-2.5.1.3/src/g_overflow.c } } } -Index: prboom-plus-2.5.1.3/src/p_saveg.c +Index: prboom2/src/p_saveg.c =================================================================== ---- prboom-plus-2.5.1.3.orig/src/p_saveg.c -+++ prboom-plus-2.5.1.3/src/p_saveg.c +--- prboom2.orig/src/p_saveg.c ++++ prboom2/src/p_saveg.c @@ -31,6 +31,7 @@ * *-----------------------------------------------------------------------------*/ @@ -72,9 +72,9 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c } // phares 9/13/98: Moved this code outside of P_ArchiveThinkers so the -@@ -500,10 +501,10 @@ void P_UnArchiveThinkers (void) - - //e6y save_p += 4*sizeof(void*); +@@ -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; @@ -85,7 +85,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c P_SetThingPosition (mobj); mobj->info = &mobjinfo[mobj->type]; -@@ -814,7 +815,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -94,7 +94,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c ceiling->sector->ceilingdata = ceiling; //jff 2/22/98 if (ceiling->thinker.function) -@@ -831,10 +832,10 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -107,7 +107,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c door->sector->ceilingdata = door; //jff 2/22/98 door->thinker.function = T_VerticalDoor; -@@ -848,7 +849,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -116,7 +116,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c floor->sector->floordata = floor; //jff 2/22/98 floor->thinker.function = T_MoveFloor; P_AddThinker (&floor->thinker); -@@ -861,7 +862,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -125,7 +125,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c plat->sector->floordata = plat; //jff 2/22/98 if (plat->thinker.function) -@@ -878,7 +879,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -134,7 +134,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c flash->thinker.function = T_LightFlash; P_AddThinker (&flash->thinker); break; -@@ -890,7 +891,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -143,7 +143,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c strobe->thinker.function = T_StrobeFlash; P_AddThinker (&strobe->thinker); break; -@@ -902,7 +903,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -152,7 +152,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c glow->thinker.function = T_Glow; P_AddThinker (&glow->thinker); break; -@@ -914,7 +915,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -161,7 +161,7 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c flicker->thinker.function = T_FireFlicker; P_AddThinker (&flicker->thinker); break; -@@ -927,7 +928,7 @@ void P_UnArchiveSpecials (void) +@@ -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); @@ -170,10 +170,10 @@ Index: prboom-plus-2.5.1.3/src/p_saveg.c elevator->sector->floordata = elevator; //jff 2/22/98 elevator->sector->ceilingdata = elevator; //jff 2/22/98 elevator->thinker.function = T_MoveElevator; -Index: prboom-plus-2.5.1.3/src/r_drawflush.inl +Index: prboom2/src/r_drawflush.inl =================================================================== ---- prboom-plus-2.5.1.3.orig/src/r_drawflush.inl -+++ prboom-plus-2.5.1.3/src/r_drawflush.inl +--- prboom2.orig/src/r_drawflush.inl ++++ prboom2/src/r_drawflush.inl @@ -28,6 +28,8 @@ * *-----------------------------------------------------------------------------*/