- 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:
Randy Heit 2009-08-05 01:13:41 +00:00
parent 9764532d8b
commit 3e388acc15
6 changed files with 13 additions and 7 deletions

View file

@ -1,4 +1,7 @@
August 4, 2009 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 - 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 if an elevator contains an actor exactly the same height as it, it will not
be blocked. be blocked.

View file

@ -311,6 +311,7 @@ enum
MF6_NOFEAR = 0x00000010, // Not scared of frightening players MF6_NOFEAR = 0x00000010, // Not scared of frightening players
MF6_BUMPSPECIAL = 0x00000020, // Actor executes its special when being collided (as the ST flag) 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_DONTHARMSPECIES = 0x00000040, // Don't hurt one's own species with explosions (hitscans, too?)
MF6_STEPMISSILE = 0x00000080, // Missile can "walk" up steps
// --- mobj.renderflags --- // --- mobj.renderflags ---

View file

@ -155,9 +155,9 @@ enum
struct PalEntry struct PalEntry
{ {
PalEntry () {} PalEntry () {}
PalEntry (DWORD argb) { d = argb; } PalEntry (uint32 argb) { d = argb; }
operator DWORD () const { return d; } operator uint32 () const { return d; }
PalEntry &operator= (DWORD other) { d = other; return *this; } 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; } 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 #ifdef WORDS_BIGENDIAN
PalEntry (BYTE ir, BYTE ig, BYTE ib) : a(0), r(ir), g(ig), b(ib) {} 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; BYTE a,r,g,b;
}; };
DWORD d; uint32 d;
}; };
#else #else
PalEntry (BYTE ir, BYTE ig, BYTE ib) : b(ib), g(ig), r(ir), a(0) {} 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; BYTE b,g,r,a;
}; };
DWORD d; uint32 d;
}; };
#endif #endif
}; };

View file

@ -1606,7 +1606,7 @@ bool P_TryMove (AActor *thing, fixed_t x, fixed_t y,
{ // too big a step up { // too big a step up
goto pushline; 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 { // [RH] Don't let normal missiles climb steps
goto pushline; goto pushline;
} }
@ -1910,7 +1910,7 @@ bool P_CheckMove(AActor *thing, fixed_t x, fixed_t y)
{ // too big a step up { // too big a step up
return false; 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 { // [RH] Don't let normal missiles climb steps
return false; return false;
} }

View file

@ -217,6 +217,7 @@ static FFlagDef ActorFlags[]=
DEFINE_FLAG(MF6, NOFEAR, AActor, flags6), DEFINE_FLAG(MF6, NOFEAR, AActor, flags6),
DEFINE_FLAG(MF6, BUMPSPECIAL, AActor, flags6), DEFINE_FLAG(MF6, BUMPSPECIAL, AActor, flags6),
DEFINE_FLAG(MF6, DONTHARMSPECIES, AActor, flags6), DEFINE_FLAG(MF6, DONTHARMSPECIES, AActor, flags6),
DEFINE_FLAG(MF6, STEPMISSILE, AActor, flags6),
// Effect flags // Effect flags
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects), DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),

View file

@ -154,6 +154,7 @@ ACTOR Whirlwind native
-ACTIVATEMCROSS -ACTIVATEMCROSS
+SEEKERMISSILE +SEEKERMISSILE
+EXPLOCOUNT +EXPLOCOUNT
+StepMissile
RenderStyle Translucent RenderStyle Translucent
Alpha 0.4 Alpha 0.4