- Added a new parameter to all crushing action specials that selects

which crushing mode is used: 0 uses the game's default for compatibility,
  1 uses Doom's mode (crushers continue to move while damaging any actors ) and
  2 uses Hexen's mode (crushers stay at blocking actor's top until they die).
  Since Generic_Crusher already used all 5 args I created a second version for
  Hexen crushing mode.
- Added PICKUP flag to DECORATE.


SVN r817 (trunk)
This commit is contained in:
Christoph Oelckers 2008-03-19 22:47:04 +00:00
commit 8244d1ea07
17 changed files with 140 additions and 109 deletions

View file

@ -121,7 +121,7 @@ bool DMover::MoveAttached(int crush, fixed_t move, int floorOrCeiling, bool rese
// dest is the desired d value for the plane
//
DMover::EResult DMover::MovePlane (fixed_t speed, fixed_t dest, int crush,
int floorOrCeiling, int direction)
int floorOrCeiling, int direction, bool hexencrush)
{
bool flag;
fixed_t lastpos;
@ -228,7 +228,7 @@ DMover::EResult DMover::MovePlane (fixed_t speed, fixed_t dest, int crush,
flag = P_ChangeSector (m_Sector, crush, speed, 0);
if (flag)
{
if (crush >= 0 && gameinfo.gametype != GAME_Hexen)
if (crush >= 0 && !hexencrush)
{
m_Sector->floortexz += m_Sector->floorplane.HeightDiff (lastpos);
m_Sector->AdjustFloorClip ();
@ -294,7 +294,7 @@ DMover::EResult DMover::MovePlane (fixed_t speed, fixed_t dest, int crush,
flag = P_ChangeSector (m_Sector, crush, -speed, 1);
if (flag)
{
if (crush >= 0 && gameinfo.gametype != GAME_Hexen)
if (crush >= 0 && !hexencrush)
{
m_Sector->ceilingtexz += m_Sector->ceilingplane.HeightDiff (lastpos);
return crushed;