diff --git a/src/p_mobj.c b/src/p_mobj.c index edf30d58a..e44279347 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -2272,6 +2272,11 @@ static boolean P_ZMovement(mobj_t *mo) mom.y = mo->momy; mom.z = mo->momz; + if (mo->eflags & MFE_VERTICALFLIP) + mo->z = mo->ceilingz - mo->height; + else + mo->z = mo->floorz; + #ifdef ESLOPE P_TryMove(mo, mo->x, mo->y, true); // Sets mo->standingslope correctly if (mo->standingslope) { @@ -2282,11 +2287,6 @@ static boolean P_ZMovement(mobj_t *mo) } #endif - if (mo->eflags & MFE_VERTICALFLIP) - mo->z = mo->ceilingz - mo->height; - else - mo->z = mo->floorz; - // hit the floor if (mo->type == MT_FIREBALL) // special case for the fireball mom.z = P_MobjFlip(mo)*FixedMul(5*FRACUNIT, mo->scale);