[botlib] Use floating point absolute value rather than truncate to integer

This commit is contained in:
Thomas Köppe 2016-07-25 18:30:48 +01:00
parent 9a5add2b60
commit 18d6c8fda2
5 changed files with 9 additions and 8 deletions

View file

@ -2465,8 +2465,8 @@ int AAS_Reachability_Ladder(int area1num, int area2num)
VectorMA(area1point, -32, dir, area1point);
VectorMA(area2point, 32, dir, area2point);
//
ladderface1vertical = abs(DotProduct(plane1->normal, up)) < 0.1;
ladderface2vertical = abs(DotProduct(plane2->normal, up)) < 0.1;
ladderface1vertical = fabsf(DotProduct(plane1->normal, up)) < 0.1;
ladderface2vertical = fabsf(DotProduct(plane2->normal, up)) < 0.1;
//there's only reachability between vertical ladder faces
if (!ladderface1vertical && !ladderface2vertical) return qfalse;
//if both vertical ladder faces
@ -2474,7 +2474,7 @@ int AAS_Reachability_Ladder(int area1num, int area2num)
//and the ladder faces do not make a sharp corner
&& DotProduct(plane1->normal, plane2->normal) > 0.7
//and the shared edge is not too vertical
&& abs(DotProduct(sharededgevec, up)) < 0.7)
&& fabsf(DotProduct(sharededgevec, up)) < 0.7)
{
//create a new reachability link
lreach = AAS_AllocReachability();
@ -2599,7 +2599,7 @@ int AAS_Reachability_Ladder(int area1num, int area2num)
if (face2->faceflags & FACE_LADDER)
{
plane2 = &aasworld.planes[face2->planenum];
if (abs(DotProduct(plane2->normal, up)) < 0.1) break;
if (fabsf(DotProduct(plane2->normal, up)) < 0.1) break;
} //end if
} //end for
//if from another area without vertical ladder faces