- The bouncing check from r3643 cannot be applied retroactively to the existing DOOMBOUNCE flag because mods depend on the old behavior. Instead of modifying BOUNCE_OnOff's behavior the correct way of doing this has to be implemented as a separate flag in order to avoid problems.

SVN r3685 (trunk)
This commit is contained in:
Christoph Oelckers 2012-06-10 10:17:49 +00:00
commit 3d7c6811c1
4 changed files with 13 additions and 7 deletions

View file

@ -1822,7 +1822,7 @@ bool P_TryMove (AActor *thing, fixed_t x, fixed_t y,
{
goto pushline;
}
if (thing->flags6 & MF6_STEPMISSILE)
if (thing->flags6 & MF6_STEPMISSILE)
{
thing->z = tm.floorz;
// If moving down, cancel vertical component of the velocity
@ -2925,7 +2925,7 @@ bool P_BounceActor (AActor *mo, AActor *BlockingMobj, bool ontop)
if (abs(mo->velz) < (fixed_t)(mo->Mass * mo->GetGravity() / 64))
mo->velz = 0;
}
else if (mo->BounceFlags & BOUNCE_AutoOff)
else if (mo->BounceFlags & (BOUNCE_AutoOff|BOUNCE_AutoOffFloorOnly))
{
if (!(mo->flags & MF_NOGRAVITY) && (mo->velz < 3*FRACUNIT))
mo->BounceFlags &= ~BOUNCE_TypeMask;