Fix for issue 119.
This commit is contained in:
parent
e5f6b82c19
commit
8a2963bce0
@ -149,7 +149,7 @@ public:
|
|||||||
// endPos[3] - (in) Path end location.
|
// endPos[3] - (in) Path end location.
|
||||||
// filter - (in) path polygon filter.
|
// filter - (in) path polygon filter.
|
||||||
// path - (out) array holding the search result.
|
// path - (out) array holding the search result.
|
||||||
// maxPathSize - (in) The max number of polygons the path array can hold.
|
// maxPathSize - (in) The max number of polygons the path array can hold. Must be at least 1.
|
||||||
// Returns: Number of polygons in search result array.
|
// Returns: Number of polygons in search result array.
|
||||||
int findPath(dtPolyRef startRef, dtPolyRef endRef,
|
int findPath(dtPolyRef startRef, dtPolyRef endRef,
|
||||||
const float* startPos, const float* endPos,
|
const float* startPos, const float* endPos,
|
||||||
@ -198,7 +198,7 @@ public:
|
|||||||
// straightPath - (out) Points describing the straight path.
|
// straightPath - (out) Points describing the straight path.
|
||||||
// straightPathFlags - (out, opt) Flags describing each point type, see dtStraightPathFlags.
|
// straightPathFlags - (out, opt) Flags describing each point type, see dtStraightPathFlags.
|
||||||
// straightPathRefs - (out, opt) References to polygons at point locations.
|
// straightPathRefs - (out, opt) References to polygons at point locations.
|
||||||
// maxStraightPathSize - (in) The max number of points the straight path array can hold.
|
// maxStraightPathSize - (in) The max number of points the straight path array can hold. Must be at least 1.
|
||||||
// Returns: Number of points in the path.
|
// Returns: Number of points in the path.
|
||||||
int findStraightPath(const float* startPos, const float* endPos,
|
int findStraightPath(const float* startPos, const float* endPos,
|
||||||
const dtPolyRef* path, const int pathSize,
|
const dtPolyRef* path, const int pathSize,
|
||||||
|
@ -951,28 +951,37 @@ int dtNavMeshQuery::finalizeSlicedFindPath(dtPolyRef* path, const int maxPathSiz
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reverse the path.
|
|
||||||
dtAssert(m_query.lastBestNode);
|
|
||||||
dtNode* prev = 0;
|
|
||||||
dtNode* node = m_query.lastBestNode;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
dtNode* next = m_nodePool->getNodeAtIdx(node->pidx);
|
|
||||||
node->pidx = m_nodePool->getNodeIdx(prev);
|
|
||||||
prev = node;
|
|
||||||
node = next;
|
|
||||||
}
|
|
||||||
while (node);
|
|
||||||
|
|
||||||
// Store path
|
|
||||||
node = prev;
|
|
||||||
int n = 0;
|
int n = 0;
|
||||||
do
|
|
||||||
|
if (m_query.startRef == m_query.endRef)
|
||||||
{
|
{
|
||||||
path[n++] = node->id;
|
// Special case: the search starts and ends at same poly.
|
||||||
node = m_nodePool->getNodeAtIdx(node->pidx);
|
path[n++] = m_query.startRef;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Reverse the path.
|
||||||
|
dtAssert(m_query.lastBestNode);
|
||||||
|
dtNode* prev = 0;
|
||||||
|
dtNode* node = m_query.lastBestNode;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
dtNode* next = m_nodePool->getNodeAtIdx(node->pidx);
|
||||||
|
node->pidx = m_nodePool->getNodeIdx(prev);
|
||||||
|
prev = node;
|
||||||
|
node = next;
|
||||||
|
}
|
||||||
|
while (node);
|
||||||
|
|
||||||
|
// Store path
|
||||||
|
node = prev;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
path[n++] = node->id;
|
||||||
|
node = m_nodePool->getNodeAtIdx(node->pidx);
|
||||||
|
}
|
||||||
|
while (node && n < maxPathSize);
|
||||||
}
|
}
|
||||||
while (node && n < maxPathSize);
|
|
||||||
|
|
||||||
// Reset query.
|
// Reset query.
|
||||||
memset(&m_query, 0, sizeof(dtQueryData));
|
memset(&m_query, 0, sizeof(dtQueryData));
|
||||||
|
Binary file not shown.
@ -9,7 +9,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||||
activeBuildConfigurationName = Release;
|
activeBuildConfigurationName = Debug;
|
||||||
activeExecutable = 6B8632970F78114600E2684A /* Recast */;
|
activeExecutable = 6B8632970F78114600E2684A /* Recast */;
|
||||||
activeTarget = 8D1107260486CEB800E47090 /* Recast */;
|
activeTarget = 8D1107260486CEB800E47090 /* Recast */;
|
||||||
addToTargets = (
|
addToTargets = (
|
||||||
@ -20,12 +20,13 @@
|
|||||||
6B42164711806B2F006C347B /* DetourDebugDraw.cpp:360 */,
|
6B42164711806B2F006C347B /* DetourDebugDraw.cpp:360 */,
|
||||||
6B10014C11AD1C1E0098A59A /* RecastMesh.cpp:1306 */,
|
6B10014C11AD1C1E0098A59A /* RecastMesh.cpp:1306 */,
|
||||||
6BA687AC1222F7AC00730711 /* Sample_Debug.cpp:137 */,
|
6BA687AC1222F7AC00730711 /* Sample_Debug.cpp:137 */,
|
||||||
6BD403421224642500995864 /* NavMeshTesterTool.cpp:581 */,
|
6BD403421224642500995864 /* NavMeshTesterTool.cpp:580 */,
|
||||||
6B920A121225B1C900D5B5AD /* DetourHashLookup.cpp:78 */,
|
6B920A121225B1C900D5B5AD /* DetourHashLookup.cpp:78 */,
|
||||||
6B920A141225B1CF00D5B5AD /* DetourHashLookup.cpp:131 */,
|
6B920A141225B1CF00D5B5AD /* DetourHashLookup.cpp:131 */,
|
||||||
6B847728122D11F300ADF63D /* DetourObstacleAvoidance.cpp:521 */,
|
6B847728122D11F300ADF63D /* DetourObstacleAvoidance.cpp:521 */,
|
||||||
6B847751122D14C900ADF63D /* DetourObstacleAvoidance.cpp:470 */,
|
6B847751122D14C900ADF63D /* DetourObstacleAvoidance.cpp:470 */,
|
||||||
6B847758122D14FE00ADF63D /* DetourObstacleAvoidance.cpp:113 */,
|
6B847758122D14FE00ADF63D /* DetourObstacleAvoidance.cpp:113 */,
|
||||||
|
6BD66851124350F50021A7A4 /* NavMeshTesterTool.cpp:519 */,
|
||||||
);
|
);
|
||||||
codeSenseManager = 6B8632AA0F78115100E2684A /* Code sense */;
|
codeSenseManager = 6B8632AA0F78115100E2684A /* Code sense */;
|
||||||
executables = (
|
executables = (
|
||||||
@ -266,6 +267,17 @@
|
|||||||
6BD6684512434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684512434DE80021A7A4 /* PBXTextBookmark */;
|
6BD6684512434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684512434DE80021A7A4 /* PBXTextBookmark */;
|
||||||
6BD6684612434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684612434DE80021A7A4 /* PBXTextBookmark */;
|
6BD6684612434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684612434DE80021A7A4 /* PBXTextBookmark */;
|
||||||
6BD6684712434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684712434DE80021A7A4 /* PBXTextBookmark */;
|
6BD6684712434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684712434DE80021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD6684E124350B80021A7A4 /* PBXTextBookmark */ = 6BD6684E124350B80021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD6684F124350B80021A7A4 /* PBXTextBookmark */ = 6BD6684F124350B80021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD66850124350B80021A7A4 /* PBXTextBookmark */ = 6BD66850124350B80021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD66855124350F80021A7A4 /* PBXTextBookmark */ = 6BD66855124350F80021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD66856124350F80021A7A4 /* PBXTextBookmark */ = 6BD66856124350F80021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD66857124350F80021A7A4 /* PBXTextBookmark */ = 6BD66857124350F80021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD6685A124351100021A7A4 /* PBXTextBookmark */ = 6BD6685A124351100021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD6685E124351D70021A7A4 /* PBXTextBookmark */ = 6BD6685E124351D70021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD6685F124351D70021A7A4 /* PBXTextBookmark */ = 6BD6685F124351D70021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD66860124351D70021A7A4 /* PBXTextBookmark */ = 6BD66860124351D70021A7A4 /* PBXTextBookmark */;
|
||||||
|
6BD66861124351D70021A7A4 /* PBXTextBookmark */ = 6BD66861124351D70021A7A4 /* PBXTextBookmark */;
|
||||||
6BF5F27311747CFA000502A6 = 6BF5F27311747CFA000502A6 /* PBXTextBookmark */;
|
6BF5F27311747CFA000502A6 = 6BF5F27311747CFA000502A6 /* PBXTextBookmark */;
|
||||||
6BF5F2E411748884000502A6 = 6BF5F2E411748884000502A6 /* PBXTextBookmark */;
|
6BF5F2E411748884000502A6 = 6BF5F2E411748884000502A6 /* PBXTextBookmark */;
|
||||||
6BF5F2E511748884000502A6 = 6BF5F2E511748884000502A6 /* PBXTextBookmark */;
|
6BF5F2E511748884000502A6 = 6BF5F2E511748884000502A6 /* PBXTextBookmark */;
|
||||||
@ -299,8 +311,8 @@
|
|||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 1306;
|
lineNumber = 1306;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944329.507792;
|
modificationTime = 306401746.595641;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6B1185F41006895B0018F96F /* DetourNode.cpp */ = {
|
6B1185F41006895B0018F96F /* DetourNode.cpp */ = {
|
||||||
@ -472,9 +484,9 @@
|
|||||||
};
|
};
|
||||||
6B25B6180FFA62BE004F1BC4 /* main.cpp */ = {
|
6B25B6180FFA62BE004F1BC4 /* main.cpp */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {933, 11804}}";
|
sepNavIntBoundsRect = "{{0, 0}, {933, 11830}}";
|
||||||
sepNavSelRange = "{1984, 0}";
|
sepNavSelRange = "{1985, 0}";
|
||||||
sepNavVisRange = "{1726, 705}";
|
sepNavVisRange = "{1728, 784}";
|
||||||
sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
|
sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -532,8 +544,8 @@
|
|||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 360;
|
lineNumber = 360;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944329.5076219;
|
modificationTime = 306401551.747454;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6B555DAE100B211D00247EA3 /* imguiRenderGL.h */ = {
|
6B555DAE100B211D00247EA3 /* imguiRenderGL.h */ = {
|
||||||
@ -723,8 +735,8 @@
|
|||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 521;
|
lineNumber = 521;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944329.511332;
|
modificationTime = 306401551.68476;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6B847751122D14C900ADF63D /* DetourObstacleAvoidance.cpp:470 */ = {
|
6B847751122D14C900ADF63D /* DetourObstacleAvoidance.cpp:470 */ = {
|
||||||
@ -737,12 +749,12 @@
|
|||||||
delayBeforeContinue = 0;
|
delayBeforeContinue = 0;
|
||||||
fileReference = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
fileReference = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||||
functionName = "dtObstacleAvoidanceQuery::processSample(const float* vcand, const float cs, const float* pos, const float rad, const float vmax, const float* vel, const float* dvel, dtObstacleAvoidanceDebugData* debug)";
|
functionName = "dtObstacleAvoidanceQuery::processSample(const float* vcand, const float cs, const float* pos, const float rad, const float vmax, const float* vel, const float* dvel, dtObstacleAvoidanceDebugData* debug)";
|
||||||
hitCount = 1;
|
hitCount = 0;
|
||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 470;
|
lineNumber = 470;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944343.213994;
|
modificationTime = 306401551.692508;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6B847758122D14FE00ADF63D /* DetourObstacleAvoidance.cpp:113 */ = {
|
6B847758122D14FE00ADF63D /* DetourObstacleAvoidance.cpp:113 */ = {
|
||||||
@ -759,8 +771,8 @@
|
|||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 113;
|
lineNumber = 113;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944382.2061139;
|
modificationTime = 306401551.711653;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6B847774122D220D00ADF63D /* ValueHistory.h */ = {
|
6B847774122D220D00ADF63D /* ValueHistory.h */ = {
|
||||||
@ -832,7 +844,7 @@
|
|||||||
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
|
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
|
||||||
name = "NavMeshTesterTool.cpp: 581";
|
name = "NavMeshTesterTool.cpp: 581";
|
||||||
rLen = 0;
|
rLen = 0;
|
||||||
rLoc = 15382;
|
rLoc = 15450;
|
||||||
rType = 0;
|
rType = 0;
|
||||||
vrLen = 978;
|
vrLen = 978;
|
||||||
vrLoc = 14862;
|
vrLoc = 14862;
|
||||||
@ -884,7 +896,7 @@
|
|||||||
argumentStrings = (
|
argumentStrings = (
|
||||||
);
|
);
|
||||||
autoAttachOnCrash = 1;
|
autoAttachOnCrash = 1;
|
||||||
breakpointsEnabled = 0;
|
breakpointsEnabled = 1;
|
||||||
configStateDict = {
|
configStateDict = {
|
||||||
};
|
};
|
||||||
customDataFormattersEnabled = 1;
|
customDataFormattersEnabled = 1;
|
||||||
@ -993,7 +1005,7 @@
|
|||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 78;
|
lineNumber = 78;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944329.51096;
|
modificationTime = 306401551.10762;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 0;
|
||||||
state = 2;
|
state = 2;
|
||||||
};
|
};
|
||||||
@ -1010,9 +1022,9 @@
|
|||||||
hitCount = 0;
|
hitCount = 0;
|
||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 131;
|
lineNumber = 131;
|
||||||
modificationTime = 304944330.098894;
|
modificationTime = 306401746.596139;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 0;
|
state = 1;
|
||||||
};
|
};
|
||||||
6B920A521225C0AC00D5B5AD /* PBXTextBookmark */ = {
|
6B920A521225C0AC00D5B5AD /* PBXTextBookmark */ = {
|
||||||
isa = PBXTextBookmark;
|
isa = PBXTextBookmark;
|
||||||
@ -1286,8 +1298,8 @@
|
|||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 137;
|
lineNumber = 137;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944329.507947;
|
modificationTime = 306401551.756008;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6BA687CA1222FA9300730711 /* PBXTextBookmark */ = {
|
6BA687CA1222FA9300730711 /* PBXTextBookmark */ = {
|
||||||
@ -1457,16 +1469,16 @@
|
|||||||
};
|
};
|
||||||
6BAF40D912196A25008CFCDF /* DetourNavMeshQuery.h */ = {
|
6BAF40D912196A25008CFCDF /* DetourNavMeshQuery.h */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {933, 6336}}";
|
sepNavIntBoundsRect = "{{0, 0}, {933, 5317}}";
|
||||||
sepNavSelRange = "{710, 0}";
|
sepNavSelRange = "{6787, 0}";
|
||||||
sepNavVisRange = "{0, 1358}";
|
sepNavVisRange = "{5974, 1646}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */ = {
|
6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {933, 31733}}";
|
sepNavIntBoundsRect = "{{0, 0}, {933, 31785}}";
|
||||||
sepNavSelRange = "{38744, 0}";
|
sepNavSelRange = "{26275, 0}";
|
||||||
sepNavVisRange = "{38369, 869}";
|
sepNavVisRange = "{26033, 680}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
6BAF427A121ADCC2008CFCDF /* DetourAssert.h */ = {
|
6BAF427A121ADCC2008CFCDF /* DetourAssert.h */ = {
|
||||||
@ -1587,9 +1599,9 @@
|
|||||||
};
|
};
|
||||||
6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */ = {
|
6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {933, 20000}}";
|
sepNavIntBoundsRect = "{{0, 0}, {933, 16302}}";
|
||||||
sepNavSelRange = "{15382, 0}";
|
sepNavSelRange = "{13948, 0}";
|
||||||
sepNavVisRange = "{14862, 978}";
|
sepNavVisRange = "{13682, 883}";
|
||||||
sepNavWindowFrame = "{{38, 30}, {1214, 722}}";
|
sepNavWindowFrame = "{{38, 30}, {1214, 722}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -1706,8 +1718,8 @@
|
|||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 279;
|
lineNumber = 279;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944329.505402;
|
modificationTime = 306401551.633957;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6BCF32341104CD05009445BF /* OffMeshConnectionTool.h */ = {
|
6BCF32341104CD05009445BF /* OffMeshConnectionTool.h */ = {
|
||||||
@ -1838,7 +1850,7 @@
|
|||||||
vrLen = 763;
|
vrLen = 763;
|
||||||
vrLoc = 1682;
|
vrLoc = 1682;
|
||||||
};
|
};
|
||||||
6BD403421224642500995864 /* NavMeshTesterTool.cpp:581 */ = {
|
6BD403421224642500995864 /* NavMeshTesterTool.cpp:580 */ = {
|
||||||
isa = PBXFileBreakpoint;
|
isa = PBXFileBreakpoint;
|
||||||
actions = (
|
actions = (
|
||||||
);
|
);
|
||||||
@ -1850,10 +1862,10 @@
|
|||||||
functionName = "NavMeshTesterTool::recalc()";
|
functionName = "NavMeshTesterTool::recalc()";
|
||||||
hitCount = 0;
|
hitCount = 0;
|
||||||
ignoreCount = 0;
|
ignoreCount = 0;
|
||||||
lineNumber = 581;
|
lineNumber = 580;
|
||||||
location = Recast;
|
location = Recast;
|
||||||
modificationTime = 304944329.508438;
|
modificationTime = 306401551.670537;
|
||||||
originalNumberOfMultipleMatches = 0;
|
originalNumberOfMultipleMatches = 1;
|
||||||
state = 1;
|
state = 1;
|
||||||
};
|
};
|
||||||
6BD403B31224815A00995864 /* DetourHashLookup.cpp */ = {
|
6BD403B31224815A00995864 /* DetourHashLookup.cpp */ = {
|
||||||
@ -2017,7 +2029,7 @@
|
|||||||
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
|
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
|
||||||
name = "DetourNavMeshQuery.cpp: 2141";
|
name = "DetourNavMeshQuery.cpp: 2141";
|
||||||
rLen = 101;
|
rLen = 101;
|
||||||
rLoc = 58084;
|
rLoc = 58257;
|
||||||
rType = 0;
|
rType = 0;
|
||||||
vrLen = 749;
|
vrLen = 749;
|
||||||
vrLoc = 57588;
|
vrLoc = 57588;
|
||||||
@ -2298,7 +2310,7 @@
|
|||||||
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
|
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
|
||||||
name = "DetourNavMeshQuery.cpp: 1426";
|
name = "DetourNavMeshQuery.cpp: 1426";
|
||||||
rLen = 0;
|
rLen = 0;
|
||||||
rLoc = 38744;
|
rLoc = 38917;
|
||||||
rType = 0;
|
rType = 0;
|
||||||
vrLen = 869;
|
vrLen = 869;
|
||||||
vrLoc = 38369;
|
vrLoc = 38369;
|
||||||
@ -2423,6 +2435,134 @@
|
|||||||
vrLen = 705;
|
vrLen = 705;
|
||||||
vrLoc = 1726;
|
vrLoc = 1726;
|
||||||
};
|
};
|
||||||
|
6BD6684E124350B80021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
|
||||||
|
name = "main.cpp: 64";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 1985;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 784;
|
||||||
|
vrLoc = 1728;
|
||||||
|
};
|
||||||
|
6BD6684F124350B80021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BF7C4531115C277002B3F46 /* RecastArea.cpp */;
|
||||||
|
name = "RecastArea.cpp: 46";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 1559;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 1139;
|
||||||
|
vrLoc = 133;
|
||||||
|
};
|
||||||
|
6BD66850124350B80021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BF7C4531115C277002B3F46 /* RecastArea.cpp */;
|
||||||
|
name = "RecastArea.cpp: 23";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 1026;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 1294;
|
||||||
|
vrLoc = 133;
|
||||||
|
};
|
||||||
|
6BD66851124350F50021A7A4 /* NavMeshTesterTool.cpp:519 */ = {
|
||||||
|
isa = PBXFileBreakpoint;
|
||||||
|
actions = (
|
||||||
|
);
|
||||||
|
breakpointStyle = 0;
|
||||||
|
continueAfterActions = 0;
|
||||||
|
countType = 0;
|
||||||
|
delayBeforeContinue = 0;
|
||||||
|
fileReference = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
|
||||||
|
functionName = "NavMeshTesterTool::handleUpdate(const float /*dt*/)";
|
||||||
|
hitCount = 1;
|
||||||
|
ignoreCount = 0;
|
||||||
|
lineNumber = 519;
|
||||||
|
location = Recast;
|
||||||
|
modificationTime = 306401568.542967;
|
||||||
|
originalNumberOfMultipleMatches = 1;
|
||||||
|
state = 1;
|
||||||
|
};
|
||||||
|
6BD66855124350F80021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BF7C4531115C277002B3F46 /* RecastArea.cpp */;
|
||||||
|
name = "RecastArea.cpp: 21";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 986;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 1294;
|
||||||
|
vrLoc = 133;
|
||||||
|
};
|
||||||
|
6BD66856124350F80021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
|
||||||
|
name = "NavMeshTesterTool.cpp: 521";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 14059;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 884;
|
||||||
|
vrLoc = 13681;
|
||||||
|
};
|
||||||
|
6BD66857124350F80021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
|
||||||
|
name = "NavMeshTesterTool.cpp: 518";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 13948;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 884;
|
||||||
|
vrLoc = 13681;
|
||||||
|
};
|
||||||
|
6BD6685A124351100021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
|
||||||
|
name = "NavMeshTesterTool.cpp: 518";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 13948;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 883;
|
||||||
|
vrLoc = 13682;
|
||||||
|
};
|
||||||
|
6BD6685E124351D70021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
|
||||||
|
name = "NavMeshTesterTool.cpp: 518";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 13948;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 883;
|
||||||
|
vrLoc = 13682;
|
||||||
|
};
|
||||||
|
6BD6685F124351D70021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BAF40D912196A25008CFCDF /* DetourNavMeshQuery.h */;
|
||||||
|
name = "DetourNavMeshQuery.h: 152";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 6787;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 1646;
|
||||||
|
vrLoc = 5974;
|
||||||
|
};
|
||||||
|
6BD66860124351D70021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
|
||||||
|
name = "DetourNavMeshQuery.cpp: 960";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 26267;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 605;
|
||||||
|
vrLoc = 26033;
|
||||||
|
};
|
||||||
|
6BD66861124351D70021A7A4 /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
|
||||||
|
name = "DetourNavMeshQuery.cpp: 962";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 26275;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 680;
|
||||||
|
vrLoc = 26033;
|
||||||
|
};
|
||||||
6BF5F23911747606000502A6 /* Filelist.cpp */ = {
|
6BF5F23911747606000502A6 /* Filelist.cpp */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {909, 1600}}";
|
sepNavIntBoundsRect = "{{0, 0}, {909, 1600}}";
|
||||||
@ -2531,9 +2671,9 @@
|
|||||||
};
|
};
|
||||||
6BF7C4531115C277002B3F46 /* RecastArea.cpp */ = {
|
6BF7C4531115C277002B3F46 /* RecastArea.cpp */ = {
|
||||||
uiCtxt = {
|
uiCtxt = {
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {933, 6496}}";
|
sepNavIntBoundsRect = "{{0, 0}, {933, 5135}}";
|
||||||
sepNavSelRange = "{1559, 0}";
|
sepNavSelRange = "{986, 0}";
|
||||||
sepNavVisRange = "{0, 1272}";
|
sepNavVisRange = "{133, 1294}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
8D1107260486CEB800E47090 /* Recast */ = {
|
8D1107260486CEB800E47090 /* Recast */ = {
|
||||||
|
@ -284,13 +284,14 @@
|
|||||||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||||
<array>
|
<array>
|
||||||
<array>
|
<array>
|
||||||
<integer>60</integer>
|
<integer>59</integer>
|
||||||
|
<integer>51</integer>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</array>
|
</array>
|
||||||
</array>
|
</array>
|
||||||
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
|
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
|
||||||
<string>{{0, 521}, {264, 607}}</string>
|
<string>{{0, 451}, {264, 607}}</string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>PBXTopSmartGroupGIDs</key>
|
<key>PBXTopSmartGroupGIDs</key>
|
||||||
<array/>
|
<array/>
|
||||||
@ -325,7 +326,7 @@
|
|||||||
<key>PBXProjectModuleGUID</key>
|
<key>PBXProjectModuleGUID</key>
|
||||||
<string>6B8632A30F78115100E2684A</string>
|
<string>6B8632A30F78115100E2684A</string>
|
||||||
<key>PBXProjectModuleLabel</key>
|
<key>PBXProjectModuleLabel</key>
|
||||||
<string>main.cpp</string>
|
<string>DetourNavMeshQuery.cpp</string>
|
||||||
<key>PBXSplitModuleInNavigatorKey</key>
|
<key>PBXSplitModuleInNavigatorKey</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Split0</key>
|
<key>Split0</key>
|
||||||
@ -333,11 +334,11 @@
|
|||||||
<key>PBXProjectModuleGUID</key>
|
<key>PBXProjectModuleGUID</key>
|
||||||
<string>6B8632A40F78115100E2684A</string>
|
<string>6B8632A40F78115100E2684A</string>
|
||||||
<key>PBXProjectModuleLabel</key>
|
<key>PBXProjectModuleLabel</key>
|
||||||
<string>main.cpp</string>
|
<string>DetourNavMeshQuery.cpp</string>
|
||||||
<key>_historyCapacity</key>
|
<key>_historyCapacity</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
<key>bookmark</key>
|
<key>bookmark</key>
|
||||||
<string>6BD6684712434DE80021A7A4</string>
|
<string>6BD66861124351D70021A7A4</string>
|
||||||
<key>history</key>
|
<key>history</key>
|
||||||
<array>
|
<array>
|
||||||
<string>6BBB4AA5115B4F3400CF791D</string>
|
<string>6BBB4AA5115B4F3400CF791D</string>
|
||||||
@ -381,14 +382,12 @@
|
|||||||
<string>6B920A6E1225C5DD00D5B5AD</string>
|
<string>6B920A6E1225C5DD00D5B5AD</string>
|
||||||
<string>6B920A811225D2EC00D5B5AD</string>
|
<string>6B920A811225D2EC00D5B5AD</string>
|
||||||
<string>6B920A8F1225D3C900D5B5AD</string>
|
<string>6B920A8F1225D3C900D5B5AD</string>
|
||||||
<string>6B920AA71225DBCB00D5B5AD</string>
|
|
||||||
<string>6B920AA81225DBCB00D5B5AD</string>
|
<string>6B920AA81225DBCB00D5B5AD</string>
|
||||||
<string>6BA7F8A81226EF0400C8C47A</string>
|
<string>6BA7F8A81226EF0400C8C47A</string>
|
||||||
<string>6BA7F8AA1226EF0400C8C47A</string>
|
<string>6BA7F8AA1226EF0400C8C47A</string>
|
||||||
<string>6BA7F8AC1226EF0400C8C47A</string>
|
<string>6BA7F8AC1226EF0400C8C47A</string>
|
||||||
<string>6BA7F8B61226EF1100C8C47A</string>
|
<string>6BA7F8B61226EF1100C8C47A</string>
|
||||||
<string>6BA7F8D01226EF9D00C8C47A</string>
|
<string>6BA7F8D01226EF9D00C8C47A</string>
|
||||||
<string>6BA7F8E91227002300C8C47A</string>
|
|
||||||
<string>6BA7F8EB1227002300C8C47A</string>
|
<string>6BA7F8EB1227002300C8C47A</string>
|
||||||
<string>6BA7F8EC1227002300C8C47A</string>
|
<string>6BA7F8EC1227002300C8C47A</string>
|
||||||
<string>6BA7F8ED1227002300C8C47A</string>
|
<string>6BA7F8ED1227002300C8C47A</string>
|
||||||
@ -406,7 +405,6 @@
|
|||||||
<string>6B8477BB122D297200ADF63D</string>
|
<string>6B8477BB122D297200ADF63D</string>
|
||||||
<string>6B8477E1122D2B9100ADF63D</string>
|
<string>6B8477E1122D2B9100ADF63D</string>
|
||||||
<string>6B8477EE122D2CC900ADF63D</string>
|
<string>6B8477EE122D2CC900ADF63D</string>
|
||||||
<string>6B8477FB122D2E2A00ADF63D</string>
|
|
||||||
<string>6B8477FC122D2E2A00ADF63D</string>
|
<string>6B8477FC122D2E2A00ADF63D</string>
|
||||||
<string>6B8477FD122D2E2A00ADF63D</string>
|
<string>6B8477FD122D2E2A00ADF63D</string>
|
||||||
<string>6B8477FE122D2E2A00ADF63D</string>
|
<string>6B8477FE122D2E2A00ADF63D</string>
|
||||||
@ -421,10 +419,13 @@
|
|||||||
<string>6BD6681812434B790021A7A4</string>
|
<string>6BD6681812434B790021A7A4</string>
|
||||||
<string>6BD6683412434D9D0021A7A4</string>
|
<string>6BD6683412434D9D0021A7A4</string>
|
||||||
<string>6BD6683512434D9D0021A7A4</string>
|
<string>6BD6683512434D9D0021A7A4</string>
|
||||||
<string>6BD6683612434D9D0021A7A4</string>
|
|
||||||
<string>6BD6683712434D9D0021A7A4</string>
|
<string>6BD6683712434D9D0021A7A4</string>
|
||||||
<string>6BD6684512434DE80021A7A4</string>
|
<string>6BD6684512434DE80021A7A4</string>
|
||||||
<string>6BD6684612434DE80021A7A4</string>
|
<string>6BD6684E124350B80021A7A4</string>
|
||||||
|
<string>6BD66855124350F80021A7A4</string>
|
||||||
|
<string>6BD6685E124351D70021A7A4</string>
|
||||||
|
<string>6BD6685F124351D70021A7A4</string>
|
||||||
|
<string>6BD66860124351D70021A7A4</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
<key>SplitCount</key>
|
<key>SplitCount</key>
|
||||||
@ -438,18 +439,18 @@
|
|||||||
<key>GeometryConfiguration</key>
|
<key>GeometryConfiguration</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Frame</key>
|
<key>Frame</key>
|
||||||
<string>{{0, 0}, {994, 420}}</string>
|
<string>{{0, 0}, {994, 518}}</string>
|
||||||
<key>RubberWindowFrame</key>
|
<key>RubberWindowFrame</key>
|
||||||
<string>0 112 1280 666 0 0 1280 778 </string>
|
<string>0 112 1280 666 0 0 1280 778 </string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Module</key>
|
<key>Module</key>
|
||||||
<string>PBXNavigatorGroup</string>
|
<string>PBXNavigatorGroup</string>
|
||||||
<key>Proportion</key>
|
<key>Proportion</key>
|
||||||
<string>420pt</string>
|
<string>518pt</string>
|
||||||
</dict>
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Proportion</key>
|
<key>Proportion</key>
|
||||||
<string>200pt</string>
|
<string>102pt</string>
|
||||||
<key>Tabs</key>
|
<key>Tabs</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
@ -517,7 +518,7 @@
|
|||||||
<key>GeometryConfiguration</key>
|
<key>GeometryConfiguration</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Frame</key>
|
<key>Frame</key>
|
||||||
<string>{{10, 27}, {994, 173}}</string>
|
<string>{{10, 27}, {994, 75}}</string>
|
||||||
<key>RubberWindowFrame</key>
|
<key>RubberWindowFrame</key>
|
||||||
<string>0 112 1280 666 0 0 1280 778 </string>
|
<string>0 112 1280 666 0 0 1280 778 </string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -507,34 +507,33 @@ void NavMeshTesterTool::handleStep()
|
|||||||
|
|
||||||
void NavMeshTesterTool::handleUpdate(const float /*dt*/)
|
void NavMeshTesterTool::handleUpdate(const float /*dt*/)
|
||||||
{
|
{
|
||||||
if (m_pathFindState == DT_QUERY_RUNNING)
|
if (m_toolMode == TOOLMODE_PATHFIND_SLICED)
|
||||||
{
|
{
|
||||||
m_pathFindState = m_navQuery->updateSlicedFindPath(1);
|
if (m_pathFindState == DT_QUERY_RUNNING)
|
||||||
}
|
|
||||||
|
|
||||||
if (m_pathFindState == DT_QUERY_READY)
|
|
||||||
{
|
|
||||||
m_npolys = m_navQuery->finalizeSlicedFindPath(m_polys, MAX_POLYS);
|
|
||||||
m_nstraightPath = 0;
|
|
||||||
if (m_npolys)
|
|
||||||
{
|
{
|
||||||
// In case of partial path, make sure the end point is clamped to the last polygon.
|
m_pathFindState = m_navQuery->updateSlicedFindPath(1);
|
||||||
float epos[3];
|
}
|
||||||
dtVcopy(epos, m_epos);
|
|
||||||
if (m_polys[m_npolys-1] != m_endRef)
|
if (m_pathFindState == DT_QUERY_READY)
|
||||||
m_navQuery->closestPointOnPoly(m_polys[m_npolys-1], m_epos, epos);
|
{
|
||||||
|
m_npolys = m_navQuery->finalizeSlicedFindPath(m_polys, MAX_POLYS);
|
||||||
m_nstraightPath = m_navQuery->findStraightPath(m_spos, epos, m_polys, m_npolys,
|
m_nstraightPath = 0;
|
||||||
m_straightPath, m_straightPathFlags,
|
if (m_npolys)
|
||||||
m_straightPathPolys, MAX_POLYS);
|
{
|
||||||
|
// In case of partial path, make sure the end point is clamped to the last polygon.
|
||||||
|
float epos[3];
|
||||||
|
dtVcopy(epos, m_epos);
|
||||||
|
if (m_polys[m_npolys-1] != m_endRef)
|
||||||
|
m_navQuery->closestPointOnPoly(m_polys[m_npolys-1], m_epos, epos);
|
||||||
|
|
||||||
|
m_nstraightPath = m_navQuery->findStraightPath(m_spos, epos, m_polys, m_npolys,
|
||||||
|
m_straightPath, m_straightPathFlags,
|
||||||
|
m_straightPathPolys, MAX_POLYS);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_pathFindState = DT_QUERY_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pathFindState = DT_QUERY_FAILED;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavMeshTesterTool::reset()
|
void NavMeshTesterTool::reset()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user