- 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.
This commit is contained in:
Christoph Oelckers 2016-04-07 17:13:56 +02:00
parent 32bbec7cad
commit 47e20aead4

View file

@ -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;