Core/PathFinding: Return raycast hitpoint when specifying straightLine

This commit is contained in:
jackpoz
2020-02-08 23:32:09 +01:00
committed by Ovahlord
parent 9f811ee9eb
commit c3d2b2c6d5

View File

@@ -374,7 +374,15 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
if (hit != FLT_MAX)
{
// the ray hit something, return no path instead of the incomplete one
_type = PATHFIND_NOPATH;
Clear();
_polyLength = 2;
_pathPoints.resize(2);
_pathPoints[0] = GetStartPosition();
float hitPos[3];
dtVlerp(hitPos, startPoint, endPoint, hit);
_pathPoints[1] = G3D::Vector3(hitPos[2], hitPos[0], hitPos[1]);
_type = PATHFIND_INCOMPLETE;
return;
}
}
@@ -437,7 +445,15 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
if (hit != FLT_MAX)
{
// the ray hit something, return no path instead of the incomplete one
_type = PATHFIND_NOPATH;
Clear();
_polyLength = 2;
_pathPoints.resize(2);
_pathPoints[0] = GetStartPosition();
float hitPos[3];
dtVlerp(hitPos, startPoint, endPoint, hit);
_pathPoints[1] = G3D::Vector3(hitPos[2], hitPos[0], hitPos[1]);
_type = PATHFIND_INCOMPLETE;
return;
}
}