diff --git a/Detour/Include/DetourNavMesh.h b/Detour/Include/DetourNavMesh.h
index 984ff24..a4284fa 100644
--- a/Detour/Include/DetourNavMesh.h
+++ b/Detour/Include/DetourNavMesh.h
@@ -28,19 +28,39 @@ static const int DT_VERTS_PER_POLYGON = 6;
static const int DT_NAVMESH_MAGIC = 'DNAV';
static const int DT_NAVMESH_VERSION = 2;
-static const unsigned char DT_POLY_OFFMESH_CONNECTION = 1;
-
static const unsigned short DT_EXT_LINK = 0x8000;
+// Flags returned by findStraightPath().
+enum dtStraightPathFlags
+{
+ DT_STRAIGHTPATH_START = 0x01, // The vertex is the start position.
+ DT_STRAIGHTPATH_END = 0x02, // The vertex is the end position.
+ DT_STRAIGHTPATH_OFFMESH_CONNECTION = 0x04, // The vertex is start of an off-mesh link.
+};
+
+// Flags describing polygon properties.
+enum dtPolyFlags
+{
+ DT_POLY_GROUND = 0x01, // Regular ground polygons.
+ DT_POLY_OFFMESH_CONNECTION = 0x02, // Off-mesh connections.
+};
+
+struct dtQueryFilter
+{
+ dtQueryFilter() : includeFlags(0xffff), excludeFlags(0) {}
+ unsigned short includeFlags; // If any of the flags are set, the poly is included.
+ unsigned short excludeFlags; // If any of the flags are set, the poly is excluded.
+};
+
// Structure describing the navigation polygon data.
struct dtPoly
{
unsigned short verts[DT_VERTS_PER_POLYGON]; // Indices to vertices of the poly.
unsigned short neis[DT_VERTS_PER_POLYGON]; // Refs to neighbours of the poly.
unsigned short linkBase; // Base index to header 'links' array.
+ unsigned short flags; // Flags (see dtPolyFlags).
unsigned char linkCount; // Number of links for
unsigned char vertCount; // Number of vertices.
- unsigned char flags; // Flags.
};
// Stucture describing polygon detail triangles.
@@ -118,13 +138,6 @@ struct dtMeshTile
dtMeshTile* next; // Next free tile or, next tile in spatial grid.
};
-// Flags returned by findStraightPath().
-enum dtStraightPathFlags
-{
- DT_STRAIGHTPATH_START = 0x01, // The vertex is the start position.
- DT_STRAIGHTPATH_END = 0x02, // The vertex is the end position.
- DT_STRAIGHTPATH_OFFMESH_CONNECTION = 0x04, // The vertex is start of an off-mesh link.
-};
class dtNavMesh
{
@@ -206,16 +219,17 @@ public:
// extents - (in) The extents of the search box.
// nearestPt - (out, opt) The nearest point on found polygon, null if not needed.
// Returns: Reference identifier for the polygon, or 0 if no polygons found.
- dtPolyRef findNearestPoly(const float* center, const float* extents, float* nearestPt);
+ dtPolyRef findNearestPoly(const float* center, const float* extents, dtQueryFilter* filter, float* nearestPt);
// Returns polygons which touch the query box.
// Params:
// center - (in) the center of the search box.
// extents - (in) the extents of the search box.
+ // flags - (int)
// polys - (out) array holding the search result.
// maxPolys - (in) The max number of polygons the polys array can hold.
// Returns: Number of polygons in search result array.
- int queryPolygons(const float* center, const float* extents,
+ int queryPolygons(const float* center, const float* extents, dtQueryFilter* filter,
dtPolyRef* polys, const int maxPolys);
// Finds path from start polygon to end polygon.
@@ -229,6 +243,7 @@ public:
// Returns: Number of polygons in search result array.
int findPath(dtPolyRef startRef, dtPolyRef endRef,
const float* startPos, const float* endPos,
+ dtQueryFilter* filter,
dtPolyRef* path, const int maxPathSize);
// Finds a straight path from start to end locations within the corridor
@@ -266,7 +281,7 @@ public:
// hitNormal - (out) normal of the nearest hit.
// endRef - (out) ref to the last polygon which was processed.
// Returns: Number of polygons in path or 0 if failed.
- int raycast(dtPolyRef startRef, const float* startPos, const float* endPos,
+ int raycast(dtPolyRef startRef, const float* startPos, const float* endPos, dtQueryFilter* filter,
float& t, float* hitNormal, dtPolyRef* path, const int pathSize);
// Returns distance to nearest wall from the specified location.
@@ -278,7 +293,7 @@ public:
// hitNormal - (out) normal of the nearest hit.
// Returns: Distance to nearest wall from the test location.
float findDistanceToWall(dtPolyRef centerRef, const float* centerPos, float maxRadius,
- float* hitPos, float* hitNormal);
+ dtQueryFilter* filter, float* hitPos, float* hitNormal);
// Finds polygons found along the navigation graph which touch the specified circle.
// Params:
@@ -290,7 +305,7 @@ public:
// resultCost - (out, opt) search cost at each result polygon.
// maxResult - (int) maximum capacity of search results.
// Returns: Number of results.
- int findPolysAround(dtPolyRef centerRef, const float* centerPos, float radius,
+ int findPolysAround(dtPolyRef centerRef, const float* centerPos, float radius, dtQueryFilter* filter,
dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost,
const int maxResult);
@@ -371,9 +386,9 @@ private:
// Removes external links at specified side.
void removeExtLinks(dtMeshTile* tile, int side);
// Queries polygons within a tile.
- int queryTilePolygons(dtMeshTile* tile, const float* qmin, const float* qmax,
+ int queryTilePolygons(dtMeshTile* tile, const float* qmin, const float* qmax, dtQueryFilter* filter,
dtPolyRef* polys, const int maxPolys);
-
+ unsigned short getPolyFlags(dtPolyRef ref);
float getCost(dtPolyRef prev, dtPolyRef from, dtPolyRef to) const;
float getFirstCost(const float* pos, dtPolyRef from, dtPolyRef to) const;
float getLastCost(dtPolyRef from, dtPolyRef to, const float* pos) const;
@@ -381,7 +396,7 @@ private:
// Returns portal points between two polygons.
bool getPortalPoints(dtPolyRef from, dtPolyRef to, float* left, float* right,
- unsigned char& fromFlags, unsigned char& toFlags) const;
+ unsigned short& fromFlags, unsigned short& toFlags) const;
// Returns edge mid point between two polygons.
bool getEdgeMidPoint(dtPolyRef from, dtPolyRef to, float* mid) const;
diff --git a/Detour/Source/DetourNavMesh.cpp b/Detour/Source/DetourNavMesh.cpp
index 7fb3705..e1eec9d 100644
--- a/Detour/Source/DetourNavMesh.cpp
+++ b/Detour/Source/DetourNavMesh.cpp
@@ -74,6 +74,11 @@ inline int computeTileHash(int x, int y, const int mask)
return (int)(n & mask);
}
+inline bool passFilter(dtQueryFilter* filter, unsigned short flags)
+{
+ return (flags & filter->includeFlags) != 0 && (flags & filter->excludeFlags) == 0;
+}
+
//////////////////////////////////////////////////////////////////////////////////////////
@@ -361,6 +366,7 @@ void dtNavMesh::buildIntLinks(dtMeshTile* tile)
{
dtOffMeshConnection* con = &h->offMeshCons[i];
dtPoly* poly = &h->polys[con->poly];
+ dtQueryFilter defaultFilter;
con->ref[0] = 0;
con->ref[1] = 0;
@@ -371,7 +377,7 @@ void dtNavMesh::buildIntLinks(dtMeshTile* tile)
// Find polygon to connect to.
const float* p = &con->pos[j*3];
float nearestPt[3];
- dtPolyRef ref = findNearestPoly(p, ext, nearestPt);
+ dtPolyRef ref = findNearestPoly(p, ext, &defaultFilter, nearestPt);
// findNearestPoly may return too optimistic results, further check to make sure.
if (sqr(nearestPt[0]-p[0])+sqr(nearestPt[2]-p[2]) > sqr(con->rad))
continue;
@@ -847,11 +853,11 @@ bool dtNavMesh::getPolyHeight(dtPolyRef ref, const float* pos, float* height) co
}
-dtPolyRef dtNavMesh::findNearestPoly(const float* center, const float* extents, float* nearestPt)
+dtPolyRef dtNavMesh::findNearestPoly(const float* center, const float* extents, dtQueryFilter* filter, float* nearestPt)
{
// Get nearby polygons from proximity grid.
dtPolyRef polys[128];
- int polyCount = queryPolygons(center, extents, polys, 128);
+ int polyCount = queryPolygons(center, extents, filter, polys, 128);
// Find nearest polygon amongst the nearby polygons.
dtPolyRef nearest = 0;
@@ -875,8 +881,8 @@ dtPolyRef dtNavMesh::findNearestPoly(const float* center, const float* extents,
return nearest;
}
-int dtNavMesh::queryTilePolygons(dtMeshTile* tile,
- const float* qmin, const float* qmax,
+int dtNavMesh::queryTilePolygons(dtMeshTile* tile, const float* qmin, const float* qmax,
+ dtQueryFilter* filter,
dtPolyRef* polys, const int maxPolys)
{
const dtMeshHeader* header = tile->header;
@@ -912,8 +918,11 @@ int dtNavMesh::queryTilePolygons(dtMeshTile* tile,
if (isLeafNode && overlap)
{
- if (n < maxPolys)
- polys[n++] = base | (dtPolyRef)node->i;
+ if (passFilter(filter, header->polys[node->i].flags))
+ {
+ if (n < maxPolys)
+ polys[n++] = base | (dtPolyRef)node->i;
+ }
}
if (overlap || isLeafNode)
@@ -948,15 +957,18 @@ int dtNavMesh::queryTilePolygons(dtMeshTile* tile,
}
if (overlapBoxes(qmin,qmax, bmin,bmax))
{
- if (n < maxPolys)
- polys[n++] = base | (dtPolyRef)i;
+ if (passFilter(filter, p->flags))
+ {
+ if (n < maxPolys)
+ polys[n++] = base | (dtPolyRef)i;
+ }
}
}
return n;
}
}
-int dtNavMesh::queryPolygons(const float* center, const float* extents,
+int dtNavMesh::queryPolygons(const float* center, const float* extents, dtQueryFilter* filter,
dtPolyRef* polys, const int maxPolys)
{
float bmin[3], bmax[3];
@@ -982,7 +994,7 @@ int dtNavMesh::queryPolygons(const float* center, const float* extents,
{
dtMeshTile* tile = getTileAt(x,y);
if (!tile) continue;
- n += queryTilePolygons(tile, bmin, bmax, polys+n, maxPolys-n);
+ n += queryTilePolygons(tile, bmin, bmax, filter, polys+n, maxPolys-n);
if (n >= maxPolys) return n;
}
}
@@ -991,8 +1003,9 @@ int dtNavMesh::queryPolygons(const float* center, const float* extents,
}
int dtNavMesh::findPath(dtPolyRef startRef, dtPolyRef endRef,
- const float* startPos, const float* endPos,
- dtPolyRef* path, const int maxPathSize)
+ const float* startPos, const float* endPos,
+ dtQueryFilter* filter,
+ dtPolyRef* path, const int maxPathSize)
{
if (!startRef || !endRef)
return 0;
@@ -1053,6 +1066,10 @@ int dtNavMesh::findPath(dtPolyRef startRef, dtPolyRef endRef,
if (bestNode->pidx && m_nodePool->getNodeAtIdx(bestNode->pidx)->id == neighbour)
continue;
+ // TODO: Avoid digging the polygon (done in getEdgeMidPoint too).
+ if (!passFilter(filter, getPolyFlags(neighbour)))
+ continue;
+
dtNode* parent = bestNode;
dtNode newNode;
newNode.pidx = m_nodePool->getNodeIdx(parent);
@@ -1064,7 +1081,9 @@ int dtNavMesh::findPath(dtPolyRef startRef, dtPolyRef endRef,
vcopy(p0, startPos);
else
getEdgeMidPoint(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, p0);
+
getEdgeMidPoint(parent->id, newNode.id, p1);
+
newNode.cost = parent->cost + vdist(p0,p1);
// Special case for last node.
if (newNode.id == endRef)
@@ -1174,8 +1193,8 @@ int dtNavMesh::findStraightPath(const float* startPos, const float* endPos,
int leftIndex = 0;
int rightIndex = 0;
- unsigned char leftPolyFlags = 0;
- unsigned char rightPolyFlags = 0;
+ unsigned short leftPolyFlags = 0;
+ unsigned short rightPolyFlags = 0;
dtPolyRef leftPolyRef = path[0];
dtPolyRef rightPolyRef = path[0];
@@ -1183,7 +1202,7 @@ int dtNavMesh::findStraightPath(const float* startPos, const float* endPos,
for (int i = 0; i < pathSize; ++i)
{
float left[3], right[3];
- unsigned char fromFlags, toFlags;
+ unsigned short fromFlags, toFlags;
if (i+1 < pathSize)
{
@@ -1382,7 +1401,7 @@ int dtNavMesh::moveAlongPathCorridor(const float* startPos, const float* endPos,
if (n+1 < pathSize)
{
float left[3], right[3];
- unsigned char fromFlags, toFlags;
+ unsigned short fromFlags, toFlags;
if (!getPortalPoints(path[n], path[n+1], left, right, fromFlags, toFlags))
return n;
vcopy(resultPos, endPos);
@@ -1426,7 +1445,7 @@ int dtNavMesh::moveAlongPathCorridor(const float* startPos, const float* endPos,
if (n+1 >= pathSize)
return n;
float left[3], right[3];
- unsigned char fromFlags, toFlags;
+ unsigned short fromFlags, toFlags;
if (!getPortalPoints(path[n], path[n+1], left, right, fromFlags, toFlags))
return n;
// If the clamped point is close to the next portal edge, advance to next poly.
@@ -1443,7 +1462,7 @@ int dtNavMesh::moveAlongPathCorridor(const float* startPos, const float* endPos,
// Returns portal points between two polygons.
bool dtNavMesh::getPortalPoints(dtPolyRef from, dtPolyRef to, float* left, float* right,
- unsigned char& fromFlags, unsigned char& toFlags) const
+ unsigned short& fromFlags, unsigned short& toFlags) const
{
unsigned int salt, it, ip;
dtDecodePolyId(from, salt, it, ip);
@@ -1526,7 +1545,7 @@ bool dtNavMesh::getPortalPoints(dtPolyRef from, dtPolyRef to, float* left, float
bool dtNavMesh::getEdgeMidPoint(dtPolyRef from, dtPolyRef to, float* mid) const
{
float left[3], right[3];
- unsigned char fromFlags, toFlags;
+ unsigned short fromFlags, toFlags;
if (!getPortalPoints(from, to, left,right, fromFlags, toFlags)) return false;
mid[0] = (left[0]+right[0])*0.5f;
mid[1] = (left[1]+right[1])*0.5f;
@@ -1534,7 +1553,19 @@ bool dtNavMesh::getEdgeMidPoint(dtPolyRef from, dtPolyRef to, float* mid) const
return true;
}
-int dtNavMesh::raycast(dtPolyRef centerRef, const float* startPos, const float* endPos,
+unsigned short dtNavMesh::getPolyFlags(dtPolyRef ref)
+{
+ unsigned int salt, it, ip;
+ dtDecodePolyId(ref, salt, it, ip);
+ if (it >= (unsigned int)m_maxTiles) return 0;
+ if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return 0;
+ if (ip >= (unsigned int)m_tiles[it].header->polyCount) return 0;
+ const dtMeshHeader* header = m_tiles[it].header;
+ const dtPoly* poly = &header->polys[ip];
+ return poly->flags;
+}
+
+int dtNavMesh::raycast(dtPolyRef centerRef, const float* startPos, const float* endPos, dtQueryFilter* filter,
float& t, float* hitNormal, dtPolyRef* path, const int pathSize)
{
t = 0;
@@ -1638,7 +1669,7 @@ int dtNavMesh::raycast(dtPolyRef centerRef, const float* startPos, const float*
}
}
- if (!nextRef)
+ if (!nextRef || !passFilter(filter, getPolyFlags(nextRef)))
{
// No neighbour, we hit a wall.
@@ -1664,7 +1695,7 @@ int dtNavMesh::raycast(dtPolyRef centerRef, const float* startPos, const float*
return n;
}
-int dtNavMesh::findPolysAround(dtPolyRef centerRef, const float* centerPos, float radius,
+int dtNavMesh::findPolysAround(dtPolyRef centerRef, const float* centerPos, float radius, dtQueryFilter* filter,
dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost,
const int maxResult)
{
@@ -1727,6 +1758,9 @@ int dtNavMesh::findPolysAround(dtPolyRef centerRef, const float* centerPos, floa
// If the circle is not touching the next polygon, skip it.
if (distSqr > radiusSqr)
continue;
+
+ if (!passFilter(filter, getPolyFlags(neighbour)))
+ continue;
dtNode* parent = bestNode;
dtNode newNode;
@@ -1780,8 +1814,8 @@ int dtNavMesh::findPolysAround(dtPolyRef centerRef, const float* centerPos, floa
return n;
}
-float dtNavMesh::findDistanceToWall(dtPolyRef centerRef, const float* centerPos, float maxRadius,
- float* hitPos, float* hitNormal)
+float dtNavMesh::findDistanceToWall(dtPolyRef centerRef, const float* centerPos, float maxRadius, dtQueryFilter* filter,
+ float* hitPos, float* hitNormal)
{
if (!centerRef) return 0;
if (!getPolyByRef(centerRef)) return 0;
@@ -1822,7 +1856,7 @@ float dtNavMesh::findDistanceToWall(dtPolyRef centerRef, const float* centerPos,
for (int i = 0; i < poly->linkCount; ++i)
{
const dtLink* link = &header->links[poly->linkBase+i];
- if (link->edge == j && link->ref != 0)
+ if (link->edge == j && link->ref != 0 && passFilter(filter, getPolyFlags(link->ref)))
{
solid = false;
break;
@@ -1830,7 +1864,7 @@ float dtNavMesh::findDistanceToWall(dtPolyRef centerRef, const float* centerPos,
}
if (!solid) continue;
}
- else if (poly->neis[j])
+ else if (poly->neis[j] && passFilter(filter, getPolyFlags(poly->neis[j])))
{
// Internal edge
continue;
@@ -1874,6 +1908,9 @@ float dtNavMesh::findDistanceToWall(dtPolyRef centerRef, const float* centerPos,
if (distSqr > radiusSqr)
continue;
+ if (!passFilter(filter, getPolyFlags(neighbour)))
+ continue;
+
dtNode* parent = bestNode;
dtNode newNode;
newNode.pidx = m_nodePool->getNodeIdx(parent);
diff --git a/Detour/Source/DetourNavMeshBuilder.cpp b/Detour/Source/DetourNavMeshBuilder.cpp
index 01aaf75..cdeffcf 100644
--- a/Detour/Source/DetourNavMeshBuilder.cpp
+++ b/Detour/Source/DetourNavMeshBuilder.cpp
@@ -486,6 +486,7 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
{
dtPoly* p = &navPolys[i];
p->vertCount = 0;
+ p->flags = DT_POLY_GROUND;
for (int j = 0; j < nvp; ++j)
{
if (src[j] == 0xffff) break;
diff --git a/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast b/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast
index ffbd99b..bea0fda 100755
Binary files a/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast and b/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast differ
diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser
index 0db18dc..43da251 100644
--- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser
+++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser
@@ -17,10 +17,10 @@
);
breakpoints = (
6BBB88CC10EAA37B008FEA1F /* NavMeshTesterTool.cpp:282 */,
- 6BB700A210FA36C3006DA0A6 /* DetourNavMesh.cpp:207 */,
- 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:207 */,
- 6BCF32FA1104D84C009445BF /* DetourNavMeshBuilder.cpp:572 */,
- 6BCF349A1105F843009445BF /* DetourNavMesh.cpp:510 */,
+ 6BB700A210FA36C3006DA0A6 /* DetourNavMesh.cpp:212 */,
+ 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:212 */,
+ 6BCF32FA1104D84C009445BF /* DetourNavMeshBuilder.cpp:573 */,
+ 6BCF349A1105F843009445BF /* DetourNavMesh.cpp:516 */,
);
codeSenseManager = 6B8632AA0F78115100E2684A /* Code sense */;
executables = (
@@ -762,6 +762,60 @@
6BCF34AD1105F8DB009445BF /* PBXTextBookmark */ = 6BCF34AD1105F8DB009445BF /* PBXTextBookmark */;
6BCF34AE1105F8DB009445BF /* PBXTextBookmark */ = 6BCF34AE1105F8DB009445BF /* PBXTextBookmark */;
6BCF34AF1105F8DB009445BF /* PBXTextBookmark */ = 6BCF34AF1105F8DB009445BF /* PBXTextBookmark */;
+ 6BCF34B01105FA03009445BF /* PBXTextBookmark */ = 6BCF34B01105FA03009445BF /* PBXTextBookmark */;
+ 6BCF34B11105FA03009445BF /* PBXTextBookmark */ = 6BCF34B11105FA03009445BF /* PBXTextBookmark */;
+ 6BCF34B21105FA03009445BF /* PBXTextBookmark */ = 6BCF34B21105FA03009445BF /* PBXTextBookmark */;
+ 6BCF34B31105FA03009445BF /* PBXTextBookmark */ = 6BCF34B31105FA03009445BF /* PBXTextBookmark */;
+ 6BCF34B41105FA03009445BF /* PBXTextBookmark */ = 6BCF34B41105FA03009445BF /* PBXTextBookmark */;
+ 6BCF34B51105FA03009445BF /* PBXTextBookmark */ = 6BCF34B51105FA03009445BF /* PBXTextBookmark */;
+ 6BCF34B61105FA03009445BF /* PBXTextBookmark */ = 6BCF34B61105FA03009445BF /* PBXTextBookmark */;
+ 6BCF34B71105FA9F009445BF /* PBXTextBookmark */ = 6BCF34B71105FA9F009445BF /* PBXTextBookmark */;
+ 6BCF34B81105FB17009445BF /* PBXTextBookmark */ = 6BCF34B81105FB17009445BF /* PBXTextBookmark */;
+ 6BCF34BC1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34BC1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34BD1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34BD1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34BE1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34BE1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34BF1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34BF1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C01105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C01105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C11105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C11105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C21105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C21105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C31105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C31105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C41105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C41105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C51105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C51105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C61105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C61105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C71105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C71105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C81105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C81105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34C91105FD0F009445BF /* PBXTextBookmark */ = 6BCF34C91105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34CA1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34CA1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34CB1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34CB1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34CC1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34CC1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34CD1105FD0F009445BF /* PBXTextBookmark */ = 6BCF34CD1105FD0F009445BF /* PBXTextBookmark */;
+ 6BCF34CE1105FF32009445BF /* PBXTextBookmark */ = 6BCF34CE1105FF32009445BF /* PBXTextBookmark */;
+ 6BCF34CF1105FF32009445BF /* PBXTextBookmark */ = 6BCF34CF1105FF32009445BF /* PBXTextBookmark */;
+ 6BCF34D01105FF32009445BF /* PBXTextBookmark */ = 6BCF34D01105FF32009445BF /* PBXTextBookmark */;
+ 6BCF34D11105FF32009445BF /* PBXTextBookmark */ = 6BCF34D11105FF32009445BF /* PBXTextBookmark */;
+ 6BCF34D21105FF32009445BF /* PBXTextBookmark */ = 6BCF34D21105FF32009445BF /* PBXTextBookmark */;
+ 6BCF34D31105FF32009445BF /* PBXTextBookmark */ = 6BCF34D31105FF32009445BF /* PBXTextBookmark */;
+ 6BCF34D41105FF32009445BF /* PBXTextBookmark */ = 6BCF34D41105FF32009445BF /* PBXTextBookmark */;
+ 6BCF34E1110602BB009445BF /* PBXTextBookmark */ = 6BCF34E1110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E2110602BB009445BF /* PBXTextBookmark */ = 6BCF34E2110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E3110602BB009445BF /* PBXTextBookmark */ = 6BCF34E3110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E4110602BB009445BF /* PBXTextBookmark */ = 6BCF34E4110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E5110602BB009445BF /* PBXTextBookmark */ = 6BCF34E5110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E6110602BB009445BF /* PBXTextBookmark */ = 6BCF34E6110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E7110602BB009445BF /* PBXTextBookmark */ = 6BCF34E7110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E8110602BB009445BF /* PBXTextBookmark */ = 6BCF34E8110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34E9110602BB009445BF /* PBXTextBookmark */ = 6BCF34E9110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34EA110602BB009445BF /* PBXTextBookmark */ = 6BCF34EA110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34EB110602BB009445BF /* PBXTextBookmark */ = 6BCF34EB110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34EC110602BB009445BF /* PBXTextBookmark */ = 6BCF34EC110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34ED110602BB009445BF /* PBXTextBookmark */ = 6BCF34ED110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34EE110602BB009445BF /* PBXTextBookmark */ = 6BCF34EE110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34EF110602BB009445BF /* PBXTextBookmark */ = 6BCF34EF110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34F0110602BB009445BF /* PBXTextBookmark */ = 6BCF34F0110602BB009445BF /* PBXTextBookmark */;
+ 6BCF34F111060322009445BF /* PBXTextBookmark */ = 6BCF34F111060322009445BF /* PBXTextBookmark */;
+ 6BCF34F211060322009445BF /* PBXTextBookmark */ = 6BCF34F211060322009445BF /* PBXTextBookmark */;
+ 6BCF34F311060322009445BF /* PBXTextBookmark */ = 6BCF34F311060322009445BF /* PBXTextBookmark */;
+ 6BCF34F411060322009445BF /* PBXTextBookmark */ = 6BCF34F411060322009445BF /* PBXTextBookmark */;
6BE7320210FE6CEF00C1B074 = 6BE7320210FE6CEF00C1B074 /* PBXTextBookmark */;
6BE7320610FE6CEF00C1B074 = 6BE7320610FE6CEF00C1B074 /* PBXTextBookmark */;
6BE7320E10FE6EBE00C1B074 = 6BE7320E10FE6EBE00C1B074 /* PBXTextBookmark */;
@@ -1008,7 +1062,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 367";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 881;
vrLoc = 9733;
@@ -1018,7 +1072,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 373";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 871;
vrLoc = 9574;
@@ -1028,7 +1082,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 382";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 799;
vrLoc = 9600;
@@ -1038,7 +1092,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 376";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 833;
vrLoc = 9698;
@@ -1048,7 +1102,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 510";
rLen = 0;
- rLoc = 14343;
+ rLoc = 14372;
rType = 0;
vrLen = 868;
vrLoc = 13419;
@@ -1068,7 +1122,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 376";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 833;
vrLoc = 9698;
@@ -1118,7 +1172,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 370";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 802;
vrLoc = 9655;
@@ -1128,7 +1182,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 370";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 815;
vrLoc = 9655;
@@ -1138,7 +1192,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 373";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 818;
vrLoc = 9701;
@@ -1208,7 +1262,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 185";
rLen = 0;
- rLoc = 4946;
+ rLoc = 5103;
rType = 0;
vrLen = 1069;
vrLoc = 4279;
@@ -1218,7 +1272,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 373";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 818;
vrLoc = 9701;
@@ -1248,7 +1302,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 386";
rLen = 0;
- rLoc = 17124;
+ rLoc = 17754;
rType = 0;
vrLen = 1421;
vrLoc = 5152;
@@ -1288,7 +1342,7 @@
fRef = 6BB7FC0910EBB6AA006DA0A6 /* NavMeshTesterTool.h */;
name = "NavMeshTesterTool.h: 45";
rLen = 0;
- rLoc = 1401;
+ rLoc = 1427;
rType = 0;
vrLen = 709;
vrLoc = 1023;
@@ -1318,7 +1372,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 279";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 960;
vrLoc = 6951;
@@ -1338,7 +1392,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 75";
rLen = 0;
- rLoc = 2262;
+ rLoc = 2361;
rType = 0;
vrLen = 592;
vrLoc = 1824;
@@ -1388,7 +1442,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 579";
rLen = 0;
- rLoc = 16552;
+ rLoc = 16581;
rType = 0;
vrLen = 713;
vrLoc = 15417;
@@ -1428,7 +1482,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 69";
rLen = 19;
- rLoc = 2673;
+ rLoc = 3375;
rType = 0;
vrLen = 1188;
vrLoc = 2200;
@@ -1468,7 +1522,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 291";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 922;
vrLoc = 7386;
@@ -1488,7 +1542,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 569";
rLen = 0;
- rLoc = 16105;
+ rLoc = 16134;
rType = 0;
vrLen = 857;
vrLoc = 15275;
@@ -1498,7 +1552,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 291";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 922;
vrLoc = 7386;
@@ -1518,7 +1572,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 569";
rLen = 0;
- rLoc = 16105;
+ rLoc = 16134;
rType = 0;
vrLen = 857;
vrLoc = 15275;
@@ -1631,23 +1685,23 @@
};
6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {891, 30960}}";
- sepNavSelRange = "{13946, 0}";
- sepNavVisRange = "{13376, 1344}";
+ sepNavIntBoundsRect = "{{0, 0}, {891, 32064}}";
+ sepNavSelRange = "{23344, 0}";
+ sepNavVisRange = "{19651, 972}";
};
};
6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {891, 8896}}";
- sepNavSelRange = "{11732, 0}";
- sepNavVisRange = "{12109, 1138}";
+ sepNavIntBoundsRect = "{{0, 0}, {891, 8928}}";
+ sepNavSelRange = "{13909, 14}";
+ sepNavVisRange = "{13741, 887}";
};
};
6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {891, 6592}}";
- sepNavSelRange = "{3715, 0}";
- sepNavVisRange = "{3161, 1442}";
+ sepNavIntBoundsRect = "{{0, 0}, {891, 6800}}";
+ sepNavSelRange = "{1750, 0}";
+ sepNavVisRange = "{1479, 1210}";
};
};
6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */ = {
@@ -1662,7 +1716,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = detail;
rLen = 0;
- rLoc = 14806;
+ rLoc = 15375;
rType = 0;
vrLen = 1182;
vrLoc = 9676;
@@ -1830,12 +1884,12 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 569";
rLen = 0;
- rLoc = 16438;
+ rLoc = 16467;
rType = 0;
vrLen = 893;
vrLoc = 14757;
};
- 6BB700A210FA36C3006DA0A6 /* DetourNavMesh.cpp:207 */ = {
+ 6BB700A210FA36C3006DA0A6 /* DetourNavMesh.cpp:212 */ = {
isa = PBXFileBreakpoint;
actions = (
);
@@ -1847,7 +1901,7 @@
functionName = "dtNavMesh::buildIntLinks(dtMeshTile* tile)";
hitCount = 0;
ignoreCount = 0;
- lineNumber = 207;
+ lineNumber = 212;
location = Recast;
modificationTime = 285603908.023348;
state = 1;
@@ -1872,7 +1926,7 @@
vrLen = 1034;
vrLoc = 3841;
};
- 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:207 */ = {
+ 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:212 */ = {
isa = PBXFileBreakpoint;
actions = (
);
@@ -1884,7 +1938,7 @@
functionName = "dtNavMesh::addTileAt(int x, int y, unsigned char* data, int dataSize, bool ownsData)";
hitCount = 0;
ignoreCount = 0;
- lineNumber = 207;
+ lineNumber = 212;
location = Recast;
modificationTime = 285603908.023677;
state = 1;
@@ -1905,23 +1959,23 @@
};
6BB7FC0910EBB6AA006DA0A6 /* NavMeshTesterTool.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {891, 1344}}";
+ sepNavIntBoundsRect = "{{0, 0}, {891, 1328}}";
sepNavSelRange = "{1158, 0}";
- sepNavVisRange = "{1023, 709}";
+ sepNavVisRange = "{1023, 428}";
};
};
6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {929, 9564}}";
- sepNavSelRange = "{8032, 0}";
- sepNavVisRange = "{7651, 752}";
+ sepNavIntBoundsRect = "{{0, 0}, {891, 10672}}";
+ sepNavSelRange = "{3865, 0}";
+ sepNavVisRange = "{3683, 647}";
};
};
6BB7FD6310F3564B006DA0A6 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6BB7FC0910EBB6AA006DA0A6 /* NavMeshTesterTool.h */;
name = "NavMeshTesterTool.h: 1";
- rLen = 1464;
+ rLen = 1490;
rLoc = 919;
rType = 0;
vrLen = 570;
@@ -2278,8 +2332,8 @@
6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {891, 7632}}";
- sepNavSelRange = "{6122, 0}";
- sepNavVisRange = "{5621, 952}";
+ sepNavSelRange = "{6203, 0}";
+ sepNavVisRange = "{5621, 1072}";
};
};
6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */ = {
@@ -2444,7 +2498,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 200";
rLen = 0;
- rLoc = 5467;
+ rLoc = 5624;
rType = 0;
vrLen = 1091;
vrLoc = 4993;
@@ -2464,7 +2518,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 367";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 573;
vrLoc = 9620;
@@ -2494,7 +2548,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 583";
rLen = 0;
- rLoc = 16758;
+ rLoc = 16787;
rType = 0;
vrLen = 896;
vrLoc = 16422;
@@ -2504,7 +2558,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 38";
rLen = 0;
- rLoc = 1418;
+ rLoc = 2101;
rType = 0;
vrLen = 1151;
vrLoc = 1134;
@@ -2534,7 +2588,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 100";
rLen = 0;
- rLoc = 4065;
+ rLoc = 4767;
rType = 0;
vrLen = 1645;
vrLoc = 3325;
@@ -2544,7 +2598,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 261";
rLen = 0;
- rLoc = 7006;
+ rLoc = 7163;
rType = 0;
vrLen = 633;
vrLoc = 6432;
@@ -2554,7 +2608,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 119";
rLen = 0;
- rLoc = 5067;
+ rLoc = 5729;
rType = 0;
vrLen = 1496;
vrLoc = 3778;
@@ -2564,7 +2618,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 215";
rLen = 0;
- rLoc = 5858;
+ rLoc = 6015;
rType = 0;
vrLen = 815;
vrLoc = 5350;
@@ -2574,7 +2628,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 119";
rLen = 0;
- rLoc = 5067;
+ rLoc = 5729;
rType = 0;
vrLen = 1409;
vrLoc = 3865;
@@ -2584,7 +2638,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 219";
rLen = 0;
- rLoc = 6064;
+ rLoc = 6221;
rType = 0;
vrLen = 771;
vrLoc = 5584;
@@ -2594,7 +2648,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 119";
rLen = 0;
- rLoc = 5067;
+ rLoc = 5729;
rType = 0;
vrLen = 1409;
vrLoc = 3865;
@@ -2604,7 +2658,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 226";
rLen = 0;
- rLoc = 6273;
+ rLoc = 6430;
rType = 0;
vrLen = 817;
vrLoc = 5584;
@@ -2614,7 +2668,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 42";
rLen = 0;
- rLoc = 1777;
+ rLoc = 2479;
rType = 0;
vrLen = 1116;
vrLoc = 1004;
@@ -2624,7 +2678,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 364";
rLen = 0;
- rLoc = 9847;
+ rLoc = 10004;
rType = 0;
vrLen = 762;
vrLoc = 9653;
@@ -2634,7 +2688,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 105";
rLen = 0;
- rLoc = 4514;
+ rLoc = 5216;
rType = 0;
vrLen = 1891;
vrLoc = 3052;
@@ -2644,7 +2698,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 526";
rLen = 0;
- rLoc = 10769;
+ rLoc = 10973;
rType = 0;
vrLen = 1013;
vrLoc = 13761;
@@ -2654,7 +2708,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 104";
rLen = 0;
- rLoc = 4407;
+ rLoc = 5109;
rType = 0;
vrLen = 1800;
vrLoc = 3143;
@@ -2664,7 +2718,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 510";
rLen = 0;
- rLoc = 10769;
+ rLoc = 10973;
rType = 0;
vrLen = 1332;
vrLoc = 13267;
@@ -2674,7 +2728,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 104";
rLen = 0;
- rLoc = 4405;
+ rLoc = 5107;
rType = 0;
vrLen = 1800;
vrLoc = 3143;
@@ -2684,7 +2738,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 1889";
rLen = 0;
- rLoc = 50852;
+ rLoc = 52224;
rType = 0;
vrLen = 1130;
vrLoc = 49878;
@@ -2694,7 +2748,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 92";
rLen = 0;
- rLoc = 3651;
+ rLoc = 4353;
rType = 0;
vrLen = 1167;
vrLoc = 2472;
@@ -2734,7 +2788,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 200";
rLen = 0;
- rLoc = 5467;
+ rLoc = 5624;
rType = 0;
vrLen = 1091;
vrLoc = 4993;
@@ -2744,7 +2798,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 541";
rLen = 0;
- rLoc = 15178;
+ rLoc = 15207;
rType = 0;
vrLen = 1003;
vrLoc = 14208;
@@ -2764,7 +2818,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 38";
rLen = 0;
- rLoc = 1418;
+ rLoc = 2101;
rType = 0;
vrLen = 1151;
vrLoc = 1134;
@@ -2794,7 +2848,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 367";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 573;
vrLoc = 9620;
@@ -2844,7 +2898,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 583";
rLen = 0;
- rLoc = 16758;
+ rLoc = 16787;
rType = 0;
vrLen = 907;
vrLoc = 16408;
@@ -2864,7 +2918,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 583";
rLen = 0;
- rLoc = 16758;
+ rLoc = 16787;
rType = 0;
vrLen = 896;
vrLoc = 16422;
@@ -2874,7 +2928,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 74";
rLen = 0;
- rLoc = 2790;
+ rLoc = 3492;
rType = 0;
vrLen = 1233;
vrLoc = 2441;
@@ -2884,7 +2938,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 86";
rLen = 0;
- rLoc = 3160;
+ rLoc = 3862;
rType = 0;
vrLen = 1233;
vrLoc = 2441;
@@ -2904,7 +2958,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 583";
rLen = 0;
- rLoc = 16758;
+ rLoc = 16787;
rType = 0;
vrLen = 1036;
vrLoc = 16326;
@@ -2914,7 +2968,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 86";
rLen = 0;
- rLoc = 3160;
+ rLoc = 3862;
rType = 0;
vrLen = 1233;
vrLoc = 2441;
@@ -2988,7 +3042,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 555";
rLen = 0;
- rLoc = 16805;
+ rLoc = 17661;
rType = 0;
vrLen = 908;
vrLoc = 15392;
@@ -3038,7 +3092,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 326";
rLen = 0;
- rLoc = 14463;
+ rLoc = 15032;
rType = 0;
vrLen = 1214;
vrLoc = 13618;
@@ -3048,7 +3102,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 200";
rLen = 0;
- rLoc = 5467;
+ rLoc = 5624;
rType = 0;
vrLen = 976;
vrLoc = 5046;
@@ -3158,7 +3212,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 555";
rLen = 0;
- rLoc = 16805;
+ rLoc = 17661;
rType = 0;
vrLen = 908;
vrLoc = 15392;
@@ -3208,7 +3262,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 326";
rLen = 0;
- rLoc = 14463;
+ rLoc = 15032;
rType = 0;
vrLen = 1214;
vrLoc = 13618;
@@ -3218,7 +3272,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 358";
rLen = 0;
- rLoc = 9708;
+ rLoc = 9865;
rType = 0;
vrLen = 829;
vrLoc = 9550;
@@ -3228,7 +3282,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 358";
rLen = 0;
- rLoc = 9708;
+ rLoc = 9865;
rType = 0;
vrLen = 829;
vrLoc = 9550;
@@ -3336,7 +3390,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 358";
rLen = 0;
- rLoc = 9708;
+ rLoc = 9865;
rType = 0;
vrLen = 829;
vrLoc = 9550;
@@ -3546,7 +3600,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 208";
rLen = 0;
- rLoc = 8522;
+ rLoc = 8928;
rType = 0;
vrLen = 1536;
vrLoc = 7836;
@@ -3556,7 +3610,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 378";
rLen = 0;
- rLoc = 10348;
+ rLoc = 10552;
rType = 0;
vrLen = 672;
vrLoc = 9887;
@@ -3576,7 +3630,7 @@
comments = "error: no matching function for call to 'dtNavMesh::findNearestPoly(float [3], float [3])'";
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
rLen = 0;
- rLoc = 182;
+ rLoc = 213;
rType = 1;
};
6BCF32851104D114009445BF /* PBXTextBookmark */ = {
@@ -3594,7 +3648,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 95";
rLen = 0;
- rLoc = 3651;
+ rLoc = 4353;
rType = 0;
vrLen = 1816;
vrLoc = 3246;
@@ -3604,7 +3658,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 849";
rLen = 0;
- rLoc = 10769;
+ rLoc = 10973;
rType = 0;
vrLen = 708;
vrLoc = 22303;
@@ -3614,7 +3668,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 208";
rLen = 0;
- rLoc = 8522;
+ rLoc = 8928;
rType = 0;
vrLen = 1536;
vrLoc = 7836;
@@ -3624,7 +3678,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 378";
rLen = 0;
- rLoc = 10348;
+ rLoc = 10552;
rType = 0;
vrLen = 672;
vrLoc = 9887;
@@ -3644,7 +3698,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 173";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 398;
vrLoc = 4294;
@@ -3654,7 +3708,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 172";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 686;
vrLoc = 4104;
@@ -3674,7 +3728,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 172";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 686;
vrLoc = 4104;
@@ -3704,7 +3758,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 378";
rLen = 0;
- rLoc = 10348;
+ rLoc = 10552;
rType = 0;
vrLen = 785;
vrLoc = 9848;
@@ -3724,7 +3778,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 377";
rLen = 0;
- rLoc = 10347;
+ rLoc = 10551;
rType = 0;
vrLen = 785;
vrLoc = 9848;
@@ -3734,7 +3788,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 366";
rLen = 0;
- rLoc = 9925;
+ rLoc = 10113;
rType = 0;
vrLen = 841;
vrLoc = 9709;
@@ -3744,7 +3798,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 200";
rLen = 0;
- rLoc = 8186;
+ rLoc = 8592;
rType = 0;
vrLen = 1410;
vrLoc = 7842;
@@ -3764,7 +3818,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 490";
rLen = 0;
- rLoc = 13927;
+ rLoc = 13956;
rType = 0;
vrLen = 747;
vrLoc = 13784;
@@ -3774,7 +3828,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 374";
rLen = 0;
- rLoc = 10177;
+ rLoc = 10381;
rType = 0;
vrLen = 850;
vrLoc = 9709;
@@ -3784,7 +3838,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 490";
rLen = 0;
- rLoc = 13927;
+ rLoc = 13956;
rType = 0;
vrLen = 747;
vrLoc = 13784;
@@ -3794,7 +3848,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 366";
rLen = 0;
- rLoc = 9925;
+ rLoc = 10113;
rType = 0;
vrLen = 841;
vrLoc = 9709;
@@ -3804,7 +3858,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 200";
rLen = 0;
- rLoc = 8186;
+ rLoc = 8592;
rType = 0;
vrLen = 1410;
vrLoc = 7842;
@@ -3824,7 +3878,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 502";
rLen = 0;
- rLoc = 14203;
+ rLoc = 14232;
rType = 0;
vrLen = 1032;
vrLoc = 15797;
@@ -3844,7 +3898,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 368";
rLen = 65;
- rLoc = 9931;
+ rLoc = 10119;
rType = 0;
vrLen = 846;
vrLoc = 9708;
@@ -3884,7 +3938,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 368";
rLen = 65;
- rLoc = 9931;
+ rLoc = 10119;
rType = 0;
vrLen = 846;
vrLoc = 9708;
@@ -4356,7 +4410,7 @@
vrLen = 1122;
vrLoc = 17026;
};
- 6BCF32FA1104D84C009445BF /* DetourNavMeshBuilder.cpp:572 */ = {
+ 6BCF32FA1104D84C009445BF /* DetourNavMeshBuilder.cpp:573 */ = {
isa = PBXFileBreakpoint;
actions = (
);
@@ -4368,7 +4422,7 @@
functionName = "dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData, int* outDataSize)";
hitCount = 0;
ignoreCount = 0;
- lineNumber = 572;
+ lineNumber = 573;
location = Recast;
modificationTime = 285603908.024129;
state = 1;
@@ -4388,7 +4442,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 578";
rLen = 0;
- rLoc = 16783;
+ rLoc = 16812;
rType = 0;
vrLen = 952;
vrLoc = 15939;
@@ -4398,7 +4452,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 368";
rLen = 0;
- rLoc = 9931;
+ rLoc = 10119;
rType = 0;
vrLen = 888;
vrLoc = 4088;
@@ -4428,7 +4482,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 572";
rLen = 0;
- rLoc = 16679;
+ rLoc = 16708;
rType = 0;
vrLen = 948;
vrLoc = 15943;
@@ -4438,7 +4492,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 371";
rLen = 0;
- rLoc = 10063;
+ rLoc = 10251;
rType = 0;
vrLen = 837;
vrLoc = 9708;
@@ -4448,7 +4502,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 578";
rLen = 0;
- rLoc = 16783;
+ rLoc = 16812;
rType = 0;
vrLen = 952;
vrLoc = 15939;
@@ -4458,7 +4512,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 368";
rLen = 0;
- rLoc = 9931;
+ rLoc = 10119;
rType = 0;
vrLen = 888;
vrLoc = 4088;
@@ -4488,7 +4542,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 368";
rLen = 0;
- rLoc = 9931;
+ rLoc = 10119;
rType = 0;
vrLen = 869;
vrLoc = 4107;
@@ -4508,7 +4562,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 377";
rLen = 0;
- rLoc = 10347;
+ rLoc = 10551;
rType = 0;
vrLen = 808;
vrLoc = 9750;
@@ -4518,7 +4572,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 373";
rLen = 0;
- rLoc = 10122;
+ rLoc = 10311;
rType = 0;
vrLen = 808;
vrLoc = 9750;
@@ -4528,7 +4582,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 373";
rLen = 0;
- rLoc = 10122;
+ rLoc = 10311;
rType = 0;
vrLen = 808;
vrLoc = 9750;
@@ -4538,7 +4592,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 578";
rLen = 0;
- rLoc = 16783;
+ rLoc = 16812;
rType = 0;
vrLen = 952;
vrLoc = 15939;
@@ -4548,7 +4602,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 373";
rLen = 0;
- rLoc = 10122;
+ rLoc = 10311;
rType = 0;
vrLen = 808;
vrLoc = 9750;
@@ -4678,7 +4732,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 373";
rLen = 0;
- rLoc = 10122;
+ rLoc = 10311;
rType = 0;
vrLen = 804;
vrLoc = 9750;
@@ -4698,7 +4752,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 377";
rLen = 0;
- rLoc = 10347;
+ rLoc = 10551;
rType = 0;
vrLen = 854;
vrLoc = 9750;
@@ -4708,7 +4762,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 377";
rLen = 0;
- rLoc = 10347;
+ rLoc = 10551;
rType = 0;
vrLen = 882;
vrLoc = 9750;
@@ -4728,7 +4782,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 377";
rLen = 0;
- rLoc = 10347;
+ rLoc = 10551;
rType = 0;
vrLen = 882;
vrLoc = 9750;
@@ -5086,7 +5140,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 83";
rLen = 62;
- rLoc = 2588;
+ rLoc = 2687;
rType = 0;
vrLen = 670;
vrLoc = 2182;
@@ -5244,7 +5298,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 513";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 900;
vrLoc = 14112;
@@ -5799,7 +5853,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 83";
rLen = 62;
- rLoc = 2588;
+ rLoc = 2687;
rType = 0;
vrLen = 627;
vrLoc = 2182;
@@ -5839,7 +5893,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 83";
rLen = 62;
- rLoc = 2588;
+ rLoc = 2687;
rType = 0;
vrLen = 627;
vrLoc = 2182;
@@ -5899,7 +5953,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 83";
rLen = 62;
- rLoc = 2588;
+ rLoc = 2687;
rType = 0;
vrLen = 627;
vrLoc = 2182;
@@ -5919,7 +5973,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 523";
rLen = 0;
- rLoc = 15787;
+ rLoc = 16643;
rType = 0;
vrLen = 783;
vrLoc = 14412;
@@ -5929,7 +5983,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 513";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 783;
vrLoc = 14412;
@@ -5939,7 +5993,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 513";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 843;
vrLoc = 14331;
@@ -5949,7 +6003,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 514";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 843;
vrLoc = 14331;
@@ -5959,7 +6013,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 514";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 841;
vrLoc = 14331;
@@ -5969,7 +6023,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 525";
rLen = 0;
- rLoc = 15786;
+ rLoc = 16642;
rType = 0;
vrLen = 808;
vrLoc = 14327;
@@ -5979,7 +6033,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 526";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 855;
vrLoc = 14327;
@@ -5989,7 +6043,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 759";
rLen = 0;
- rLoc = 19833;
+ rLoc = 20037;
rType = 0;
vrLen = 885;
vrLoc = 19619;
@@ -5999,7 +6053,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 321";
rLen = 0;
- rLoc = 14239;
+ rLoc = 14808;
rType = 0;
vrLen = 998;
vrLoc = 13802;
@@ -6089,7 +6143,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 323";
rLen = 33;
- rLoc = 14282;
+ rLoc = 14851;
rType = 0;
vrLen = 1225;
vrLoc = 13685;
@@ -6099,7 +6153,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 759";
rLen = 0;
- rLoc = 19833;
+ rLoc = 20037;
rType = 0;
vrLen = 885;
vrLoc = 19619;
@@ -6109,7 +6163,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 321";
rLen = 0;
- rLoc = 14239;
+ rLoc = 14808;
rType = 0;
vrLen = 998;
vrLoc = 13802;
@@ -6149,7 +6203,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 759";
rLen = 0;
- rLoc = 19833;
+ rLoc = 20037;
rType = 0;
vrLen = 885;
vrLoc = 19619;
@@ -6169,7 +6223,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 387";
rLen = 0;
- rLoc = 10577;
+ rLoc = 10781;
rType = 0;
vrLen = 761;
vrLoc = 9890;
@@ -6179,7 +6233,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 448";
rLen = 0;
- rLoc = 12137;
+ rLoc = 12341;
rType = 0;
vrLen = 735;
vrLoc = 11704;
@@ -6199,7 +6253,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 97";
rLen = 13;
- rLoc = 3704;
+ rLoc = 4406;
rType = 0;
vrLen = 1855;
vrLoc = 2916;
@@ -6219,7 +6273,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 448";
rLen = 0;
- rLoc = 12137;
+ rLoc = 12341;
rType = 0;
vrLen = 735;
vrLoc = 11704;
@@ -6239,7 +6293,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 97";
rLen = 13;
- rLoc = 3704;
+ rLoc = 4406;
rType = 0;
vrLen = 1855;
vrLoc = 2916;
@@ -6339,7 +6393,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 397";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 747;
vrLoc = 10424;
@@ -6446,7 +6500,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 397";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 747;
vrLoc = 10424;
@@ -6495,8 +6549,8 @@
isa = PBXTextBookmark;
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 133";
- rLen = 1;
- rLoc = 3420;
+ rLen = 0;
+ rLoc = 4194;
rType = 0;
vrLen = 469;
vrLoc = 3131;
@@ -6663,8 +6717,8 @@
isa = PBXTextBookmark;
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 133";
- rLen = 1;
- rLoc = 3420;
+ rLen = 0;
+ rLoc = 4194;
rType = 0;
vrLen = 469;
vrLoc = 3131;
@@ -7189,7 +7243,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 251";
rLen = 0;
- rLoc = 6513;
+ rLoc = 7336;
rType = 0;
vrLen = 876;
vrLoc = 6395;
@@ -7199,7 +7253,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 441";
rLen = 0;
- rLoc = 11950;
+ rLoc = 12154;
rType = 0;
vrLen = 604;
vrLoc = 11805;
@@ -7209,7 +7263,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 97";
rLen = 13;
- rLoc = 3704;
+ rLoc = 4406;
rType = 0;
vrLen = 1442;
vrLoc = 3161;
@@ -7229,7 +7283,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 251";
rLen = 0;
- rLoc = 6513;
+ rLoc = 7336;
rType = 0;
vrLen = 876;
vrLoc = 6395;
@@ -7239,7 +7293,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 441";
rLen = 0;
- rLoc = 11950;
+ rLoc = 12154;
rType = 0;
vrLen = 604;
vrLoc = 11805;
@@ -7249,7 +7303,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 97";
rLen = 0;
- rLoc = 3715;
+ rLoc = 4417;
rType = 0;
vrLen = 1442;
vrLoc = 3161;
@@ -7259,7 +7313,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 97";
rLen = 0;
- rLoc = 3715;
+ rLoc = 4417;
rType = 0;
vrLen = 1442;
vrLoc = 3161;
@@ -7269,7 +7323,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 301";
rLen = 0;
- rLoc = 8032;
+ rLoc = 8855;
rType = 0;
vrLen = 736;
vrLoc = 7651;
@@ -7287,7 +7341,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 97";
rLen = 0;
- rLoc = 3715;
+ rLoc = 4417;
rType = 0;
vrLen = 1442;
vrLoc = 3161;
@@ -7297,7 +7351,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 301";
rLen = 0;
- rLoc = 8032;
+ rLoc = 8855;
rType = 0;
vrLen = 736;
vrLoc = 7651;
@@ -7427,7 +7481,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 520";
rLen = 0;
- rLoc = 14426;
+ rLoc = 14630;
rType = 0;
vrLen = 1367;
vrLoc = 13293;
@@ -7477,7 +7531,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 520";
rLen = 0;
- rLoc = 14426;
+ rLoc = 14630;
rType = 0;
vrLen = 1367;
vrLoc = 13293;
@@ -7487,12 +7541,12 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 533";
rLen = 0;
- rLoc = 15196;
+ rLoc = 15225;
rType = 0;
vrLen = 960;
vrLoc = 15146;
};
- 6BCF349A1105F843009445BF /* DetourNavMesh.cpp:510 */ = {
+ 6BCF349A1105F843009445BF /* DetourNavMesh.cpp:516 */ = {
isa = PBXFileBreakpoint;
actions = (
);
@@ -7504,7 +7558,7 @@
functionName = "dtNavMesh::addTileAt(int x, int y, unsigned char* data, int dataSize, bool ownsData)";
hitCount = 0;
ignoreCount = 0;
- lineNumber = 510;
+ lineNumber = 516;
location = Recast;
modificationTime = 285603908.439503;
state = 1;
@@ -7514,7 +7568,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 542";
rLen = 0;
- rLoc = 15597;
+ rLoc = 15626;
rType = 0;
vrLen = 960;
vrLoc = 15146;
@@ -7524,7 +7578,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 520";
rLen = 0;
- rLoc = 14426;
+ rLoc = 14630;
rType = 0;
vrLen = 1311;
vrLoc = 13349;
@@ -7534,7 +7588,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 542";
rLen = 0;
- rLoc = 15597;
+ rLoc = 15626;
rType = 0;
vrLen = 960;
vrLoc = 15146;
@@ -7544,7 +7598,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 513";
rLen = 0;
- rLoc = 14078;
+ rLoc = 14282;
rType = 0;
vrLen = 1121;
vrLoc = 13631;
@@ -7574,7 +7628,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 513";
rLen = 0;
- rLoc = 14078;
+ rLoc = 14282;
rType = 0;
vrLen = 1238;
vrLoc = 13561;
@@ -7584,7 +7638,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 513";
rLen = 0;
- rLoc = 14078;
+ rLoc = 14282;
rType = 0;
vrLen = 1121;
vrLoc = 13631;
@@ -7614,7 +7668,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 510";
rLen = 0;
- rLoc = 13946;
+ rLoc = 14150;
rType = 0;
vrLen = 1307;
vrLoc = 13376;
@@ -7624,7 +7678,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 510";
rLen = 0;
- rLoc = 13946;
+ rLoc = 14150;
rType = 0;
vrLen = 1344;
vrLoc = 13376;
@@ -7644,7 +7698,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 510";
rLen = 0;
- rLoc = 13946;
+ rLoc = 14150;
rType = 0;
vrLen = 1344;
vrLoc = 13376;
@@ -7659,6 +7713,546 @@
vrLen = 952;
vrLoc = 5621;
};
+ 6BCF34B01105FA03009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */;
+ name = "DetourDebugDraw.cpp: 209";
+ rLen = 0;
+ rLoc = 6203;
+ rType = 0;
+ vrLen = 1072;
+ vrLoc = 5621;
+ };
+ 6BCF34B11105FA03009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
+ name = "DetourNavMeshBuilder.cpp: 489";
+ rLen = 14;
+ rLoc = 13909;
+ rType = 0;
+ vrLen = 887;
+ vrLoc = 13741;
+ };
+ 6BCF34B21105FA03009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 31";
+ rLen = 0;
+ rLoc = 1221;
+ rType = 0;
+ vrLen = 1204;
+ vrLoc = 1004;
+ };
+ 6BCF34B31105FA03009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */;
+ name = "DetourDebugDraw.cpp: 209";
+ rLen = 0;
+ rLoc = 6203;
+ rType = 0;
+ vrLen = 1072;
+ vrLoc = 5621;
+ };
+ 6BCF34B41105FA03009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 31";
+ rLen = 0;
+ rLoc = 1221;
+ rType = 0;
+ vrLen = 1204;
+ vrLoc = 1004;
+ };
+ 6BCF34B51105FA03009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
+ name = "DetourNavMeshBuilder.cpp: 489";
+ rLen = 14;
+ rLoc = 13909;
+ rType = 0;
+ vrLen = 887;
+ vrLoc = 13741;
+ };
+ 6BCF34B61105FA03009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 215";
+ rLen = 0;
+ rLoc = 9115;
+ rType = 0;
+ vrLen = 1522;
+ vrLoc = 7818;
+ };
+ 6BCF34B71105FA9F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 289";
+ rLen = 0;
+ rLoc = 12881;
+ rType = 0;
+ vrLen = 1789;
+ vrLoc = 11799;
+ };
+ 6BCF34B81105FB17009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 50";
+ rLen = 0;
+ rLoc = 1837;
+ rType = 0;
+ vrLen = 1147;
+ vrLoc = 1037;
+ };
+ 6BCF34BC1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 52";
+ rLen = 12;
+ rLoc = 1940;
+ rType = 0;
+ vrLen = 861;
+ vrLoc = 1221;
+ };
+ 6BCF34BD1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 79";
+ rLen = 0;
+ rLoc = 2675;
+ rType = 0;
+ vrLen = 663;
+ vrLoc = 2094;
+ };
+ 6BCF34BE1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 307";
+ rLen = 0;
+ rLoc = 13559;
+ rType = 0;
+ vrLen = 1718;
+ vrLoc = 12641;
+ };
+ 6BCF34BF1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 526";
+ rLen = 1;
+ rLoc = 14787;
+ rType = 0;
+ vrLen = 806;
+ vrLoc = 14040;
+ };
+ 6BCF34C01105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 45";
+ rLen = 0;
+ rLoc = 1722;
+ rType = 0;
+ vrLen = 821;
+ vrLoc = 1134;
+ };
+ 6BCF34C11105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 523";
+ rLen = 0;
+ rLoc = 14735;
+ rType = 0;
+ vrLen = 767;
+ vrLoc = 14079;
+ };
+ 6BCF34C21105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 45";
+ rLen = 0;
+ rLoc = 1722;
+ rType = 0;
+ vrLen = 820;
+ vrLoc = 1134;
+ };
+ 6BCF34C31105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 523";
+ rLen = 0;
+ rLoc = 14735;
+ rType = 0;
+ vrLen = 767;
+ vrLoc = 14079;
+ };
+ 6BCF34C41105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 45";
+ rLen = 0;
+ rLoc = 1722;
+ rType = 0;
+ vrLen = 820;
+ vrLoc = 1134;
+ };
+ 6BCF34C51105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 373";
+ rLen = 0;
+ rLoc = 10311;
+ rType = 0;
+ vrLen = 751;
+ vrLoc = 9709;
+ };
+ 6BCF34C61105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 48";
+ rLen = 13;
+ rLoc = 1761;
+ rType = 0;
+ vrLen = 820;
+ vrLoc = 1134;
+ };
+ 6BCF34C71105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 374";
+ rLen = 0;
+ rLoc = 10311;
+ rType = 0;
+ vrLen = 801;
+ vrLoc = 9709;
+ };
+ 6BCF34C81105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 48";
+ rLen = 13;
+ rLoc = 1761;
+ rType = 0;
+ vrLen = 861;
+ vrLoc = 1221;
+ };
+ 6BCF34C91105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 79";
+ rLen = 0;
+ rLoc = 2675;
+ rType = 0;
+ vrLen = 646;
+ vrLoc = 2094;
+ };
+ 6BCF34CA1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 51";
+ rLen = 12;
+ rLoc = 1853;
+ rType = 0;
+ vrLen = 861;
+ vrLoc = 1221;
+ };
+ 6BCF34CB1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 79";
+ rLen = 0;
+ rLoc = 2675;
+ rType = 0;
+ vrLen = 663;
+ vrLoc = 2094;
+ };
+ 6BCF34CC1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 52";
+ rLen = 12;
+ rLoc = 1940;
+ rType = 0;
+ vrLen = 861;
+ vrLoc = 1221;
+ };
+ 6BCF34CD1105FD0F009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 79";
+ rLen = 0;
+ rLoc = 2592;
+ rType = 0;
+ vrLen = 704;
+ vrLoc = 2094;
+ };
+ 6BCF34CE1105FF32009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 389";
+ rLen = 21;
+ rLoc = 16931;
+ rType = 0;
+ vrLen = 1357;
+ vrLoc = 16519;
+ };
+ 6BCF34CF1105FF32009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 887";
+ rLen = 0;
+ rLoc = 23588;
+ rType = 0;
+ vrLen = 1035;
+ vrLoc = 23382;
+ };
+ 6BCF34D01105FF32009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 77";
+ rLen = 0;
+ rLoc = 2522;
+ rType = 0;
+ vrLen = 708;
+ vrLoc = 2140;
+ };
+ 6BCF34D11105FF32009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 233";
+ rLen = 46;
+ rLoc = 9563;
+ rType = 0;
+ vrLen = 1327;
+ vrLoc = 8928;
+ };
+ 6BCF34D21105FF32009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 887";
+ rLen = 0;
+ rLoc = 23588;
+ rType = 0;
+ vrLen = 1035;
+ vrLoc = 23382;
+ };
+ 6BCF34D31105FF32009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 389";
+ rLen = 21;
+ rLoc = 16931;
+ rType = 0;
+ vrLen = 1357;
+ vrLoc = 16519;
+ };
+ 6BCF34D41105FF32009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 1071";
+ rLen = 0;
+ rLoc = 28557;
+ rType = 0;
+ vrLen = 848;
+ vrLoc = 28373;
+ };
+ 6BCF34E1110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 399";
+ rLen = 0;
+ rLoc = 17503;
+ rType = 0;
+ vrLen = 1397;
+ vrLoc = 16467;
+ };
+ 6BCF34E2110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 875";
+ rLen = 0;
+ rLoc = 23344;
+ rType = 0;
+ vrLen = 972;
+ vrLoc = 19651;
+ };
+ 6BCF34E3110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB7FC0910EBB6AA006DA0A6 /* NavMeshTesterTool.h */;
+ name = "NavMeshTesterTool.h: 32";
+ rLen = 0;
+ rLoc = 1158;
+ rType = 0;
+ vrLen = 428;
+ vrLoc = 1023;
+ };
+ 6BCF34E4110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
+ name = "NavMeshTesterTool.cpp: 204";
+ rLen = 0;
+ rLoc = 5847;
+ rType = 0;
+ vrLen = 372;
+ vrLoc = 4922;
+ };
+ 6BCF34E5110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 1070";
+ rLen = 0;
+ rLoc = 28557;
+ rType = 0;
+ vrLen = 813;
+ vrLoc = 28373;
+ };
+ 6BCF34E6110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 391";
+ rLen = 45;
+ rLoc = 17001;
+ rType = 0;
+ vrLen = 1445;
+ vrLoc = 16467;
+ };
+ 6BCF34E7110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 1070";
+ rLen = 0;
+ rLoc = 28557;
+ rType = 0;
+ vrLen = 813;
+ vrLoc = 28373;
+ };
+ 6BCF34E8110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 391";
+ rLen = 12;
+ rLoc = 17017;
+ rType = 0;
+ vrLen = 1395;
+ vrLoc = 16467;
+ };
+ 6BCF34E9110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 1070";
+ rLen = 0;
+ rLoc = 28607;
+ rType = 0;
+ vrLen = 795;
+ vrLoc = 28373;
+ };
+ 6BCF34EA110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 391";
+ rLen = 45;
+ rLoc = 17001;
+ rType = 0;
+ vrLen = 1395;
+ vrLoc = 16467;
+ };
+ 6BCF34EB110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 1466";
+ rLen = 0;
+ rLoc = 38868;
+ rType = 0;
+ vrLen = 926;
+ vrLoc = 38656;
+ };
+ 6BCF34EC110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 399";
+ rLen = 0;
+ rLoc = 17503;
+ rType = 0;
+ vrLen = 1397;
+ vrLoc = 16467;
+ };
+ 6BCF34ED110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 875";
+ rLen = 0;
+ rLoc = 23344;
+ rType = 0;
+ vrLen = 972;
+ vrLoc = 19651;
+ };
+ 6BCF34EE110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
+ name = "NavMeshTesterTool.cpp: 204";
+ rLen = 0;
+ rLoc = 5847;
+ rType = 0;
+ vrLen = 410;
+ vrLoc = 4922;
+ };
+ 6BCF34EF110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB7FC0910EBB6AA006DA0A6 /* NavMeshTesterTool.h */;
+ name = "NavMeshTesterTool.h: 32";
+ rLen = 0;
+ rLoc = 1158;
+ rType = 0;
+ vrLen = 428;
+ vrLoc = 1023;
+ };
+ 6BCF34F0110602BB009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
+ name = "NavMeshTesterTool.cpp: 165";
+ rLen = 0;
+ rLoc = 4194;
+ rType = 0;
+ vrLen = 644;
+ vrLoc = 3683;
+ };
+ 6BCF34F111060322009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
+ name = "NavMeshTesterTool.cpp: 150";
+ rLen = 0;
+ rLoc = 3865;
+ rType = 0;
+ vrLen = 647;
+ vrLoc = 3683;
+ };
+ 6BCF34F211060322009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 399";
+ rLen = 0;
+ rLoc = 17503;
+ rType = 0;
+ vrLen = 1782;
+ vrLoc = 16233;
+ };
+ 6BCF34F311060322009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
+ name = "NavMeshTesterTool.cpp: 150";
+ rLen = 0;
+ rLoc = 3865;
+ rType = 0;
+ vrLen = 647;
+ vrLoc = 3683;
+ };
+ 6BCF34F411060322009445BF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 46";
+ rLen = 0;
+ rLoc = 1750;
+ rType = 0;
+ vrLen = 1210;
+ vrLoc = 1479;
+ };
6BE7320210FE6CEF00C1B074 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */;
@@ -7674,7 +8268,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 1374";
rLen = 0;
- rLoc = 5667;
+ rLoc = 5824;
rType = 0;
vrLen = 1029;
vrLoc = 35339;
@@ -7684,7 +8278,7 @@
fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */;
name = "NavMeshTesterTool.cpp: 172";
rLen = 0;
- rLoc = 4702;
+ rLoc = 5475;
rType = 0;
vrLen = 726;
vrLoc = 3989;
diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3
index 99bce25..7858401 100644
--- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3
+++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3
@@ -281,14 +281,14 @@
PBXSmartGroupTreeModuleOutlineStateSelectionKey
- 11
- 3
+ 13
+ 12
1
0
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
- {{0, 45}, {282, 643}}
+ {{0, 41}, {282, 643}}
PBXTopSmartGroupGIDs
@@ -323,7 +323,7 @@
PBXProjectModuleGUID
6B8632A30F78115100E2684A
PBXProjectModuleLabel
- DetourDebugDraw.cpp
+ DetourNavMesh.h
PBXSplitModuleInNavigatorKey
Split0
@@ -331,11 +331,11 @@
PBXProjectModuleGUID
6B8632A40F78115100E2684A
PBXProjectModuleLabel
- DetourDebugDraw.cpp
+ DetourNavMesh.h
_historyCapacity
0
bookmark
- 6BCF34AF1105F8DB009445BF
+ 6BCF34F411060322009445BF
history
6B57D358108C66B200DDD053
@@ -360,7 +360,6 @@
6BB3605210FE5CBD00A9B4B8
6BB3606210FE5E8F00A9B4B8
6B69736710FFBDCA00984788
- 6B69736810FFBDCA00984788
6B69739F10FFCA4500984788
6BCF325E1104CFE7009445BF
6BCF325F1104CFE7009445BF
@@ -379,15 +378,16 @@
6BCF343A1105ECAB009445BF
6BCF34441105ECEB009445BF
6BCF34691105EF2D009445BF
- 6BCF347A1105F519009445BF
- 6BCF347B1105F519009445BF
6BCF34831105F555009445BF
6BCF34901105F821009445BF
6BCF34911105F821009445BF
6BCF34A41105F894009445BF
- 6BCF34A51105F894009445BF
- 6BCF34AC1105F8DB009445BF
- 6BCF34AD1105F8DB009445BF
+ 6BCF34B01105FA03009445BF
+ 6BCF34B11105FA03009445BF
+ 6BCF34E2110602BB009445BF
+ 6BCF34E3110602BB009445BF
+ 6BCF34F111060322009445BF
+ 6BCF34F211060322009445BF
prevStack
@@ -605,6 +605,40 @@
6BCF34A81105F894009445BF
6BCF34A91105F894009445BF
6BCF34AE1105F8DB009445BF
+ 6BCF34B31105FA03009445BF
+ 6BCF34B41105FA03009445BF
+ 6BCF34B51105FA03009445BF
+ 6BCF34BE1105FD0F009445BF
+ 6BCF34BF1105FD0F009445BF
+ 6BCF34C01105FD0F009445BF
+ 6BCF34C11105FD0F009445BF
+ 6BCF34C21105FD0F009445BF
+ 6BCF34C31105FD0F009445BF
+ 6BCF34C41105FD0F009445BF
+ 6BCF34C51105FD0F009445BF
+ 6BCF34C61105FD0F009445BF
+ 6BCF34C71105FD0F009445BF
+ 6BCF34C81105FD0F009445BF
+ 6BCF34C91105FD0F009445BF
+ 6BCF34CA1105FD0F009445BF
+ 6BCF34CB1105FD0F009445BF
+ 6BCF34CC1105FD0F009445BF
+ 6BCF34D01105FF32009445BF
+ 6BCF34D11105FF32009445BF
+ 6BCF34D21105FF32009445BF
+ 6BCF34D31105FF32009445BF
+ 6BCF34E5110602BB009445BF
+ 6BCF34E6110602BB009445BF
+ 6BCF34E7110602BB009445BF
+ 6BCF34E8110602BB009445BF
+ 6BCF34E9110602BB009445BF
+ 6BCF34EA110602BB009445BF
+ 6BCF34EB110602BB009445BF
+ 6BCF34EC110602BB009445BF
+ 6BCF34ED110602BB009445BF
+ 6BCF34EE110602BB009445BF
+ 6BCF34EF110602BB009445BF
+ 6BCF34F311060322009445BF
SplitCount
@@ -618,18 +652,18 @@
GeometryConfiguration
Frame
- {{0, 0}, {952, 562}}
+ {{0, 0}, {952, 547}}
RubberWindowFrame
11 76 1256 702 0 0 1280 778
Module
PBXNavigatorGroup
Proportion
- 562pt
+ 547pt
Proportion
- 94pt
+ 109pt
Tabs
@@ -697,7 +731,7 @@
GeometryConfiguration
Frame
- {{10, 27}, {952, 67}}
+ {{10, 27}, {952, 82}}
RubberWindowFrame
11 76 1256 702 0 0 1280 778
diff --git a/RecastDemo/Include/NavMeshTesterTool.h b/RecastDemo/Include/NavMeshTesterTool.h
index 8093894..46a14a1 100644
--- a/RecastDemo/Include/NavMeshTesterTool.h
+++ b/RecastDemo/Include/NavMeshTesterTool.h
@@ -31,6 +31,8 @@ class NavMeshTesterTool : public SampleTool
float m_agentHeight;
float m_agentClimb;
+ dtQueryFilter m_filter;
+
enum ToolMode
{
TOOLMODE_PATHFIND,
diff --git a/RecastDemo/Source/NavMeshTesterTool.cpp b/RecastDemo/Source/NavMeshTesterTool.cpp
index 1fbffb6..544a8f4 100644
--- a/RecastDemo/Source/NavMeshTesterTool.cpp
+++ b/RecastDemo/Source/NavMeshTesterTool.cpp
@@ -59,6 +59,9 @@ NavMeshTesterTool::NavMeshTesterTool() :
m_sposSet(false),
m_eposSet(false)
{
+ m_filter.includeFlags = DT_POLY_GROUND | DT_POLY_OFFMESH_CONNECTION;
+ m_filter.excludeFlags = 0;
+
m_polyPickExt[0] = 2;
m_polyPickExt[1] = 4;
m_polyPickExt[2] = 2;
@@ -117,6 +120,34 @@ void NavMeshTesterTool::handleMenu()
recalc();
}
+ imguiSeparator();
+
+ imguiLabel("Include Flags");
+
+ if (imguiCheck("Ground", m_filter.includeFlags & DT_POLY_GROUND))
+ {
+ m_filter.includeFlags ^= DT_POLY_GROUND;
+ recalc();
+ }
+ if (imguiCheck("Off-Mesh Connections", m_filter.includeFlags & DT_POLY_OFFMESH_CONNECTION))
+ {
+ m_filter.includeFlags ^= DT_POLY_OFFMESH_CONNECTION;
+ recalc();
+ }
+
+ imguiLabel("Exclude Flags");
+
+ if (imguiCheck("Ground", m_filter.excludeFlags & DT_POLY_GROUND))
+ {
+ m_filter.excludeFlags ^= DT_POLY_GROUND;
+ recalc();
+ }
+ if (imguiCheck("Off-Mesh Connections", m_filter.excludeFlags & DT_POLY_OFFMESH_CONNECTION))
+ {
+ m_filter.excludeFlags ^= DT_POLY_OFFMESH_CONNECTION;
+ recalc();
+ }
+
if (m_toolMode == TOOLMODE_PATHFIND)
{
unsigned char flags = DU_DRAWNAVMESH_CLOSEDLIST;
@@ -203,12 +234,12 @@ void NavMeshTesterTool::recalc()
return;
if (m_sposSet)
- m_startRef = m_navMesh->findNearestPoly(m_spos, m_polyPickExt, 0);
+ m_startRef = m_navMesh->findNearestPoly(m_spos, m_polyPickExt, &m_filter, 0);
else
m_startRef = 0;
if (m_eposSet)
- m_endRef = m_navMesh->findNearestPoly(m_epos, m_polyPickExt, 0);
+ m_endRef = m_navMesh->findNearestPoly(m_epos, m_polyPickExt, &m_filter, 0);
else
m_endRef = 0;
@@ -216,7 +247,7 @@ void NavMeshTesterTool::recalc()
{
if (m_sposSet && m_eposSet && m_startRef && m_endRef)
{
- m_npolys = m_navMesh->findPath(m_startRef, m_endRef, m_spos, m_epos, m_polys, MAX_POLYS);
+ m_npolys = m_navMesh->findPath(m_startRef, m_endRef, m_spos, m_epos, &m_filter, m_polys, MAX_POLYS);
m_nstraightPath = 0;
m_nsmoothPath = 0;
@@ -224,7 +255,8 @@ void NavMeshTesterTool::recalc()
if (m_npolys)
{
m_nstraightPath = m_navMesh->findStraightPath(m_spos, m_epos, m_polys, m_npolys,
- m_straightPath, m_straightPathFlags, m_straightPathPolys, MAX_POLYS);
+ m_straightPath, m_straightPathFlags,
+ m_straightPathPolys, MAX_POLYS);
// Iterate over the path to find smooth path on the detail mesh surface.
@@ -364,7 +396,7 @@ void NavMeshTesterTool::recalc()
m_straightPath[1] = m_spos[1];
m_straightPath[2] = m_spos[2];
vcopy(m_hitPos, m_epos);
- m_npolys = m_navMesh->raycast(m_startRef, m_spos, m_epos, t, m_hitNormal, m_polys, MAX_POLYS);
+ m_npolys = m_navMesh->raycast(m_startRef, m_spos, m_epos, &m_filter, t, m_hitNormal, m_polys, MAX_POLYS);
if (m_npolys && t < 1)
{
m_hitPos[0] = m_spos[0] + (m_epos[0] - m_spos[0]) * t;
@@ -378,7 +410,7 @@ void NavMeshTesterTool::recalc()
{
m_distanceToWall = 0;
if (m_sposSet && m_startRef)
- m_distanceToWall = m_navMesh->findDistanceToWall(m_startRef, m_spos, 100.0f, m_hitPos, m_hitNormal);
+ m_distanceToWall = m_navMesh->findDistanceToWall(m_startRef, m_spos, 100.0f, &m_filter, m_hitPos, m_hitNormal);
}
else if (m_toolMode == TOOLMODE_FIND_POLYS_AROUND)
{
@@ -387,7 +419,7 @@ void NavMeshTesterTool::recalc()
const float dx = m_epos[0] - m_spos[0];
const float dz = m_epos[2] - m_spos[2];
float dist = sqrtf(dx*dx + dz*dz);
- m_npolys = m_navMesh->findPolysAround(m_startRef, m_spos, dist, m_polys, m_parent, 0, MAX_POLYS);
+ m_npolys = m_navMesh->findPolysAround(m_startRef, m_spos, dist, &m_filter, m_polys, m_parent, 0, MAX_POLYS);
}
}
}