- fixed: TRF_ALLACTORS did not consider actors without any flag being set.

This commit is contained in:
Christoph Oelckers 2020-05-25 19:33:14 +02:00
parent ea0da8533c
commit 2828dbe095

View file

@ -839,10 +839,10 @@ bool FTraceInfo::TraceTraverse (int ptflags)
{ {
if (in->d.line->isLinePortal() && P_PointOnLineSidePrecise(Start, in->d.line) == 0) if (in->d.line->isLinePortal() && P_PointOnLineSidePrecise(Start, in->d.line) == 0)
{ {
sector_t *entersector = in->d.line->backsector; sector_t* entersector = in->d.line->backsector;
if (entersector == NULL || (hit.Z >= entersector->floorplane.ZatPoint(hit) && hit.Z <= entersector->ceilingplane.ZatPoint(hit))) if (entersector == NULL || (hit.Z >= entersector->floorplane.ZatPoint(hit) && hit.Z <= entersector->ceilingplane.ZatPoint(hit)))
{ {
FLinePortal *port = in->d.line->getPortal(); FLinePortal* port = in->d.line->getPortal();
// The caller cannot handle portals without global offset. // The caller cannot handle portals without global offset.
if (port->mType == PORTT_LINKED || !(TraceFlags & TRACE_PortalRestrict)) if (port->mType == PORTT_LINKED || !(TraceFlags & TRACE_PortalRestrict))
{ {
@ -853,7 +853,7 @@ bool FTraceInfo::TraceTraverse (int ptflags)
} }
if (!LineCheck(in, dist, hit, false)) break; if (!LineCheck(in, dist, hit, false)) break;
} }
else if ((in->d.thing->flags & ActorMask) && in->d.thing != IgnoreThis) else if (((in->d.thing->flags & ActorMask) || ActorMask == 0xffffffff) && in->d.thing != IgnoreThis)
{ {
if (!ThingCheck(in, dist, hit)) break; if (!ThingCheck(in, dist, hit)) break;
} }