- Added a constant name for Skulltag's 128 flag for A_SpawnItemEx. For

compatibility ZDoom needs to define this name, too, even though it doesn't 
  use it.
- Fixed: The nodebuilder could hang on badly set up polyobjects. Now it aborts 
  when the loop iterates NumberOfSegs times.

SVN r1338 (trunk)
This commit is contained in:
Christoph Oelckers 2008-12-31 12:02:08 +00:00
parent 987c878a9a
commit 9098bc1a46
4 changed files with 12 additions and 3 deletions

View file

@ -1,3 +1,10 @@
December 31, 2008 (Changes by Graf Zahl)
- Added a constant name for Skulltag's 128 flag for A_SpawnItemEx. For
compatibility ZDoom needs to define this name, too, even though it doesn't
use it.
- Fixed: The nodebuilder could hang on badly set up polyobjects. Now it aborts
when the loop iterates NumberOfSegs times.
December 30, 2008 (Changes by Graf Zahl) December 30, 2008 (Changes by Graf Zahl)
- Fixed: FMOD calls for setting the water reverb must check the return code - Fixed: FMOD calls for setting the water reverb must check the return code
for errors. for errors.

View file

@ -251,7 +251,7 @@ void FMugShot::Tick(player_t *player)
CurrentState = NULL; CurrentState = NULL;
} }
} }
if ((player->cmd.ucmd.buttons & (BT_ATTACK|BT_ALTATTACK)) && !(player->cheats & (CF_FROZEN | CF_TOTALLYFROZEN))) if ((player->cmd.ucmd.buttons & (BT_ATTACK|BT_ALTATTACK)) && !(player->cheats & (CF_FROZEN | CF_TOTALLYFROZEN)) && player->ReadyWeapon)
{ {
if (RampageTimer != ST_RAMPAGEDELAY) if (RampageTimer != ST_RAMPAGEDELAY)
{ {

View file

@ -440,6 +440,7 @@ bool FNodeBuilder::GetPolyExtents (int polynum, fixed_t bbox[4])
{ {
vertex_t start; vertex_t start;
unsigned int vert; unsigned int vert;
unsigned int count = 0;
vert = Segs[i].v1; vert = Segs[i].v1;
@ -451,7 +452,8 @@ bool FNodeBuilder::GetPolyExtents (int polynum, fixed_t bbox[4])
AddSegToBBox (bbox, &Segs[i]); AddSegToBBox (bbox, &Segs[i]);
vert = Segs[i].v2; vert = Segs[i].v2;
i = Vertices[vert].segs; i = Vertices[vert].segs;
} while (i != DWORD_MAX && (Vertices[vert].x != start.x || Vertices[vert].y != start.y)); count++; // to prevent endless loops. Stop when this reaches the number of segs.
} while (i != DWORD_MAX && (Vertices[vert].x != start.x || Vertices[vert].y != start.y) && count < Segs.Size());
return true; return true;
} }

View file

@ -13,7 +13,7 @@ const int SXF_ABSOLUTEMOMENTUM=8;
const int SXF_SETMASTER=16; const int SXF_SETMASTER=16;
const int SXF_NOCHECKPOSITION = 32; const int SXF_NOCHECKPOSITION = 32;
const int SXF_TELEFRAG=64; const int SXF_TELEFRAG=64;
// 128 was uses by Skulltag const int SXF_CLIENTSPAWN=128; // only used by Skulltag
const int SXF_TRANSFERAMBUSHFLAG=256; const int SXF_TRANSFERAMBUSHFLAG=256;
// Flags for A_Chase // Flags for A_Chase