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
|
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.
|
||||||
|
|
|
@ -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 ---
|
||||||
|
|
|
@ -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
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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),
|
||||||
|
|
|
@ -154,6 +154,7 @@ ACTOR Whirlwind native
|
||||||
-ACTIVATEMCROSS
|
-ACTIVATEMCROSS
|
||||||
+SEEKERMISSILE
|
+SEEKERMISSILE
|
||||||
+EXPLOCOUNT
|
+EXPLOCOUNT
|
||||||
|
+StepMissile
|
||||||
RenderStyle Translucent
|
RenderStyle Translucent
|
||||||
Alpha 0.4
|
Alpha 0.4
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue