- changed floor and ceiling movers so that portal planes do not block movement of the opposite plane, even if they are on the wrong side of it.

This fixes the cross-portal lift to the blue key in Vaporware.
This commit is contained in:
Christoph Oelckers 2016-04-15 20:42:40 +02:00
commit 6dfb4bdd41
2 changed files with 5 additions and 1 deletions

View file

@ -218,6 +218,7 @@ EMoveResult sector_t::MoveFloor(double speed, double dest, int crush, int direct
// [RH] not so easy with arbitrary planes
//destheight = (dest < ceilingheight) ? dest : ceilingheight;
if (!ceilingplane.isSlope() && !floorplane.isSlope() &&
!PortalIsLinked(sector_t::ceiling) &&
(!(i_compatflags2 & COMPATF2_FLOORMOVE) && -dest > ceilingplane.fD()))
{
dest = -ceilingplane.fD();
@ -294,6 +295,7 @@ EMoveResult sector_t::MoveCeiling(double speed, double dest, int crush, int dire
// [RH] not so easy with arbitrary planes
//destheight = (dest > floorheight) ? dest : floorheight;
if (!ceilingplane.isSlope() && !floorplane.isSlope() &&
!PortalIsLinked(sector_t::floor) &&
(!(i_compatflags2 & COMPATF2_FLOORMOVE) && dest < -floorplane.fD()))
{
dest = -floorplane.fD();