- 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)
{
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)))
{
FLinePortal *port = in->d.line->getPortal();
FLinePortal* port = in->d.line->getPortal();
// The caller cannot handle portals without global offset.
if (port->mType == PORTT_LINKED || !(TraceFlags & TRACE_PortalRestrict))
{
@ -853,7 +853,7 @@ bool FTraceInfo::TraceTraverse (int ptflags)
}
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;
}