mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-01-18 15:42:34 +00:00
- fixed: P_CheckMove's dropoff check had the heights swapped. This also shouldn't in any way depend on COMPATF_DROPOFF and must be skipped entirely for actors with either MF_FLOAT or MF_DROPOFF set.
This commit is contained in:
parent
77e30bb7d7
commit
cc88130362
1 changed files with 3 additions and 3 deletions
|
@ -2533,13 +2533,13 @@ bool P_CheckMove(AActor *thing, const DVector2 &pos, int flags)
|
|||
return false;
|
||||
}
|
||||
}
|
||||
else if (flags & PCM_DROPOFF)
|
||||
else if ((flags & PCM_DROPOFF) && !(thing->flags & (MF_FLOAT|MF_DROPOFF)))
|
||||
{
|
||||
const DVector3 oldpos = thing->Pos();
|
||||
thing->SetOrigin(pos.X, pos.Y, newz, true);
|
||||
bool hcheck = (newz - thing->MaxDropOffHeight > thing->dropoffz);
|
||||
bool hcheck = (newz - thing->dropoffz > thing->MaxDropOffHeight);
|
||||
thing->SetOrigin(oldpos, true);
|
||||
if (hcheck && !(thing->flags & MF_FLOAT) && !(i_compatflags & COMPATF_DROPOFF))
|
||||
if (hcheck)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue