From 47e20aead442a3e0b468e873630d426737bf036f Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 7 Apr 2016 17:13:56 +0200 Subject: [PATCH] - disallow crossable portals on one-sided linedefs which do not belong to a polyobject. Sadly the mappers cannot be trusted to use a feature correctly. Despite repeatedly telling that portals on one-sided lines are problematic, everybody seems to do it this way - and then report bugs if it doesn't work. Under such circumstances the only safe option is to block such portals entirely. See http://forum.zdoom.org/viewtopic.php?f=2&t=51511&p=898522#p898522 for a typical example of the problems this might cause. --- src/p_map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_map.cpp b/src/p_map.cpp index 8fbbb3e99..5d5777d6f 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -708,7 +708,7 @@ bool PIT_CheckLine(FMultiBlockLinesIterator &mit, FMultiBlockLinesIterator::Chec { // One sided line // Needed for polyobject portals. - if (cres.line->isLinePortal()) + if (cres.line->isLinePortal() && (cres.line->sidedef[0]->Flags & WALLF_POLYOBJ)) { spechit_t spec; spec.line = ld;