diff --git a/src/p_mobj.c b/src/p_mobj.c index a7240aa79..396d99ea3 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1160,6 +1160,13 @@ fixed_t P_GetMobjGravity(mobj_t *mo) if (mo->player) { + // MF2_OBJECTFLIP is relative -- flips sector reverse gravity back to normal + if (mo->flags2 & MF2_OBJECTFLIP) + { + gravityadd = -gravityadd; + mo->eflags ^= MFE_VERTICALFLIP; + } + if (wasflip == !(mo->eflags & MFE_VERTICALFLIP)) // note!! == ! is not equivalent to != here - turns numeric into bool this way P_PlayerFlip(mo);