- ignore COMPAT_POINTONSIDE in a few places where the side effects of the old P_PointOn*Side functions are either not needed or problematic:
* the sight checking code needs to be as precise as possible and should not depend on some old semi-broken routines. (This is more a precision issue of these routines - P_PointOnDivlineSide removes the lower 8 bits of each value - than having an issue with returning the wrong side in some cases.) * for slope creations it is flat out wrong to use the old routines at all. * also ignore this in the modern (box-shaped) case of FPathTraverse::AddLineIntercepts. This functionality is new to ZDoom and therefore not subject to compatibility concerns. * the line-to-line teleporter. It seems the hideous fudging code was just there to work around the design issues of these functions, so let's better not ever call them here in the first place. * A_PainShootSkull: Its usage here does not depend on these issues. * P_ExplodeMissile: New code exclusive to ZDoom. * FPolyObj::CheckMobjBlocking All occurences in p_map.cpp have been left alone although most of them probably won't need the compatibility option either.
This commit is contained in:
parent
6a87c6cd19
commit
867b7767ef
8 changed files with 26 additions and 14 deletions
|
|
@ -1056,13 +1056,13 @@ void FPathTraverse::AddThingIntercepts (int bx, int by, FBlockThingsIterator &it
|
|||
break;
|
||||
}
|
||||
// Check if this side is facing the trace origin
|
||||
if (P_PointOnDivlineSide (trace.x, trace.y, &line) == 0)
|
||||
if (P_PointOnDivlineSidePrecise (trace.x, trace.y, &line) == 0)
|
||||
{
|
||||
numfronts++;
|
||||
|
||||
// If it is, see if the trace crosses it
|
||||
if (P_PointOnDivlineSide (line.x, line.y, &trace) !=
|
||||
P_PointOnDivlineSide (line.x + line.dx, line.y + line.dy, &trace))
|
||||
if (P_PointOnDivlineSidePrecise (line.x, line.y, &trace) !=
|
||||
P_PointOnDivlineSidePrecise (line.x + line.dx, line.y + line.dy, &trace))
|
||||
{
|
||||
// It's a hit
|
||||
fixed_t frac = P_InterceptVector (&trace, &line);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue