- 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:
parent
e094e1b515
commit
3d7c6811c1
4 changed files with 13 additions and 7 deletions
|
|
@ -1444,10 +1444,14 @@ bool AActor::FloorBounceMissile (secplane_t &plane)
|
|||
if (abs(velz) < (fixed_t)(Mass * GetGravity() / 64))
|
||||
velz = 0;
|
||||
}
|
||||
else if (plane.c > 0 && BounceFlags & BOUNCE_AutoOff)
|
||||
{ // AutoOff only works when bouncing off a floor, not a ceiling.
|
||||
if (!(flags & MF_NOGRAVITY) && (velz < 3*FRACUNIT))
|
||||
BounceFlags &= ~BOUNCE_TypeMask;
|
||||
else if (BounceFlags & (BOUNCE_AutoOff|BOUNCE_AutoOffFloorOnly))
|
||||
{
|
||||
if (plane.c > 0 || (BounceFlags & BOUNCE_AutoOff))
|
||||
{
|
||||
// AutoOff only works when bouncing off a floor, not a ceiling (or in compatibility mode.)
|
||||
if (!(flags & MF_NOGRAVITY) && (velz < 3*FRACUNIT))
|
||||
BounceFlags &= ~BOUNCE_TypeMask;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue