Blocking checks for mirror interaction (forgot about them).

This commit is contained in:
Mari the Deer 2023-01-19 10:23:20 +01:00
commit 1ad16bfcd4
2 changed files with 10 additions and 2 deletions

View file

@ -73,9 +73,17 @@ Class SWWMMirrorTracer : LineTracer
{
if ( Results.HitType == TRACE_HitWall )
{
// did we find a mirror?
if ( !Results.HitLine.sidedef[1] && (Results.HitLine.special == Line_Mirror) )
return TRACE_Stop;
// lower/upper will block, as well as one-sided lines that aren't mirrors
if ( !Results.HitLine.sidedef[1] || !(Results.Tier == TIER_Middle) )
return TRACE_Abort;
}
// obviously, floors and ceilings block the view as well
// again, a shame we can't check if they, too, are mirrors
if ( (Results.HitType == TRACE_HitFloor) || (Results.HitType == TRACE_HitCeiling) )
return TRACE_Abort;
return TRACE_Skip;
}
}