mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-22 12:11:25 +00:00
- Added the MF6_STEPMISSILE flag so that the Whirlwind can "walk" up steps.
- Changed the dword definition of PalEntry to uint32 so that it has one consistent definition across all source files. SVN r1752 (trunk)
This commit is contained in:
parent
9764532d8b
commit
3e388acc15
6 changed files with 13 additions and 7 deletions
|
@ -1,4 +1,7 @@
|
|||
August 4, 2009
|
||||
- Added the MF6_STEPMISSILE flag so that the Whirlwind can "walk" up steps.
|
||||
- Changed the dword definition of PalEntry to uint32 so that it has one
|
||||
consistent definition across all source files.
|
||||
- Swapped the order of floor and ceiling moves in DElevator::Tick() so that
|
||||
if an elevator contains an actor exactly the same height as it, it will not
|
||||
be blocked.
|
||||
|
|
|
@ -311,6 +311,7 @@ enum
|
|||
MF6_NOFEAR = 0x00000010, // Not scared of frightening players
|
||||
MF6_BUMPSPECIAL = 0x00000020, // Actor executes its special when being collided (as the ST flag)
|
||||
MF6_DONTHARMSPECIES = 0x00000040, // Don't hurt one's own species with explosions (hitscans, too?)
|
||||
MF6_STEPMISSILE = 0x00000080, // Missile can "walk" up steps
|
||||
|
||||
|
||||
// --- mobj.renderflags ---
|
||||
|
|
|
@ -155,9 +155,9 @@ enum
|
|||
struct PalEntry
|
||||
{
|
||||
PalEntry () {}
|
||||
PalEntry (DWORD argb) { d = argb; }
|
||||
operator DWORD () const { return d; }
|
||||
PalEntry &operator= (DWORD other) { d = other; return *this; }
|
||||
PalEntry (uint32 argb) { d = argb; }
|
||||
operator uint32 () const { return d; }
|
||||
PalEntry &operator= (uint32 other) { d = other; return *this; }
|
||||
PalEntry InverseColor() const { PalEntry nc; nc.a = a; nc.r = 255 - r; nc.g = 255 - g; nc.b = 255 - b; return nc; }
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
PalEntry (BYTE ir, BYTE ig, BYTE ib) : a(0), r(ir), g(ig), b(ib) {}
|
||||
|
@ -168,7 +168,7 @@ struct PalEntry
|
|||
{
|
||||
BYTE a,r,g,b;
|
||||
};
|
||||
DWORD d;
|
||||
uint32 d;
|
||||
};
|
||||
#else
|
||||
PalEntry (BYTE ir, BYTE ig, BYTE ib) : b(ib), g(ig), r(ir), a(0) {}
|
||||
|
@ -179,7 +179,7 @@ struct PalEntry
|
|||
{
|
||||
BYTE b,g,r,a;
|
||||
};
|
||||
DWORD d;
|
||||
uint32 d;
|
||||
};
|
||||
#endif
|
||||
};
|
||||
|
|
|
@ -1606,7 +1606,7 @@ bool P_TryMove (AActor *thing, fixed_t x, fixed_t y,
|
|||
{ // too big a step up
|
||||
goto pushline;
|
||||
}
|
||||
else if ((thing->flags & MF_MISSILE) && tm.floorz > thing->z)
|
||||
else if ((thing->flags & MF_MISSILE)&& !(thing->flags6 && MF6_STEPMISSILE) && tm.floorz > thing->z)
|
||||
{ // [RH] Don't let normal missiles climb steps
|
||||
goto pushline;
|
||||
}
|
||||
|
@ -1910,7 +1910,7 @@ bool P_CheckMove(AActor *thing, fixed_t x, fixed_t y)
|
|||
{ // too big a step up
|
||||
return false;
|
||||
}
|
||||
else if ((thing->flags & MF_MISSILE) && tm.floorz > newz)
|
||||
else if ((thing->flags & MF_MISSILE) && !(thing->flags6 && MF6_STEPMISSILE) && tm.floorz > newz)
|
||||
{ // [RH] Don't let normal missiles climb steps
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -217,6 +217,7 @@ static FFlagDef ActorFlags[]=
|
|||
DEFINE_FLAG(MF6, NOFEAR, AActor, flags6),
|
||||
DEFINE_FLAG(MF6, BUMPSPECIAL, AActor, flags6),
|
||||
DEFINE_FLAG(MF6, DONTHARMSPECIES, AActor, flags6),
|
||||
DEFINE_FLAG(MF6, STEPMISSILE, AActor, flags6),
|
||||
|
||||
// Effect flags
|
||||
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),
|
||||
|
|
|
@ -154,6 +154,7 @@ ACTOR Whirlwind native
|
|||
-ACTIVATEMCROSS
|
||||
+SEEKERMISSILE
|
||||
+EXPLOCOUNT
|
||||
+StepMissile
|
||||
RenderStyle Translucent
|
||||
Alpha 0.4
|
||||
|
||||
|
|
Loading…
Reference in a new issue