Fix vwoops not properly clipping through stuff

This commit is contained in:
toaster 2020-09-22 15:07:12 +01:00
parent eb48f71f89
commit 1ec6240001

View file

@ -3457,21 +3457,19 @@ static void P_PlayerMobjThinker(mobj_t *mobj)
mobj->eflags &= ~MFE_JUSTSTEPPEDDOWN; mobj->eflags &= ~MFE_JUSTSTEPPEDDOWN;
// Zoom tube // Zoom tube
if (mobj->tracer && !P_MobjWasRemoved(mobj->tracer)) if ((mobj->player->powers[pw_carry] == CR_ZOOMTUBE && mobj->tracer && !P_MobjWasRemoved(mobj->tracer))
|| mobj->player->respawn.state == RESPAWNST_MOVE)
{ {
if (mobj->player->powers[pw_carry] == CR_ZOOMTUBE || mobj->player->respawn.state == RESPAWNST_MOVE) P_HitSpecialLines(mobj, mobj->x, mobj->y, mobj->momx, mobj->momy);
{ P_UnsetThingPosition(mobj);
P_HitSpecialLines(mobj, mobj->x, mobj->y, mobj->momx, mobj->momy); mobj->x += mobj->momx;
P_UnsetThingPosition(mobj); mobj->y += mobj->momy;
mobj->x += mobj->momx; mobj->z += mobj->momz;
mobj->y += mobj->momy; P_SetThingPosition(mobj);
mobj->z += mobj->momz; P_CheckPosition(mobj, mobj->x, mobj->y);
P_SetThingPosition(mobj); mobj->floorz = tmfloorz;
P_CheckPosition(mobj, mobj->x, mobj->y); mobj->ceilingz = tmceilingz;
mobj->floorz = tmfloorz; goto animonly;
mobj->ceilingz = tmceilingz;
goto animonly;
}
} }
// Needed for gravity boots // Needed for gravity boots