diff --git a/Detour/Include/DetourCommon.h b/Detour/Include/DetourCommon.h index ca325a5..3bd2c09 100644 --- a/Detour/Include/DetourCommon.h +++ b/Detour/Include/DetourCommon.h @@ -40,6 +40,20 @@ inline float vdot(const float* v1, const float* v2) return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; } +inline void vmad(float* dest, const float* v1, const float* v2, const float s) +{ + dest[0] = v1[0]+v2[0]*s; + dest[1] = v1[1]+v2[1]*s; + dest[2] = v1[2]+v2[2]*s; +} + +inline void vadd(float* dest, const float* v1, const float* v2) +{ + dest[0] = v1[0]+v2[0]; + dest[1] = v1[1]+v2[1]; + dest[2] = v1[2]+v2[2]; +} + inline void vsub(float* dest, const float* v1, const float* v2) { dest[0] = v1[0]-v2[0]; @@ -68,6 +82,14 @@ inline void vcopy(float* dest, const float* a) dest[2] = a[2]; } +inline float vdist(const float* v1, const float* v2) +{ + float dx = v2[0] - v1[0]; + float dy = v2[1] - v1[1]; + float dz = v2[2] - v1[2]; + return sqrtf(dx*dx + dy*dy + dz*dz); +} + inline float vdistSqr(const float* v1, const float* v2) { float dx = v2[0] - v1[0]; diff --git a/Detour/Include/DetourDebugDraw.h b/Detour/Include/DetourDebugDraw.h index 66d591f..8e1cfe4 100755 --- a/Detour/Include/DetourDebugDraw.h +++ b/Detour/Include/DetourDebugDraw.h @@ -24,7 +24,7 @@ void dtDebugDrawStatNavMeshPoly(const dtStatNavMesh* mesh, dtStatPolyRef ref, const float* col); void dtDebugDrawStatNavMeshBVTree(const dtStatNavMesh* mesh); -void dtDebugDrawStatNavMesh(const dtStatNavMesh* mesh); +void dtDebugDrawStatNavMesh(const dtStatNavMesh* mesh, bool drawClosedList = false); void dtDebugDrawTiledNavMesh(const dtTiledNavMesh* mesh); void dtDebugDrawTiledNavMeshPoly(const dtTiledNavMesh* mesh, dtTilePolyRef ref, const float* col); diff --git a/Detour/Include/DetourStatNavMesh.h b/Detour/Include/DetourStatNavMesh.h index d3ed74d..a84eb6a 100755 --- a/Detour/Include/DetourStatNavMesh.h +++ b/Detour/Include/DetourStatNavMesh.h @@ -171,7 +171,7 @@ public: // Returns pointer to specified vertex. inline const float* getVertex(int i) const { return &m_header->verts[i*3]; } - bool isInOpenList(dtStatPolyRef ref) const; + bool isInClosedList(dtStatPolyRef ref) const; int getMemUsed() const; @@ -183,11 +183,6 @@ public: private: - float getCost(dtStatPolyRef prev, dtStatPolyRef from, dtStatPolyRef to) const; - float getFirstCost(const float* pos, dtStatPolyRef from, dtStatPolyRef to) const; - float getLastCost(dtStatPolyRef from, dtStatPolyRef to, const float* pos) const; - float getHeuristic(const float* from, const float* to) const; - // Copies the locations of vertices of a polygon to an array. int getPolyVerts(dtStatPolyRef ref, float* verts) const; // Returns portal points between two polygons. diff --git a/Detour/Include/DetourTileNavMesh.h b/Detour/Include/DetourTileNavMesh.h index 895ebbf..6b330e6 100644 --- a/Detour/Include/DetourTileNavMesh.h +++ b/Detour/Include/DetourTileNavMesh.h @@ -62,28 +62,27 @@ struct dtTileLink struct dtTileHeader { - int magic; - int version; - int npolys; - int nverts; - int nlinks; - int maxlinks; - float cs; - float bmin[3], bmax[3]; - dtTilePoly* polys; - float* verts; - dtTileLink* links; + int magic; // Magic number, used to identify the data. + int version; // Data version number. + int npolys; // Number of polygons in the tile. + int nverts; // Number of vertices in the tile. + int nlinks; // Number of links in the tile (will be updated when tile is added). + int maxlinks; // Number of allocated links. + float bmin[3], bmax[3]; // Bounding box of the tile. + dtTilePoly* polys; // Pointer to the polygons (will be updated when tile is added). + float* verts; // Pointer to the vertices (will be updated when tile added). + dtTileLink* links; // Pointer to the links (will be updated when tile added). }; struct dtTile { - int salt; - int x,y; - dtTileHeader* header; - unsigned char* data; - int dataSize; - bool ownsData; - dtTile* next; + int salt; // Counter describing modifications to the tile. + int x,y; // Grid location of the tile. + dtTileHeader* header; // Pointer to tile header. + unsigned char* data; // Pointer to tile data. + int dataSize; // Size of the tile data. + bool ownsData; // Flag indicating of the navmesh should release the data. + dtTile* next; // Next free tile or, next tile in spatial grid. }; // Encodes a tile id. diff --git a/Detour/Source/DetourDebugDraw.cpp b/Detour/Source/DetourDebugDraw.cpp index 77becfa..1c0f380 100755 --- a/Detour/Source/DetourDebugDraw.cpp +++ b/Detour/Source/DetourDebugDraw.cpp @@ -103,14 +103,14 @@ void dtDebugDrawStatNavMeshBVTree(const dtStatNavMesh* mesh) glEnd(); } -void dtDebugDrawStatNavMesh(const dtStatNavMesh* mesh) +void dtDebugDrawStatNavMesh(const dtStatNavMesh* mesh, bool drawClosedList) { glBegin(GL_TRIANGLES); for (int i = 0; i < mesh->getPolyCount(); ++i) { const dtStatPoly* p = mesh->getPoly(i); - if (mesh->isInOpenList(i+1)) + if (drawClosedList && mesh->isInClosedList(i+1)) glColor4ub(255,196,0,64); else glColor4ub(0,196,255,64); diff --git a/Detour/Source/DetourStatNavMesh.cpp b/Detour/Source/DetourStatNavMesh.cpp index e4c2dd3..25c98d9 100755 --- a/Detour/Source/DetourStatNavMesh.cpp +++ b/Detour/Source/DetourStatNavMesh.cpp @@ -85,36 +85,6 @@ const dtStatPoly* dtStatNavMesh::getPolyByRef(dtStatPolyRef ref) const return &m_header->polys[ref-1]; } -float dtStatNavMesh::getCost(dtStatPolyRef prev, dtStatPolyRef from, dtStatPolyRef to) const -{ - float midFrom[3], midTo[3]; - if (!getEdgeMidPoint(prev,from,midFrom) || !getEdgeMidPoint(from,to,midTo)) - return FLT_MAX; - return sqrtf(vdistSqr(midFrom,midTo)); -} - -float dtStatNavMesh::getFirstCost(const float* pos, dtStatPolyRef from, dtStatPolyRef to) const -{ - float mid[3]; - if (!getEdgeMidPoint(from,to,mid)) - return FLT_MAX; - return sqrtf(vdistSqr(pos,mid)); -} - -float dtStatNavMesh::getLastCost(dtStatPolyRef from, dtStatPolyRef to, const float* pos) const -{ - float mid[3]; - if (!getEdgeMidPoint(from,to,mid)) - return FLT_MAX; - return sqrtf(vdistSqr(mid,pos)); -} - -float dtStatNavMesh::getHeuristic(const float* from, const float* to) const -{ - return sqrtf(vdistSqr(from,to)) * 1.1f; -} - - int dtStatNavMesh::findPath(dtStatPolyRef startRef, dtStatPolyRef endRef, const float* startPos, const float* endPos, dtStatPolyRef* path, const int maxPathSize) @@ -136,10 +106,12 @@ int dtStatNavMesh::findPath(dtStatPolyRef startRef, dtStatPolyRef endRef, m_nodePool->clear(); m_openList->clear(); + static const float H_SCALE = 1.1f; // Heuristic scale. + dtNode* startNode = m_nodePool->getNode(startRef); startNode->pidx = 0; startNode->cost = 0; - startNode->total = getHeuristic(startPos, endPos); + startNode->total = vdist(startPos, endPos) * H_SCALE; startNode->id = startRef; startNode->flags = DT_NODE_OPEN; m_openList->push(startNode); @@ -171,22 +143,22 @@ int dtStatNavMesh::findPath(dtStatPolyRef startRef, dtStatPolyRef endRef, newNode.pidx = m_nodePool->getNodeIdx(parent); newNode.id = neighbour; - newNode.cost = parent->cost; + // Calculate cost. + float p0[3], p1[3]; if (!parent->pidx) - newNode.cost += getFirstCost(startPos,parent->id,newNode.id); + vcopy(p0, startPos); else - newNode.cost += getCost(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, newNode.id); + 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) - newNode.cost += getLastCost(parent->id,newNode.id,endPos); - - float ec[3]; - if (!getEdgeMidPoint(parent->id,newNode.id,ec)) - continue; - const float h = getHeuristic(ec, endPos); - + newNode.cost += vdist(p1, endPos); + + // Heuristic + const float h = vdist(p1,endPos)*H_SCALE; newNode.total = newNode.cost + h; - + dtNode* actualNode = m_nodePool->getNode(newNode.id); if (!actualNode) continue; @@ -568,11 +540,14 @@ float dtStatNavMesh::findDistanceToWall(dtStatPolyRef centerRef, const float* ce newNode.pidx = m_nodePool->getNodeIdx(parent); newNode.id = neighbour; - newNode.cost = parent->total; + // Cost + float p0[3], p1[3]; if (!parent->pidx) - newNode.cost += getFirstCost(centerPos,parent->id,newNode.id); + vcopy(p0, centerPos); else - newNode.cost += getCost(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, newNode.id); + getEdgeMidPoint(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, p0); + getEdgeMidPoint(parent->id, newNode.id, p1); + newNode.total = parent->total + vdist(p0,p1); dtNode* actualNode = m_nodePool->getNode(newNode.id); if (!actualNode) @@ -667,11 +642,14 @@ int dtStatNavMesh::findPolysAround(dtStatPolyRef centerRef, const float* centerP newNode.pidx = m_nodePool->getNodeIdx(parent); newNode.id = neighbour; - newNode.cost = parent->total; + // Cost + float p0[3], p1[3]; if (!parent->pidx) - newNode.cost += getFirstCost(centerPos,parent->id,newNode.id); + vcopy(p0, centerPos); else - newNode.cost += getCost(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, newNode.id); + getEdgeMidPoint(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, p0); + getEdgeMidPoint(parent->id, newNode.id, p1); + newNode.total = parent->total + vdist(p0,p1); dtNode* actualNode = m_nodePool->getNode(newNode.id); if (!actualNode) @@ -817,7 +795,6 @@ bool dtStatNavMesh::getPortalPoints(dtStatPolyRef from, dtStatPolyRef to, float* return false; } -// Returns edge mid point between two polygons. bool dtStatNavMesh::getEdgeMidPoint(dtStatPolyRef from, dtStatPolyRef to, float* mid) const { float left[3], right[3]; @@ -828,10 +805,11 @@ bool dtStatNavMesh::getEdgeMidPoint(dtStatPolyRef from, dtStatPolyRef to, float* return true; } -bool dtStatNavMesh::isInOpenList(dtStatPolyRef ref) const +bool dtStatNavMesh::isInClosedList(dtStatPolyRef ref) const { if (!m_nodePool) return false; - return m_nodePool->findNode(ref) != 0; + const dtNode* node = m_nodePool->findNode(ref); + return node && node->flags & DT_NODE_CLOSED; } int dtStatNavMesh::getMemUsed() const diff --git a/Detour/Source/DetourStatNavMeshBuilder.cpp b/Detour/Source/DetourStatNavMeshBuilder.cpp index d13d02a..39065a9 100755 --- a/Detour/Source/DetourStatNavMeshBuilder.cpp +++ b/Detour/Source/DetourStatNavMeshBuilder.cpp @@ -211,7 +211,7 @@ bool dtCreateNavMeshData(const unsigned short* verts, const int nverts, const float* bmin, const float* bmax, float cs, float ch, unsigned char** outData, int* outDataSize) { - if (nvp != DT_STAT_VERTS_PER_POLYGON) + if (nvp > DT_STAT_VERTS_PER_POLYGON) return false; if (nverts >= 0xffff) return false; diff --git a/Detour/Source/DetourTileNavMesh.cpp b/Detour/Source/DetourTileNavMesh.cpp index 93abe79..0eed897 100644 --- a/Detour/Source/DetourTileNavMesh.cpp +++ b/Detour/Source/DetourTileNavMesh.cpp @@ -372,7 +372,8 @@ bool dtTiledNavMesh::addTileAt(int x, int y, unsigned char* data, int dataSize, tile->x = x; tile->y = y; tile->data = data; - tile->dataSize = ownsData ? -dataSize : dataSize; + tile->dataSize = dataSize; + tile->ownsData = ownsData; buildIntLinks(tile); @@ -458,7 +459,7 @@ bool dtTiledNavMesh::removeTileAt(int x, int y, unsigned char** data, int* dataS // Reset tile. - if (tile->dataSize < 0) + if (tile->ownsData) { // Owns data delete [] tile->data; @@ -614,35 +615,6 @@ int dtTiledNavMesh::queryPolygons(const float* center, const float* extents, return n; } -float dtTiledNavMesh::getCost(dtTilePolyRef prev, dtTilePolyRef from, dtTilePolyRef to) const -{ - float midFrom[3], midTo[3]; - if (!getEdgeMidPoint(prev,from,midFrom) || !getEdgeMidPoint(from,to,midTo)) - return FLT_MAX; - return sqrtf(vdistSqr(midFrom,midTo)); -} - -float dtTiledNavMesh::getFirstCost(const float* pos, dtTilePolyRef from, dtTilePolyRef to) const -{ - float mid[3]; - if (!getEdgeMidPoint(from,to,mid)) - return FLT_MAX; - return sqrtf(vdistSqr(pos,mid)); -} - -float dtTiledNavMesh::getLastCost(dtTilePolyRef from, dtTilePolyRef to, const float* pos) const -{ - float mid[3]; - if (!getEdgeMidPoint(from,to,mid)) - return FLT_MAX; - return sqrtf(vdistSqr(mid,pos)); -} - -float dtTiledNavMesh::getHeuristic(const float* from, const float* to) const -{ - return sqrtf(vdistSqr(from,to)) * 1.1f; -} - int dtTiledNavMesh::findPath(dtTilePolyRef startRef, dtTilePolyRef endRef, const float* startPos, const float* endPos, dtTilePolyRef* path, const int maxPathSize) @@ -668,10 +640,12 @@ int dtTiledNavMesh::findPath(dtTilePolyRef startRef, dtTilePolyRef endRef, m_nodePool->clear(); m_openList->clear(); + static const float H_SCALE = 1.1f; // Heuristic scale. + dtNode* startNode = m_nodePool->getNode(startRef); startNode->pidx = 0; startNode->cost = 0; - startNode->total = getHeuristic(startPos, endPos); + startNode->total = vdist(startPos, endPos) * H_SCALE; startNode->id = startRef; startNode->flags = DT_NODE_OPEN; m_openList->push(startNode); @@ -708,21 +682,21 @@ int dtTiledNavMesh::findPath(dtTilePolyRef startRef, dtTilePolyRef endRef, dtNode newNode; newNode.pidx = m_nodePool->getNodeIdx(parent); newNode.id = neighbour; - - newNode.cost = parent->cost; + + // Calculate cost. + float p0[3], p1[3]; if (!parent->pidx) - newNode.cost += getFirstCost(startPos,parent->id,newNode.id); + vcopy(p0, startPos); else - newNode.cost += getCost(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, newNode.id); + 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) - newNode.cost += getLastCost(parent->id,newNode.id,endPos); - - float ec[3]; - if (!getEdgeMidPoint(parent->id,newNode.id,ec)) - continue; - const float h = getHeuristic(ec, endPos); - + newNode.cost += vdist(p1, endPos); + + // Heuristic + const float h = vdist(p1,endPos)*H_SCALE; newNode.total = newNode.cost + h; dtNode* actualNode = m_nodePool->getNode(newNode.id); @@ -1061,13 +1035,25 @@ int dtTiledNavMesh::raycast(dtTilePolyRef centerRef, const float* startPos, cons nextRef = link->ref; break; } + // If the link is at tile boundary, - // Check that the intersection lies inside the portal. + const int v0 = poly->v[link->e]; + const int v1 = poly->v[(link->e+1) % poly->nv]; + const float* left = &h->verts[v0*3]; + const float* right = &h->verts[v1*3]; + + // Check that the intersection lies inside the link portal. if (link->side == 0 || link->side == 2) { + // Calculate link size. + const float smin = min(left[2],right[2]); + const float smax = max(left[2],right[2]); + const float s = (smax-smin) / 255.0f; + const float lmin = smin + link->bmin*s; + const float lmax = smin + link->bmax*s; // Find Z intersection. float z = startPos[2] + (endPos[2]-startPos[2])*tmax; - if (z >= link->bmin && z <= link->bmax) + if (z >= lmin && z <= lmax) { nextRef = link->ref; break; @@ -1075,9 +1061,15 @@ int dtTiledNavMesh::raycast(dtTilePolyRef centerRef, const float* startPos, cons } else if (link->side == 1 || link->side == 3) { + // Calculate link size. + const float smin = min(left[0],right[0]); + const float smax = max(left[0],right[0]); + const float s = (smax-smin) / 255.0f; + const float lmin = smin + link->bmin*s; + const float lmax = smin + link->bmax*s; // Find X intersection. float x = startPos[0] + (endPos[0]-startPos[0])*tmax; - if (x >= link->bmin && x <= link->bmax) + if (x >= lmin && x <= lmax) { nextRef = link->ref; break; @@ -1167,12 +1159,15 @@ int dtTiledNavMesh::findPolysAround(dtTilePolyRef centerRef, const float* center dtNode newNode; newNode.pidx = m_nodePool->getNodeIdx(parent); newNode.id = neighbour; - - newNode.cost = parent->total; + + // Cost + float p0[3], p1[3]; if (!parent->pidx) - newNode.cost += getFirstCost(centerPos,parent->id,newNode.id); + vcopy(p0, centerPos); else - newNode.cost += getCost(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, newNode.id); + getEdgeMidPoint(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, p0); + getEdgeMidPoint(parent->id, newNode.id, p1); + newNode.total = parent->total + vdist(p0,p1); dtNode* actualNode = m_nodePool->getNode(newNode.id); if (!actualNode) @@ -1310,12 +1305,14 @@ float dtTiledNavMesh::findDistanceToWall(dtTilePolyRef centerRef, const float* c dtNode newNode; newNode.pidx = m_nodePool->getNodeIdx(parent); newNode.id = neighbour; - - newNode.cost = parent->total; + + float p0[3], p1[3]; if (!parent->pidx) - newNode.cost += getFirstCost(centerPos,parent->id,newNode.id); + vcopy(p0, centerPos); else - newNode.cost += getCost(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, newNode.id); + getEdgeMidPoint(m_nodePool->getNodeAtIdx(parent->pidx)->id, parent->id, p0); + getEdgeMidPoint(parent->id, newNode.id, p1); + newNode.total = parent->total + vdist(p0,p1); dtNode* actualNode = m_nodePool->getNode(newNode.id); if (!actualNode) diff --git a/Detour/Source/DetourTileNavMeshBuilder.cpp b/Detour/Source/DetourTileNavMeshBuilder.cpp index 273ec90..d746870 100644 --- a/Detour/Source/DetourTileNavMeshBuilder.cpp +++ b/Detour/Source/DetourTileNavMeshBuilder.cpp @@ -86,7 +86,6 @@ bool dtCreateNavMeshTileData(const unsigned short* verts, const int nverts, header->npolys = npolys; header->nverts = nverts; header->maxlinks = nedges + nportals*2; - header->cs = cs; header->bmin[0] = bmin[0]; header->bmin[1] = bmin[1]; header->bmin[2] = bmin[2]; diff --git a/Recast/Include/Recast.h b/Recast/Include/Recast.h index 6af0d7b..f02a700 100644 --- a/Recast/Include/Recast.h +++ b/Recast/Include/Recast.h @@ -37,28 +37,33 @@ struct rcConfig int maxVertsPerPoly; // Max number of vertices per polygon. }; +// Heightfield span. struct rcSpan { unsigned int smin : 15; // Span min height. unsigned int smax : 15; // Span max height. unsigned int flags : 2; // Span flags. - rcSpan* next; + rcSpan* next; // Next span in column. }; static const int RC_SPANS_PER_POOL = 2048; +// Memory pool used for quick span allocation. struct rcSpanPool { - rcSpanPool* next; - rcSpan items[1]; + rcSpanPool* next; // Pointer to next pool. + rcSpan items[1]; // Array of spans (size RC_SPANS_PER_POOL). }; +// Dynamic span-heightfield. struct rcHeightfield { inline rcHeightfield() : width(0), height(0), spans(0), pools(0), freelist(0) {} inline ~rcHeightfield() { + // Delete span array. delete [] spans; + // Delete span pools. while (pools) { rcSpanPool* next = pools->next; @@ -66,77 +71,90 @@ struct rcHeightfield pools = next; } } - int width, height; - float bmin[3], bmax[3]; - float cs, ch; - rcSpan** spans; - rcSpanPool* pools; - rcSpan* freelist; + int width, height; // Dimension of the heightfield. + float bmin[3], bmax[3]; // Bounding box of the heightfield + float cs, ch; // Cell size and height. + rcSpan** spans; // Heightfield of spans (width*height). + rcSpanPool* pools; // Linked list of span pools. + rcSpan* freelist; // Pointer to next free span. }; struct rcCompactCell { - unsigned int index : 24; - unsigned int count : 8; + unsigned int index : 24; // Index to first span in column. + unsigned int count : 8; // Number of spans in this column. }; struct rcCompactSpan { - unsigned short y; - unsigned short reg; - unsigned short dist; - unsigned short con; - unsigned char h; - unsigned char flags; + unsigned short y; // Bottom coordinate of the span. + unsigned short reg; // Region ID + unsigned short dist; // Distance to border + unsigned short con; // Connections to neighbour cells. + unsigned char h; // Height of the span. + unsigned char flags; // Flags. }; +// Compact static heightfield. struct rcCompactHeightfield { inline rcCompactHeightfield() : maxDistance(0), maxRegions(0), cells(0), spans(0) {} inline ~rcCompactHeightfield() { delete [] cells; delete [] spans; } - int width, height; - int spanCount; - int walkableHeight, walkableClimb; - unsigned short maxDistance; - unsigned short maxRegions; - float bmin[3], bmax[3]; - float cs, ch; - rcCompactCell* cells; - rcCompactSpan* spans; + int width, height; // Width and height of the heighfield. + int spanCount; // Number of spans in the heightfield. + int walkableHeight, walkableClimb; // Agent properties. + unsigned short maxDistance; // Maximum distance value stored in heightfield. + unsigned short maxRegions; // Maximum Region Id stored in heightfield. + float bmin[3], bmax[3]; // Bounding box of the heightfield. + float cs, ch; // Cell size and height. + rcCompactCell* cells; // Pointer to width*height cells. + rcCompactSpan* spans; // Pointer to spans. }; struct rcContour { inline rcContour() : verts(0), nverts(0), rverts(0), nrverts(0) { } inline ~rcContour() { delete [] verts; delete [] rverts; } - int* verts; - int nverts; - int* rverts; - int nrverts; - unsigned short reg; + int* verts; // Vertex coordinates, each vertex contains 4 components. + int nverts; // Number of vertices. + int* rverts; // Raw vertex coordinates, each vertex contains 4 components. + int nrverts; // Number of raw vertices. + unsigned short reg; // Region ID of the contour. }; struct rcContourSet { inline rcContourSet() : conts(0), nconts(0) {} inline ~rcContourSet() { delete [] conts; } - rcContour* conts; - int nconts; + rcContour* conts; // Pointer to all contours. + int nconts; // Number of contours. }; +// Polymesh store a connected mesh of polygons. +// The polygons are store in an array where each polygons takes +// 'nvp*2' elements. The first 'nvp' elements are indices to vertices +// and the second 'nvp' elements are indices to neighbour polygons. +// If a polygona has less than 'bvp' vertices, the remaining indices +// are set os 0xffff. If an polygon edge does not have a neighbour +// the neighbour index is set to 0xffff. +// Vertices can be transformed into world space as follows: +// x = bmin[0] + verts[i*3+0]*cs; +// y = bmin[1] + verts[i*3+1]*ch; +// z = bmin[2] + verts[i*3+2]*cs; struct rcPolyMesh { inline rcPolyMesh() : verts(0), polys(0), nverts(0), npolys(0), nvp(3) {} inline ~rcPolyMesh() { delete [] verts; delete [] polys; } - unsigned short* verts; - unsigned short* polys; - int nverts; - int npolys; - int nvp; - float bmin[3], bmax[3]; - float cs, ch; + unsigned short* verts; // Vertices of the mesh, 3 elements per vertex. + unsigned short* polys; // Polygons of the mesh, nvp*2 elements per polygon. + int nverts; // Number of vertices. + int npolys; // Number of polygons. + int nvp; // Max number of vertices per polygon. + float bmin[3], bmax[3]; // Bounding box of the mesh. + float cs, ch; // Cell size and height. }; +// Simple dynamic array ints. class rcIntArray { int* m_data; @@ -159,7 +177,7 @@ enum rcSpanFlags RC_REACHABLE = 0x02, }; -// Comppact span neighbour helpers. +// Compact span neighbour helpers. inline int rcGetCon(const rcCompactSpan& s, int dir) { return (s.con >> (dir*4)) & 0xf; @@ -198,6 +216,20 @@ inline float vdot(const float* v1, const float* v2) return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; } +inline void vmad(float* dest, const float* v1, const float* v2, const float s) +{ + dest[0] = v1[0]+v2[0]*s; + dest[1] = v1[1]+v2[1]*s; + dest[2] = v1[2]+v2[2]*s; +} + +inline void vadd(float* dest, const float* v1, const float* v2) +{ + dest[0] = v1[0]+v2[0]; + dest[1] = v1[1]+v2[1]; + dest[2] = v1[2]+v2[2]; +} + inline void vsub(float* dest, const float* v1, const float* v2) { dest[0] = v1[0]-v2[0]; @@ -226,6 +258,14 @@ inline void vcopy(float* dest, const float* v) dest[2] = v[2]; } +inline float vdist(const float* v1, const float* v2) +{ + float dx = v2[0] - v1[0]; + float dy = v2[1] - v1[1]; + float dz = v2[2] - v1[2]; + return sqrtf(dx*dx + dy*dy + dz*dz); +} + inline float vdistSqr(const float* v1, const float* v2) { float dx = v2[0] - v1[0]; diff --git a/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast b/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast index e228644..fd3456b 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 68ff76a..84622bd 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser @@ -110,8 +110,8 @@ PBXFileDataSource_Target_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 269423798; - PBXWorkspaceStateSaveDate = 269423798; + PBXPerProjectTemplateStateSaveDate = 269768399; + PBXWorkspaceStateSaveDate = 269768399; }; perUserProjectItems = { 6B0249051001EABD00CF7107 = 6B0249051001EABD00CF7107 /* PBXTextBookmark */; @@ -129,21 +129,14 @@ 6B092B500FFCA0A20088D3A5 = 6B092B500FFCA0A20088D3A5 /* PBXTextBookmark */; 6B092B530FFCA0A20088D3A5 = 6B092B530FFCA0A20088D3A5 /* PBXTextBookmark */; 6B092BBC0FFCEC1A0088D3A5 = 6B092BBC0FFCEC1A0088D3A5 /* PBXTextBookmark */; - 6B092C5F0FFCFF790088D3A5 = 6B092C5F0FFCFF790088D3A5 /* PBXTextBookmark */; 6B092CC10FFE40160088D3A5 = 6B092CC10FFE40160088D3A5 /* PBXTextBookmark */; 6B1186211006945C0018F96F = 6B1186211006945C0018F96F /* PBXBookmark */; 6B11862D1006945C0018F96F = 6B11862D1006945C0018F96F /* PBXBookmark */; 6B1186301006945C0018F96F = 6B1186301006945C0018F96F /* PBXTextBookmark */; 6B1186311006945C0018F96F = 6B1186311006945C0018F96F /* PBXTextBookmark */; - 6B1186401006945C0018F96F = 6B1186401006945C0018F96F /* PBXTextBookmark */; 6B1186411006945C0018F96F = 6B1186411006945C0018F96F /* PBXTextBookmark */; - 6B1186581006945C0018F96F = 6B1186581006945C0018F96F /* PBXTextBookmark */; - 6B118672100694C40018F96F = 6B118672100694C40018F96F /* PBXTextBookmark */; - 6B1186CF100699A00018F96F = 6B1186CF100699A00018F96F /* PBXTextBookmark */; 6B1186D1100699A00018F96F = 6B1186D1100699A00018F96F /* PBXTextBookmark */; - 6B1186E610069E200018F96F = 6B1186E610069E200018F96F /* PBXTextBookmark */; 6B1E02680F924A8500CC0038 = 6B1E02680F924A8500CC0038 /* PBXTextBookmark */; - 6B1E029B0F924D8B00CC0038 = 6B1E029B0F924D8B00CC0038 /* PBXTextBookmark */; 6B1E02FC0F92563500CC0038 = 6B1E02FC0F92563500CC0038 /* PBXTextBookmark */; 6B1E032E0F925D9100CC0038 = 6B1E032E0F925D9100CC0038 /* PBXTextBookmark */; 6B25B4080FFA13E9004F1BC4 = 6B25B4080FFA13E9004F1BC4 /* PBXTextBookmark */; @@ -156,17 +149,14 @@ 6B2AEC740FFB8AB0005BE9CC = 6B2AEC740FFB8AB0005BE9CC /* PBXTextBookmark */; 6B2AEC750FFB8AB0005BE9CC = 6B2AEC750FFB8AB0005BE9CC /* PBXTextBookmark */; 6B2AEC970FFB8AB0005BE9CC = 6B2AEC970FFB8AB0005BE9CC /* PBXTextBookmark */; - 6B2AECB50FFB8AB0005BE9CC = 6B2AECB50FFB8AB0005BE9CC /* PBXTextBookmark */; 6B2AECED0FFB8B41005BE9CC = 6B2AECED0FFB8B41005BE9CC /* PBXTextBookmark */; 6B2AED930FFBA45B005BE9CC = 6B2AED930FFBA45B005BE9CC /* PBXTextBookmark */; 6B458EA80FB4540500044EA9 = 6B458EA80FB4540500044EA9 /* PBXTextBookmark */; - 6B555D23100B136A00247EA3 = 6B555D23100B136A00247EA3 /* PBXTextBookmark */; 6B555D24100B136A00247EA3 = 6B555D24100B136A00247EA3 /* PBXTextBookmark */; 6B555D26100B136A00247EA3 = 6B555D26100B136A00247EA3 /* PBXTextBookmark */; 6B555D30100B143200247EA3 = 6B555D30100B143200247EA3 /* PBXTextBookmark */; 6B555DC9100B236A00247EA3 = 6B555DC9100B236A00247EA3 /* PBXTextBookmark */; 6B555E01100B285300247EA3 = 6B555E01100B285300247EA3 /* PBXTextBookmark */; - 6B555E12100B285300247EA3 = 6B555E12100B285300247EA3 /* PBXTextBookmark */; 6B555E13100B285300247EA3 = 6B555E13100B285300247EA3 /* PBXTextBookmark */; 6B555E5F100B334900247EA3 = 6B555E5F100B334900247EA3 /* PBXTextBookmark */; 6B555E60100B334900247EA3 = 6B555E60100B334900247EA3 /* PBXTextBookmark */; @@ -177,13 +167,7 @@ 6B555F0D100B473F00247EA3 = 6B555F0D100B473F00247EA3 /* PBXTextBookmark */; 6B555F0E100B473F00247EA3 = 6B555F0E100B473F00247EA3 /* PBXTextBookmark */; 6B555F0F100B473F00247EA3 = 6B555F0F100B473F00247EA3 /* PBXTextBookmark */; - 6B555F10100B473F00247EA3 = 6B555F10100B473F00247EA3 /* PBXTextBookmark */; 6B555F42100B4C5800247EA3 = 6B555F42100B4C5800247EA3 /* PBXTextBookmark */; - 6B555F5E100B53F500247EA3 = 6B555F5E100B53F500247EA3 /* PBXTextBookmark */; - 6B555F63100B53F500247EA3 = 6B555F63100B53F500247EA3 /* PBXTextBookmark */; - 6B555F8B100B577A00247EA3 = 6B555F8B100B577A00247EA3 /* PBXTextBookmark */; - 6B555F90100B577A00247EA3 = 6B555F90100B577A00247EA3 /* PBXTextBookmark */; - 6B555FA8100B589200247EA3 = 6B555FA8100B589200247EA3 /* PBXTextBookmark */; 6B555FB4100B595C00247EA3 = 6B555FB4100B595C00247EA3 /* PBXTextBookmark */; 6B7707B90FBD66CF00D21BAE = 6B7707B90FBD66CF00D21BAE /* PBXTextBookmark */; 6B7707F00FBD90F100D21BAE = 6B7707F00FBD90F100D21BAE /* PBXTextBookmark */; @@ -191,194 +175,55 @@ 6B7708F70FBDA96300D21BAE = 6B7708F70FBDA96300D21BAE /* PBXTextBookmark */; 6B7EBB69100721310066EF8C = 6B7EBB69100721310066EF8C /* PBXTextBookmark */; 6B86333B0F7813A600E2684A = 6B86333B0F7813A600E2684A /* PBXTextBookmark */; + 6B8AE8DA10121C6000FF1D07 = 6B8AE8DA10121C6000FF1D07 /* PBXTextBookmark */; + 6B8AE8DE10121C6000FF1D07 = 6B8AE8DE10121C6000FF1D07 /* PBXTextBookmark */; + 6B8AE8DF10121C6000FF1D07 = 6B8AE8DF10121C6000FF1D07 /* PBXTextBookmark */; + 6B8AE8FA10123B5700FF1D07 = 6B8AE8FA10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE8FB10123B5700FF1D07 = 6B8AE8FB10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE8FC10123B5700FF1D07 = 6B8AE8FC10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE8FD10123B5700FF1D07 = 6B8AE8FD10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE8FE10123B5700FF1D07 = 6B8AE8FE10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE8FF10123B5700FF1D07 = 6B8AE8FF10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90010123B5700FF1D07 = 6B8AE90010123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90110123B5700FF1D07 = 6B8AE90110123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90210123B5700FF1D07 = 6B8AE90210123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90310123B5700FF1D07 = 6B8AE90310123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90410123B5700FF1D07 = 6B8AE90410123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90510123B5700FF1D07 = 6B8AE90510123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90610123B5700FF1D07 = 6B8AE90610123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90710123B5700FF1D07 = 6B8AE90710123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90810123B5700FF1D07 = 6B8AE90810123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90910123B5700FF1D07 = 6B8AE90910123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90A10123B5700FF1D07 = 6B8AE90A10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90B10123B5700FF1D07 = 6B8AE90B10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90C10123B5700FF1D07 = 6B8AE90C10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90D10123B5700FF1D07 = 6B8AE90D10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90E10123B5700FF1D07 = 6B8AE90E10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE90F10123B5700FF1D07 = 6B8AE90F10123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91010123B5700FF1D07 = 6B8AE91010123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91110123B5700FF1D07 = 6B8AE91110123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91210123B5700FF1D07 = 6B8AE91210123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91310123B5700FF1D07 = 6B8AE91310123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91410123B5700FF1D07 = 6B8AE91410123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91510123B5700FF1D07 = 6B8AE91510123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91610123B5700FF1D07 = 6B8AE91610123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91710123B5700FF1D07 = 6B8AE91710123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91810123B5700FF1D07 = 6B8AE91810123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91910123B5700FF1D07 = 6B8AE91910123B5700FF1D07 /* PBXTextBookmark */; + 6B8AE91A10123B5700FF1D07 = 6B8AE91A10123B5700FF1D07 /* PBXTextBookmark */; 6B8DB3900F9798DE007FA9E1 = 6B8DB3900F9798DE007FA9E1 /* PBXTextBookmark */; - 6B92CE50100E02D3003DA304 = 6B92CE50100E02D3003DA304 /* PBXTextBookmark */; 6B92CE68100E0577003DA304 = 6B92CE68100E0577003DA304 /* PBXTextBookmark */; 6B92CE69100E0577003DA304 = 6B92CE69100E0577003DA304 /* PBXTextBookmark */; 6B92CE6A100E0577003DA304 = 6B92CE6A100E0577003DA304 /* PBXTextBookmark */; - 6B92CE6B100E0577003DA304 = 6B92CE6B100E0577003DA304 /* PBXTextBookmark */; - 6B92CE6C100E0577003DA304 = 6B92CE6C100E0577003DA304 /* PBXTextBookmark */; - 6B92CE6D100E0577003DA304 = 6B92CE6D100E0577003DA304 /* PBXTextBookmark */; - 6B92CE6E100E0577003DA304 = 6B92CE6E100E0577003DA304 /* PBXTextBookmark */; 6B92CE6F100E0577003DA304 = 6B92CE6F100E0577003DA304 /* PBXTextBookmark */; 6B92CE70100E0577003DA304 = 6B92CE70100E0577003DA304 /* PBXTextBookmark */; - 6B92CE71100E0577003DA304 = 6B92CE71100E0577003DA304 /* PBXTextBookmark */; 6B92CE72100E0577003DA304 = 6B92CE72100E0577003DA304 /* PBXTextBookmark */; - 6B92CE73100E0577003DA304 = 6B92CE73100E0577003DA304 /* PBXTextBookmark */; - 6B92CE74100E0577003DA304 = 6B92CE74100E0577003DA304 /* PBXTextBookmark */; - 6B92CE75100E0577003DA304 = 6B92CE75100E0577003DA304 /* PBXTextBookmark */; - 6B92CE76100E0577003DA304 = 6B92CE76100E0577003DA304 /* PBXTextBookmark */; - 6B92CE77100E0577003DA304 = 6B92CE77100E0577003DA304 /* PBXTextBookmark */; - 6B92CE78100E0577003DA304 = 6B92CE78100E0577003DA304 /* PBXTextBookmark */; - 6B92CE79100E0577003DA304 = 6B92CE79100E0577003DA304 /* PBXTextBookmark */; - 6B92CE7A100E0577003DA304 = 6B92CE7A100E0577003DA304 /* PBXTextBookmark */; - 6B92CE7B100E0577003DA304 = 6B92CE7B100E0577003DA304 /* PBXTextBookmark */; - 6B92CE7C100E0577003DA304 = 6B92CE7C100E0577003DA304 /* PBXTextBookmark */; - 6B92CE7D100E0577003DA304 = 6B92CE7D100E0577003DA304 /* PBXTextBookmark */; - 6B92CE7E100E0577003DA304 = 6B92CE7E100E0577003DA304 /* PBXTextBookmark */; - 6B92CE7F100E0577003DA304 = 6B92CE7F100E0577003DA304 /* PBXTextBookmark */; - 6B92CE80100E0577003DA304 = 6B92CE80100E0577003DA304 /* PBXTextBookmark */; - 6B92CE81100E0577003DA304 = 6B92CE81100E0577003DA304 /* PBXTextBookmark */; - 6B92CE82100E0577003DA304 = 6B92CE82100E0577003DA304 /* PBXTextBookmark */; - 6B92CE83100E0577003DA304 = 6B92CE83100E0577003DA304 /* PBXTextBookmark */; - 6B92CE84100E0577003DA304 = 6B92CE84100E0577003DA304 /* PBXTextBookmark */; - 6B92CE89100E0739003DA304 = 6B92CE89100E0739003DA304 /* PBXTextBookmark */; 6B92CE8A100E0739003DA304 = 6B92CE8A100E0739003DA304 /* PBXTextBookmark */; - 6B92CE8C100E0739003DA304 = 6B92CE8C100E0739003DA304 /* PBXTextBookmark */; - 6B92CE8E100E0739003DA304 = 6B92CE8E100E0739003DA304 /* PBXTextBookmark */; - 6B92CE8F100E0739003DA304 = 6B92CE8F100E0739003DA304 /* PBXTextBookmark */; - 6B92CE90100E0739003DA304 = 6B92CE90100E0739003DA304 /* PBXTextBookmark */; - 6B92CE91100E0739003DA304 = 6B92CE91100E0739003DA304 /* PBXTextBookmark */; - 6B92CE92100E0739003DA304 = 6B92CE92100E0739003DA304 /* PBXTextBookmark */; - 6B92CE93100E0739003DA304 = 6B92CE93100E0739003DA304 /* PBXTextBookmark */; - 6B92CE94100E0739003DA304 = 6B92CE94100E0739003DA304 /* PBXTextBookmark */; - 6B92CE95100E0739003DA304 = 6B92CE95100E0739003DA304 /* PBXTextBookmark */; - 6B92CE9A100E0763003DA304 = 6B92CE9A100E0763003DA304 /* PBXTextBookmark */; - 6B92CE9B100E0763003DA304 = 6B92CE9B100E0763003DA304 /* PBXTextBookmark */; - 6B92CE9C100E0763003DA304 = 6B92CE9C100E0763003DA304 /* PBXTextBookmark */; - 6B92CE9F100E673D003DA304 = 6B92CE9F100E673D003DA304 /* PBXTextBookmark */; 6B995BDF0FE0D9B300D5C493 = 6B995BDF0FE0D9B300D5C493 /* PBXTextBookmark */; - 6B995F79100F14BB00D7BF5A /* PBXTextBookmark */ = 6B995F79100F14BB00D7BF5A /* PBXTextBookmark */; - 6B995F9F100F336B00D7BF5A /* PBXTextBookmark */ = 6B995F9F100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA0100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA0100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA1100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA1100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA2100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA2100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA4100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA4100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA5100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA5100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA6100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA6100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA7100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA7100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA8100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA8100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FA9100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FA9100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FAA100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FAA100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FAB100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FAB100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FAC100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FAC100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FAD100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FAD100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FAE100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FAE100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FAF100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FAF100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB0100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB0100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB1100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB1100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB2100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB2100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB3100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB3100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB4100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB4100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB5100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB5100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB6100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB6100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB7100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB7100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB8100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB8100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FB9100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FB9100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FBA100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FBA100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FBB100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FBB100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FBC100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FBC100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FBD100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FBD100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FBE100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FBE100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FBF100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FBF100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FC0100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FC0100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FC1100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FC1100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FC2100F336B00D7BF5A /* PBXTextBookmark */ = 6B995FC2100F336B00D7BF5A /* PBXTextBookmark */; - 6B995FC3100F336D00D7BF5A /* PBXTextBookmark */ = 6B995FC3100F336D00D7BF5A /* PBXTextBookmark */; - 6B995FC9100F338A00D7BF5A /* PBXTextBookmark */ = 6B995FC9100F338A00D7BF5A /* PBXTextBookmark */; - 6B995FCC100F345100D7BF5A /* PBXTextBookmark */ = 6B995FCC100F345100D7BF5A /* PBXTextBookmark */; - 6B995FCD100F345100D7BF5A /* PBXTextBookmark */ = 6B995FCD100F345100D7BF5A /* PBXTextBookmark */; - 6B995FCE100F345100D7BF5A /* PBXTextBookmark */ = 6B995FCE100F345100D7BF5A /* PBXTextBookmark */; - 6B995FCF100F345100D7BF5A /* PBXTextBookmark */ = 6B995FCF100F345100D7BF5A /* PBXTextBookmark */; - 6B995FD0100F345100D7BF5A /* PBXTextBookmark */ = 6B995FD0100F345100D7BF5A /* PBXTextBookmark */; - 6B995FD1100F345100D7BF5A /* PBXTextBookmark */ = 6B995FD1100F345100D7BF5A /* PBXTextBookmark */; - 6B995FD3100F34AC00D7BF5A /* PBXTextBookmark */ = 6B995FD3100F34AC00D7BF5A /* PBXTextBookmark */; - 6B995FD5100F34B400D7BF5A /* PBXTextBookmark */ = 6B995FD5100F34B400D7BF5A /* PBXTextBookmark */; - 6B995FD8100F354D00D7BF5A /* PBXTextBookmark */ = 6B995FD8100F354D00D7BF5A /* PBXTextBookmark */; - 6B995FDB100F362200D7BF5A /* PBXTextBookmark */ = 6B995FDB100F362200D7BF5A /* PBXTextBookmark */; - 6B995FDE100F387200D7BF5A /* PBXTextBookmark */ = 6B995FDE100F387200D7BF5A /* PBXTextBookmark */; - 6B995FDF100F387200D7BF5A /* PBXTextBookmark */ = 6B995FDF100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE0100F387200D7BF5A /* PBXTextBookmark */ = 6B995FE0100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE1100F387200D7BF5A /* PBXTextBookmark */ = 6B995FE1100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE2100F387200D7BF5A /* PBXTextBookmark */ = 6B995FE2100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE3100F387200D7BF5A /* PBXTextBookmark */ = 6B995FE3100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE4100F387200D7BF5A /* PBXTextBookmark */ = 6B995FE4100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE5100F387200D7BF5A /* PBXTextBookmark */ = 6B995FE5100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE6100F387200D7BF5A /* PBXTextBookmark */ = 6B995FE6100F387200D7BF5A /* PBXTextBookmark */; - 6B995FE9100F391200D7BF5A /* PBXTextBookmark */ = 6B995FE9100F391200D7BF5A /* PBXTextBookmark */; - 6B995FEA100F391200D7BF5A /* PBXTextBookmark */ = 6B995FEA100F391200D7BF5A /* PBXTextBookmark */; - 6B995FEB100F391200D7BF5A /* PBXTextBookmark */ = 6B995FEB100F391200D7BF5A /* PBXTextBookmark */; - 6B995FEC100F391200D7BF5A /* PBXTextBookmark */ = 6B995FEC100F391200D7BF5A /* PBXTextBookmark */; - 6B995FED100F39BD00D7BF5A /* PBXTextBookmark */ = 6B995FED100F39BD00D7BF5A /* PBXTextBookmark */; - 6B995FEE100F39BD00D7BF5A /* PBXTextBookmark */ = 6B995FEE100F39BD00D7BF5A /* PBXTextBookmark */; - 6B995FEF100F39BD00D7BF5A /* PBXTextBookmark */ = 6B995FEF100F39BD00D7BF5A /* PBXTextBookmark */; - 6B995FF0100F39BD00D7BF5A /* PBXTextBookmark */ = 6B995FF0100F39BD00D7BF5A /* PBXTextBookmark */; - 6B995FF4100F39EA00D7BF5A /* PBXTextBookmark */ = 6B995FF4100F39EA00D7BF5A /* PBXTextBookmark */; - 6B995FF5100F39EA00D7BF5A /* PBXTextBookmark */ = 6B995FF5100F39EA00D7BF5A /* PBXTextBookmark */; - 6B995FF6100F39EA00D7BF5A /* PBXTextBookmark */ = 6B995FF6100F39EA00D7BF5A /* PBXTextBookmark */; - 6B995FF7100F39EA00D7BF5A /* PBXTextBookmark */ = 6B995FF7100F39EA00D7BF5A /* PBXTextBookmark */; - 6B995FF8100F39EA00D7BF5A /* PBXTextBookmark */ = 6B995FF8100F39EA00D7BF5A /* PBXTextBookmark */; - 6B995FF9100F39EA00D7BF5A /* PBXTextBookmark */ = 6B995FF9100F39EA00D7BF5A /* PBXTextBookmark */; - 6B995FFC100F3A5100D7BF5A /* PBXTextBookmark */ = 6B995FFC100F3A5100D7BF5A /* PBXTextBookmark */; - 6B995FFD100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B995FFD100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B995FFE100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B995FFE100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B995FFF100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B995FFF100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996000100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996000100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996001100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996001100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996002100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996002100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996003100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996003100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996004100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996004100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996005100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996005100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996006100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996006100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996007100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996007100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996008100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996008100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996009100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B996009100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B99600A100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B99600A100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B99600B100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B99600B100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B99600C100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B99600C100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B99600D100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B99600D100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B99600E100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B99600E100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B99600F100F3CEE00D7BF5A /* PBXTextBookmark */ = 6B99600F100F3CEE00D7BF5A /* PBXTextBookmark */; - 6B996015100F3D6100D7BF5A /* PBXTextBookmark */ = 6B996015100F3D6100D7BF5A /* PBXTextBookmark */; - 6B996016100F3D6100D7BF5A /* PBXTextBookmark */ = 6B996016100F3D6100D7BF5A /* PBXTextBookmark */; - 6B996019100F3D8500D7BF5A /* PBXTextBookmark */ = 6B996019100F3D8500D7BF5A /* PBXTextBookmark */; - 6B99601B100F3DD800D7BF5A /* PBXTextBookmark */ = 6B99601B100F3DD800D7BF5A /* PBXTextBookmark */; - 6B99601F100F3E1700D7BF5A /* PBXTextBookmark */ = 6B99601F100F3E1700D7BF5A /* PBXTextBookmark */; - 6B996022100F3E2400D7BF5A /* PBXTextBookmark */ = 6B996022100F3E2400D7BF5A /* PBXTextBookmark */; - 6B996025100F3E4200D7BF5A /* PBXTextBookmark */ = 6B996025100F3E4200D7BF5A /* PBXTextBookmark */; - 6B996029100F3E5B00D7BF5A /* PBXTextBookmark */ = 6B996029100F3E5B00D7BF5A /* PBXTextBookmark */; - 6B99602A100F3E5B00D7BF5A /* PBXTextBookmark */ = 6B99602A100F3E5B00D7BF5A /* PBXTextBookmark */; - 6B99602C100F3E7000D7BF5A /* PBXTextBookmark */ = 6B99602C100F3E7000D7BF5A /* PBXTextBookmark */; - 6B99602E100F3EA900D7BF5A /* PBXTextBookmark */ = 6B99602E100F3EA900D7BF5A /* PBXTextBookmark */; - 6B996030100F3EF200D7BF5A /* PBXTextBookmark */ = 6B996030100F3EF200D7BF5A /* PBXTextBookmark */; - 6B996033100F3F9B00D7BF5A /* PBXTextBookmark */ = 6B996033100F3F9B00D7BF5A /* PBXTextBookmark */; - 6B996038100F405300D7BF5A /* PBXTextBookmark */ = 6B996038100F405300D7BF5A /* PBXTextBookmark */; - 6B996039100F405300D7BF5A /* PBXTextBookmark */ = 6B996039100F405300D7BF5A /* PBXTextBookmark */; - 6B99603A100F405300D7BF5A /* PBXTextBookmark */ = 6B99603A100F405300D7BF5A /* PBXTextBookmark */; - 6B99603B100F405300D7BF5A /* PBXTextBookmark */ = 6B99603B100F405300D7BF5A /* PBXTextBookmark */; - 6B99603C100F405300D7BF5A /* PBXTextBookmark */ = 6B99603C100F405300D7BF5A /* PBXTextBookmark */; - 6B99603D100F405300D7BF5A /* PBXTextBookmark */ = 6B99603D100F405300D7BF5A /* PBXTextBookmark */; - 6B99603E100F405300D7BF5A /* PBXTextBookmark */ = 6B99603E100F405300D7BF5A /* PBXTextBookmark */; - 6B99603F100F405300D7BF5A /* PBXTextBookmark */ = 6B99603F100F405300D7BF5A /* PBXTextBookmark */; - 6B996040100F405300D7BF5A /* PBXTextBookmark */ = 6B996040100F405300D7BF5A /* PBXTextBookmark */; - 6B996041100F405300D7BF5A /* PBXTextBookmark */ = 6B996041100F405300D7BF5A /* PBXTextBookmark */; - 6B996042100F405300D7BF5A /* PBXTextBookmark */ = 6B996042100F405300D7BF5A /* PBXTextBookmark */; - 6B996047100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996047100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996048100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996048100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996049100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996049100F41DB00D7BF5A /* PBXTextBookmark */; - 6B99604A100F41DB00D7BF5A /* PBXTextBookmark */ = 6B99604A100F41DB00D7BF5A /* PBXTextBookmark */; - 6B99604B100F41DB00D7BF5A /* PBXTextBookmark */ = 6B99604B100F41DB00D7BF5A /* PBXTextBookmark */; - 6B99604C100F41DB00D7BF5A /* PBXTextBookmark */ = 6B99604C100F41DB00D7BF5A /* PBXTextBookmark */; - 6B99604D100F41DB00D7BF5A /* PBXTextBookmark */ = 6B99604D100F41DB00D7BF5A /* PBXTextBookmark */; - 6B99604E100F41DB00D7BF5A /* PBXTextBookmark */ = 6B99604E100F41DB00D7BF5A /* PBXTextBookmark */; - 6B99604F100F41DB00D7BF5A /* PBXTextBookmark */ = 6B99604F100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996050100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996050100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996051100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996051100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996052100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996052100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996053100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996053100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996054100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996054100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996055100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996055100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996056100F41DB00D7BF5A /* PBXTextBookmark */ = 6B996056100F41DB00D7BF5A /* PBXTextBookmark */; - 6B996059100F42AF00D7BF5A /* PBXTextBookmark */ = 6B996059100F42AF00D7BF5A /* PBXTextBookmark */; - 6B99605A100F42AF00D7BF5A /* PBXTextBookmark */ = 6B99605A100F42AF00D7BF5A /* PBXTextBookmark */; - 6B99605B100F42AF00D7BF5A /* PBXTextBookmark */ = 6B99605B100F42AF00D7BF5A /* PBXTextBookmark */; - 6B99605C100F42AF00D7BF5A /* PBXTextBookmark */ = 6B99605C100F42AF00D7BF5A /* PBXTextBookmark */; - 6B99605D100F42AF00D7BF5A /* PBXTextBookmark */ = 6B99605D100F42AF00D7BF5A /* PBXTextBookmark */; - 6B99605E100F42AF00D7BF5A /* PBXTextBookmark */ = 6B99605E100F42AF00D7BF5A /* PBXTextBookmark */; - 6B99605F100F42AF00D7BF5A /* PBXTextBookmark */ = 6B99605F100F42AF00D7BF5A /* PBXTextBookmark */; - 6B996060100F42AF00D7BF5A /* PBXTextBookmark */ = 6B996060100F42AF00D7BF5A /* PBXTextBookmark */; - 6B996061100F42AF00D7BF5A /* PBXTextBookmark */ = 6B996061100F42AF00D7BF5A /* PBXTextBookmark */; - 6B996062100F42AF00D7BF5A /* PBXTextBookmark */ = 6B996062100F42AF00D7BF5A /* PBXTextBookmark */; + 6B995F9F100F336B00D7BF5A = 6B995F9F100F336B00D7BF5A /* PBXTextBookmark */; + 6B995FA2100F336B00D7BF5A = 6B995FA2100F336B00D7BF5A /* PBXTextBookmark */; + 6B995FDF100F387200D7BF5A = 6B995FDF100F387200D7BF5A /* PBXTextBookmark */; + 6B996059100F42AF00D7BF5A = 6B996059100F42AF00D7BF5A /* PBXTextBookmark */; 6B9B7D9D0FF91AC600A9090F = 6B9B7D9D0FF91AC600A9090F /* PBXTextBookmark */; 6B9B7DA30FF91AC600A9090F = 6B9B7DA30FF91AC600A9090F /* PBXTextBookmark */; 6B9B7DA40FF91AC600A9090F = 6B9B7DA40FF91AC600A9090F /* PBXTextBookmark */; @@ -393,6 +238,37 @@ 6BC745AD0FF527E50083A694 = 6BC745AD0FF527E50083A694 /* PBXTextBookmark */; 6BC745AE0FF527E50083A694 = 6BC745AE0FF527E50083A694 /* PBXTextBookmark */; 6BC745AF0FF527E50083A694 = 6BC745AF0FF527E50083A694 /* PBXTextBookmark */; + 6BD4DBB5101456DE003FF199 /* PBXTextBookmark */ = 6BD4DBB5101456DE003FF199 /* PBXTextBookmark */; + 6BD4DBB910145A50003FF199 /* PBXTextBookmark */ = 6BD4DBB910145A50003FF199 /* PBXTextBookmark */; + 6BD4DBBA10145A50003FF199 /* PBXTextBookmark */ = 6BD4DBBA10145A50003FF199 /* PBXTextBookmark */; + 6BD4DBBB10145A50003FF199 /* PBXTextBookmark */ = 6BD4DBBB10145A50003FF199 /* PBXTextBookmark */; + 6BD4DBBC10145A50003FF199 /* PBXTextBookmark */ = 6BD4DBBC10145A50003FF199 /* PBXTextBookmark */; + 6BD4DBBD10145A50003FF199 /* PBXTextBookmark */ = 6BD4DBBD10145A50003FF199 /* PBXTextBookmark */; + 6BD4DBBE10145A50003FF199 /* PBXTextBookmark */ = 6BD4DBBE10145A50003FF199 /* PBXTextBookmark */; + 6BD4DBBF10145A50003FF199 /* PBXTextBookmark */ = 6BD4DBBF10145A50003FF199 /* PBXTextBookmark */; + 6BD4DBC010145A50003FF199 /* PBXTextBookmark */ = 6BD4DBC010145A50003FF199 /* PBXTextBookmark */; + 6BD4DBC110145A50003FF199 /* PBXTextBookmark */ = 6BD4DBC110145A50003FF199 /* PBXTextBookmark */; + 6BD4DBC710145C42003FF199 /* PBXTextBookmark */ = 6BD4DBC710145C42003FF199 /* PBXTextBookmark */; + 6BD4DBC810145C42003FF199 /* PBXTextBookmark */ = 6BD4DBC810145C42003FF199 /* PBXTextBookmark */; + 6BD4DBC910145C42003FF199 /* PBXTextBookmark */ = 6BD4DBC910145C42003FF199 /* PBXTextBookmark */; + 6BD4DBCA10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBCA10145C42003FF199 /* PBXTextBookmark */; + 6BD4DBCB10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBCB10145C42003FF199 /* PBXTextBookmark */; + 6BD4DBCC10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBCC10145C42003FF199 /* PBXTextBookmark */; + 6BD4DBCD10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBCD10145C42003FF199 /* PBXTextBookmark */; + 6BD4DBCE10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBCE10145C42003FF199 /* PBXTextBookmark */; + 6BD4DBCF10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBCF10145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD010145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD010145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD110145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD110145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD210145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD210145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD310145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD310145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD410145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD410145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD510145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD510145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD610145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD610145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD710145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD710145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD810145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD810145C42003FF199 /* PBXTextBookmark */; + 6BD4DBD910145C42003FF199 /* PBXTextBookmark */ = 6BD4DBD910145C42003FF199 /* PBXTextBookmark */; + 6BD4DBDA10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBDA10145C42003FF199 /* PBXTextBookmark */; + 6BD4DBDB10145C42003FF199 /* PBXTextBookmark */ = 6BD4DBDB10145C42003FF199 /* PBXTextBookmark */; }; sourceControlManager = 6B8632A90F78115100E2684A /* Source Control */; userBuildSettings = { @@ -440,7 +316,7 @@ ignoreCount = 0; lineNumber = 786; location = Recast; - modificationTime = 269435439.589447; + modificationTime = 269435439.5894469; state = 1; }; 6B0249BE1003793900CF7107 /* PBXTextBookmark */ = { @@ -492,10 +368,10 @@ fRef = 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */; name = "DetourTiledNavMeshBuilder.cpp: 192"; rLen = 0; - rLoc = 4117; + rLoc = 4099; rType = 0; - vrLen = 316; - vrLoc = 5200; + vrLen = 0; + vrLoc = 4363; }; 6B024AC01004AB3900CF7107 /* DetourTileNavMesh.cpp:1 */ = { isa = PBXFileBreakpoint; @@ -632,9 +508,9 @@ }; 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 2416}}"; - sepNavSelRange = "{4218, 0}"; - sepNavVisRange = "{3397, 579}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 2448}}"; + sepNavSelRange = "{2965, 0}"; + sepNavVisRange = "{2558, 766}"; }; }; 6B092BBC0FFCEC1A0088D3A5 /* PBXTextBookmark */ = { @@ -647,16 +523,6 @@ vrLen = 0; vrLoc = 0; }; - 6B092C5F0FFCFF790088D3A5 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */; - name = "RecastDebugDraw.cpp: 592"; - rLen = 0; - rLoc = 14174; - rType = 0; - vrLen = 836; - vrLoc = 13789; - }; 6B092CC10FFE40160088D3A5 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C830F7FCC1100459200 /* RecastContour.cpp */; @@ -676,16 +542,16 @@ }; 6B1185F61006896B0018F96F /* DetourNode.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 1968}}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 2384}}"; sepNavSelRange = "{2978, 0}"; - sepNavVisRange = "{202, 777}"; + sepNavVisRange = "{2496, 482}"; }; }; 6B1185FC10068B040018F96F /* DetourCommon.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 2320}}"; - sepNavSelRange = "{3736, 0}"; - sepNavVisRange = "{3207, 899}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 2480}}"; + sepNavSelRange = "{2070, 0}"; + sepNavVisRange = "{1266, 895}"; }; }; 6B1185FD10068B150018F96F /* DetourCommon.cpp */ = { @@ -718,17 +584,7 @@ fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; name = "DetourNode.h: 1"; rLen = 0; - rLoc = 3208; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 6B1186401006945C0018F96F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 1"; - rLen = 0; - rLoc = 4106; + rLoc = 2978; rType = 0; vrLen = 0; vrLoc = 0; @@ -743,36 +599,6 @@ vrLen = 0; vrLoc = 0; }; - 6B1186581006945C0018F96F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 150"; - rLen = 0; - rLoc = 1037; - rType = 0; - vrLen = 1302; - vrLoc = 4974; - }; - 6B118672100694C40018F96F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 213"; - rLen = 0; - rLoc = 1795; - rType = 0; - vrLen = 407; - vrLoc = 5549; - }; - 6B1186CF100699A00018F96F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; - name = "DetourStatNavMeshBuilder.cpp: 105"; - rLen = 0; - rLoc = 2729; - rType = 0; - vrLen = 987; - vrLoc = 5663; - }; 6B1186D1100699A00018F96F /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B092B920FFCC2AC0088D3A5 /* DetourTileNavMeshBuilder.h */; @@ -783,16 +609,6 @@ vrLen = 1327; vrLoc = 0; }; - 6B1186E610069E200018F96F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; - name = "DetourDebugDraw.h: 13"; - rLen = 0; - rLoc = 705; - rType = 0; - vrLen = 1308; - vrLoc = 128; - }; 6B137C6C0F7FCBBB00459200 /* imgui.cpp */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {915, 9968}}"; @@ -830,9 +646,9 @@ }; 6B137C7E0F7FCBFE00459200 /* Recast.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 7040}}"; - sepNavSelRange = "{2897, 0}"; - sepNavVisRange = "{2802, 634}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 7424}}"; + sepNavSelRange = "{6708, 0}"; + sepNavVisRange = "{14949, 1369}"; }; }; 6B137C7F0F7FCBFE00459200 /* RecastDebugDraw.h */ = { @@ -859,9 +675,9 @@ }; 6B137C820F7FCC1100459200 /* Recast.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 4416}}"; - sepNavSelRange = "{6988, 0}"; - sepNavVisRange = "{6484, 804}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 4528}}"; + sepNavSelRange = "{1144, 0}"; + sepNavVisRange = "{516, 1042}"; }; }; 6B137C830F7FCC1100459200 /* RecastContour.cpp */ = { @@ -873,9 +689,9 @@ }; 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 10208}}"; - sepNavSelRange = "{14174, 0}"; - sepNavVisRange = "{13789, 836}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 10304}}"; + sepNavSelRange = "{13249, 19}"; + sepNavVisRange = "{13082, 875}"; }; }; 6B137C850F7FCC1100459200 /* RecastFilter.cpp */ = { @@ -930,16 +746,6 @@ vrLen = 929; vrLoc = 6318; }; - 6B1E029B0F924D8B00CC0038 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; - name = "DetourStatNavMeshBuilder.cpp: 285"; - rLen = 0; - rLoc = 7292; - rType = 0; - vrLen = 362; - vrLoc = 6876; - }; 6B1E02FC0F92563500CC0038 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6BDD9E060F91112200904EEF /* DetourStatNavMeshBuilder.h */; @@ -1023,9 +829,9 @@ }; 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 1024}}"; - sepNavSelRange = "{246, 632}"; - sepNavVisRange = "{135, 519}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 1088}}"; + sepNavSelRange = "{331, 14}"; + sepNavVisRange = "{0, 835}"; }; }; 6B25B6140FFA62BE004F1BC4 /* Sample.cpp */ = { @@ -1037,16 +843,16 @@ }; 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 5900}}"; - sepNavSelRange = "{2215, 0}"; - sepNavVisRange = "{1897, 677}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 5632}}"; + sepNavSelRange = "{4562, 0}"; + sepNavVisRange = "{4123, 930}"; }; }; 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 8464}}"; - sepNavSelRange = "{595, 0}"; - sepNavVisRange = "{303, 445}"; + sepNavIntBoundsRect = "{{0, 0}, {1160, 8784}}"; + sepNavSelRange = "{14031, 19}"; + sepNavVisRange = "{13482, 1136}"; }; }; 6B25B6180FFA62BE004F1BC4 /* main.cpp */ = { @@ -1083,9 +889,9 @@ }; 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 15828}}"; - sepNavSelRange = "{684, 0}"; - sepNavVisRange = "{449, 500}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 16080}}"; + sepNavSelRange = "{26007, 0}"; + sepNavVisRange = "{25298, 1096}"; }; }; 6B2AEC570FFB89F4005BE9CC /* Sample_StatMeshTiled.h */ = { @@ -1097,16 +903,16 @@ }; 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 4656}}"; - sepNavSelRange = "{10738, 7}"; - sepNavVisRange = "{10050, 1445}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 4704}}"; + sepNavSelRange = "{12217, 0}"; + sepNavVisRange = "{11479, 880}"; }; }; 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 22080}}"; - sepNavSelRange = "{18284, 0}"; - sepNavVisRange = "{17879, 1003}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 22624}}"; + sepNavSelRange = "{10230, 0}"; + sepNavVisRange = "{9496, 736}"; }; }; 6B2AEC620FFB8AB0005BE9CC /* PBXTextBookmark */ = { @@ -1154,21 +960,11 @@ fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; name = "DetourDebugDraw.cpp: 114"; rLen = 0; - rLoc = 3331; + rLoc = 3372; rType = 0; vrLen = 572; vrLoc = 3083; }; - 6B2AECB50FFB8AB0005BE9CC /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "BuilderStatMesh.cpp: 256"; - rLen = 0; - rLoc = 414; - rType = 0; - vrLen = 948; - vrLoc = 5713; - }; 6B2AECED0FFB8B41005BE9CC /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C800F7FCBFE00459200 /* RecastLog.h */; @@ -1199,16 +995,6 @@ vrLen = 1182; vrLoc = 0; }; - 6B555D23100B136A00247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C820F7FCC1100459200 /* Recast.cpp */; - name = "Recast.cpp: 260"; - rLen = 0; - rLoc = 6988; - rType = 0; - vrLen = 804; - vrLoc = 6484; - }; 6B555D24100B136A00247EA3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C880F7FCC1100459200 /* RecastRasterization.cpp */; @@ -1287,16 +1073,6 @@ path = "/Users/memon/Public/Drop Box/debugdraw.cpp"; sourceTree = ""; }; - 6B555E12100B285300247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 278"; - rLen = 0; - rLoc = 8452; - rType = 0; - vrLen = 1186; - vrLoc = 7783; - }; 6B555E13100B285300247EA3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C7B0F7FCBE400459200 /* MeshLoaderObj.h */; @@ -1397,76 +1173,16 @@ vrLen = 1254; vrLoc = 0; }; - 6B555F10100B473F00247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 19"; - rLen = 0; - rLoc = 919; - rType = 0; - vrLen = 1542; - vrLoc = 0; - }; 6B555F42100B4C5800247EA3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */; name = "DetourTileNavMeshBuilder.cpp: 140"; rLen = 0; - rLoc = 4218; + rLoc = 4200; rType = 0; vrLen = 579; vrLoc = 3397; }; - 6B555F5E100B53F500247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 394"; - rLen = 0; - rLoc = 10242; - rType = 0; - vrLen = 771; - vrLoc = 9621; - }; - 6B555F63100B53F500247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 327"; - rLen = 0; - rLoc = 8926; - rType = 0; - vrLen = 776; - vrLoc = 8618; - }; - 6B555F8B100B577A00247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 124"; - rLen = 0; - rLoc = 4189; - rType = 0; - vrLen = 1240; - vrLoc = 3741; - }; - 6B555F90100B577A00247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 83"; - rLen = 0; - rLoc = 2892; - rType = 0; - vrLen = 418; - vrLoc = 2613; - }; - 6B555FA8100B589200247EA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 469"; - rLen = 0; - rLoc = 11834; - rType = 0; - vrLen = 460; - vrLoc = 11590; - }; 6B555FB4100B595C00247EA3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; @@ -1604,6 +1320,363 @@ path = /Library/Frameworks/SDL.framework/Versions/A/Headers/SDL_events.h; sourceTree = ""; }; + 6B8AE8DA10121C6000FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; + name = "DetourCommon.h: 56"; + rLen = 0; + rLoc = 2070; + rType = 0; + vrLen = 895; + vrLoc = 1266; + }; + 6B8AE8DE10121C6000FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; + name = "Recast.h: 243"; + rLen = 176; + rLoc = 8619; + rType = 0; + vrLen = 664; + vrLoc = 6086; + }; + 6B8AE8DF10121C6000FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; + name = "DetourCommon.h: 56"; + rLen = 0; + rLoc = 2070; + rType = 0; + vrLen = 895; + vrLoc = 1266; + }; + 6B8AE8FA10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; + name = "DetourNode.h: 149"; + rLen = 0; + rLoc = 2978; + rType = 0; + vrLen = 482; + vrLoc = 2496; + }; + 6B8AE8FB10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; + name = "DetourDebugDraw.h: 27"; + rLen = 0; + rLoc = 1194; + rType = 0; + vrLen = 1465; + vrLoc = 0; + }; + 6B8AE8FC10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 106"; + rLen = 22; + rLoc = 3107; + rType = 0; + vrLen = 619; + vrLoc = 2960; + }; + 6B8AE8FD10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 247"; + rLen = 0; + rLoc = 10604; + rType = 0; + vrLen = 1594; + vrLoc = 9128; + }; + 6B8AE8FE10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; + name = "Sample_StatMesh.cpp: 203"; + rLen = 0; + rLoc = 4562; + rType = 0; + vrLen = 930; + vrLoc = 4123; + }; + 6B8AE8FF10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 1144"; + rLen = 276; + rLoc = 29135; + rType = 0; + vrLen = 1141; + vrLoc = 28145; + }; + 6B8AE90010123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; + name = "DetourStatNavMesh.h: 180"; + rLen = 0; + rLoc = 7274; + rType = 0; + vrLen = 1576; + vrLoc = 6460; + }; + 6B8AE90110123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; + name = "DetourStatNavMesh.cpp: 659"; + rLen = 0; + rLoc = 15988; + rType = 0; + vrLen = 1140; + vrLoc = 15138; + }; + 6B8AE90210123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C820F7FCC1100459200 /* Recast.cpp */; + name = "Recast.cpp: 32"; + rLen = 0; + rLoc = 1144; + rType = 0; + vrLen = 1042; + vrLoc = 516; + }; + 6B8AE90310123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; + name = "Recast.h: 180"; + rLen = 0; + rLoc = 6708; + rType = 0; + vrLen = 1369; + vrLoc = 14949; + }; + 6B8AE90410123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; + name = "Sample_StatMeshSimple.h: 17"; + rLen = 14; + rLoc = 331; + rType = 0; + vrLen = 835; + vrLoc = 0; + }; + 6B8AE90510123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; + name = "Sample_StatMeshTiled.cpp: 901"; + rLen = 0; + rLoc = 26007; + rType = 0; + vrLen = 1096; + vrLoc = 25298; + }; + 6B8AE90610123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */; + name = "RecastDebugDraw.cpp: 554"; + rLen = 19; + rLoc = 13249; + rType = 0; + vrLen = 875; + vrLoc = 13082; + }; + 6B8AE90710123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; + name = "Sample_StatMeshSimple.cpp: 464"; + rLen = 19; + rLoc = 14031; + rType = 0; + vrLen = 1136; + vrLoc = 13482; + }; + 6B8AE90810123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; + rLen = 1; + rLoc = 208; + rType = 1; + }; + 6B8AE90910123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; + name = "DetourNode.h: 149"; + rLen = 0; + rLoc = 2978; + rType = 0; + vrLen = 482; + vrLoc = 2496; + }; + 6B8AE90A10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 113"; + rLen = 0; + rLoc = 3349; + rType = 0; + vrLen = 733; + vrLoc = 2960; + }; + 6B8AE90B10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; + name = "DetourDebugDraw.h: 27"; + rLen = 0; + rLoc = 1194; + rType = 0; + vrLen = 1465; + vrLoc = 0; + }; + 6B8AE90C10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 106"; + rLen = 22; + rLoc = 3107; + rType = 0; + vrLen = 619; + vrLoc = 2960; + }; + 6B8AE90D10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; + name = "Sample_StatMesh.cpp: 203"; + rLen = 0; + rLoc = 4562; + rType = 0; + vrLen = 930; + vrLoc = 4123; + }; + 6B8AE90E10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 1144"; + rLen = 276; + rLoc = 29135; + rType = 0; + vrLen = 1141; + vrLoc = 28145; + }; + 6B8AE90F10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; + name = "DetourStatNavMesh.h: 180"; + rLen = 0; + rLoc = 7274; + rType = 0; + vrLen = 1576; + vrLoc = 6460; + }; + 6B8AE91010123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; + name = "DetourStatNavMesh.cpp: 659"; + rLen = 0; + rLoc = 15988; + rType = 0; + vrLen = 1140; + vrLoc = 15138; + }; + 6B8AE91110123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; + name = "Recast.h: 148"; + rLen = 6; + rLoc = 6281; + rType = 0; + vrLen = 1032; + vrLoc = 3436; + }; + 6B8AE91210123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C820F7FCC1100459200 /* Recast.cpp */; + name = "Recast.cpp: 32"; + rLen = 0; + rLoc = 1144; + rType = 0; + vrLen = 1042; + vrLoc = 516; + }; + 6B8AE91310123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; + name = "Recast.h: 148"; + rLen = 6; + rLoc = 6281; + rType = 0; + vrLen = 1032; + vrLoc = 3436; + }; + 6B8AE91410123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C820F7FCC1100459200 /* Recast.cpp */; + name = "Recast.cpp: 32"; + rLen = 0; + rLoc = 1144; + rType = 0; + vrLen = 1042; + vrLoc = 516; + }; + 6B8AE91510123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; + name = "Recast.h: 180"; + rLen = 0; + rLoc = 6708; + rType = 0; + vrLen = 1369; + vrLoc = 14949; + }; + 6B8AE91610123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; + name = "Sample_StatMeshSimple.h: 21"; + rLen = 8; + rLoc = 434; + rType = 0; + vrLen = 835; + vrLoc = 0; + }; + 6B8AE91710123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; + name = "Sample_StatMeshSimple.h: 17"; + rLen = 14; + rLoc = 331; + rType = 0; + vrLen = 835; + vrLoc = 0; + }; + 6B8AE91810123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; + name = "DetourStatNavMeshBuilder.cpp: 212"; + rLen = 0; + rLoc = 5492; + rType = 0; + vrLen = 1263; + vrLoc = 5247; + }; + 6B8AE91910123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; + name = "Sample_StatMeshSimple.cpp: 464"; + rLen = 19; + rLoc = 14031; + rType = 0; + vrLen = 1136; + vrLoc = 13482; + }; + 6B8AE91A10123B5700FF1D07 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; + name = "DetourStatNavMeshBuilder.cpp: 229"; + rLen = 0; + rLoc = 5893; + rType = 0; + vrLen = 1262; + vrLoc = 5247; + }; 6B8DB3900F9798DE007FA9E1 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; @@ -1614,16 +1687,6 @@ vrLen = 1243; vrLoc = 0; }; - 6B92CE50100E02D3003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 571"; - rLen = 0; - rLoc = 14634; - rType = 0; - vrLen = 802; - vrLoc = 14230; - }; 6B92CE68100E0577003DA304 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C6C0F7FCBBB00459200 /* imgui.cpp */; @@ -1654,46 +1717,6 @@ vrLen = 424; vrLoc = 915; }; - 6B92CE6B100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 95"; - rLen = 0; - rLoc = 2897; - rType = 0; - vrLen = 634; - vrLoc = 2802; - }; - 6B92CE6C100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 193"; - rLen = 139; - rLoc = 8893; - rType = 0; - vrLen = 960; - vrLoc = 7073; - }; - 6B92CE6D100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 27"; - rLen = 0; - rLoc = 1077; - rType = 0; - vrLen = 511; - vrLoc = 956; - }; - 6B92CE6E100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 61"; - rLen = 0; - rLoc = 1738; - rType = 0; - vrLen = 490; - vrLoc = 1660; - }; 6B92CE6F100E0577003DA304 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B2AEC510FFB8946005BE9CC /* Sample_TileMesh.h */; @@ -1714,16 +1737,6 @@ vrLen = 595; vrLoc = 1442; }; - 6B92CE71100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 31"; - rLen = 0; - rLoc = 684; - rType = 0; - vrLen = 432; - vrLoc = 419; - }; 6B92CE72100E0577003DA304 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B25B6110FFA62AD004F1BC4 /* Sample_StatMesh.h */; @@ -1734,196 +1747,6 @@ vrLen = 480; vrLoc = 83; }; - 6B92CE73100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 30"; - rLen = 0; - rLoc = 621; - rType = 0; - vrLen = 457; - vrLoc = 466; - }; - 6B92CE74100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; - name = "Sample_StatMeshSimple.h: 13"; - rLen = 632; - rLoc = 246; - rType = 0; - vrLen = 519; - vrLoc = 135; - }; - 6B92CE75100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 160"; - rLen = 0; - rLoc = 6474; - rType = 0; - vrLen = 1275; - vrLoc = 5770; - }; - 6B92CE76100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C6C0F7FCBBB00459200 /* imgui.cpp */; - name = "imgui.cpp: 130"; - rLen = 0; - rLoc = 3820; - rType = 0; - vrLen = 589; - vrLoc = 3805; - }; - 6B92CE77100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7B0F7FCBE400459200 /* MeshLoaderObj.h */; - name = "MeshLoaderObj.h: 42"; - rLen = 85; - rLoc = 1482; - rType = 0; - vrLen = 606; - vrLoc = 990; - }; - 6B92CE78100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C6D0F7FCBBB00459200 /* MeshLoaderObj.cpp */; - name = "MeshLoaderObj.cpp: 26"; - rLen = 0; - rLoc = 1050; - rType = 0; - vrLen = 424; - vrLoc = 915; - }; - 6B92CE79100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 95"; - rLen = 0; - rLoc = 2897; - rType = 0; - vrLen = 634; - vrLoc = 2802; - }; - 6B92CE7A100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 193"; - rLen = 139; - rLoc = 8893; - rType = 0; - vrLen = 960; - vrLoc = 7073; - }; - 6B92CE7B100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 27"; - rLen = 0; - rLoc = 1077; - rType = 0; - vrLen = 511; - vrLoc = 956; - }; - 6B92CE7C100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC570FFB89F4005BE9CC /* Sample_StatMeshTiled.h */; - name = "Sample_StatMeshTiled.h: 16"; - rLen = 0; - rLoc = 330; - rType = 0; - vrLen = 609; - vrLoc = 73; - }; - 6B92CE7D100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC510FFB8946005BE9CC /* Sample_TileMesh.h */; - name = "Sample_TileMesh.h: 32"; - rLen = 997; - rLoc = 1159; - rType = 0; - vrLen = 557; - vrLoc = 1857; - }; - 6B92CE7E100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 61"; - rLen = 0; - rLoc = 1738; - rType = 0; - vrLen = 490; - vrLoc = 1660; - }; - 6B92CE7F100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC510FFB8946005BE9CC /* Sample_TileMesh.h */; - name = "Sample_TileMesh.h: 78"; - rLen = 0; - rLoc = 2083; - rType = 0; - vrLen = 557; - vrLoc = 1857; - }; - 6B92CE80100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC570FFB89F4005BE9CC /* Sample_StatMeshTiled.h */; - name = "Sample_StatMeshTiled.h: 34"; - rLen = 824; - rLoc = 703; - rType = 0; - vrLen = 595; - vrLoc = 1442; - }; - 6B92CE81100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 31"; - rLen = 0; - rLoc = 684; - rType = 0; - vrLen = 432; - vrLoc = 419; - }; - 6B92CE82100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6110FFA62AD004F1BC4 /* Sample_StatMesh.h */; - name = "Sample_StatMesh.h: 13"; - rLen = 575; - rLoc = 211; - rType = 0; - vrLen = 480; - vrLoc = 83; - }; - 6B92CE83100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 30"; - rLen = 0; - rLoc = 621; - rType = 0; - vrLen = 457; - vrLoc = 466; - }; - 6B92CE84100E0577003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; - name = "Sample_StatMeshSimple.h: 13"; - rLen = 632; - rLoc = 246; - rType = 0; - vrLen = 519; - vrLoc = 135; - }; - 6B92CE89100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 29"; - rLen = 0; - rLoc = 595; - rType = 0; - vrLen = 445; - vrLoc = 303; - }; 6B92CE8A100E0739003DA304 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C810F7FCBFE00459200 /* RecastTimer.h */; @@ -1934,136 +1757,6 @@ vrLen = 984; vrLoc = 202; }; - 6B92CE8C100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 143"; - rLen = 54; - rLoc = 3125; - rType = 0; - vrLen = 378; - vrLoc = 2600; - }; - 6B92CE8E100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 29"; - rLen = 0; - rLoc = 595; - rType = 0; - vrLen = 445; - vrLoc = 303; - }; - 6B92CE8F100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C810F7FCBFE00459200 /* RecastTimer.h */; - name = "RecastTimer.h: 22"; - rLen = 0; - rLoc = 981; - rType = 0; - vrLen = 984; - vrLoc = 202; - }; - 6B92CE90100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; - name = "RecastTimer.cpp: 4"; - rLen = 0; - rLoc = 54; - rType = 0; - vrLen = 450; - vrLoc = 0; - }; - 6B92CE91100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C810F7FCBFE00459200 /* RecastTimer.h */; - name = "RecastTimer.h: 19"; - rLen = 0; - rLoc = 963; - rType = 0; - vrLen = 984; - vrLoc = 202; - }; - 6B92CE92100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; - name = "RecastTimer.cpp: 50"; - rLen = 0; - rLoc = 945; - rType = 0; - vrLen = 468; - vrLoc = 539; - }; - 6B92CE93100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 78"; - rLen = 0; - rLoc = 2018; - rType = 0; - vrLen = 407; - vrLoc = 918; - }; - 6B92CE94100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 31"; - rLen = 0; - rLoc = 1209; - rType = 0; - vrLen = 601; - vrLoc = 915; - }; - 6B92CE95100E0739003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 143"; - rLen = 54; - rLoc = 3125; - rType = 0; - vrLen = 378; - vrLoc = 2600; - }; - 6B92CE9A100E0763003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 99"; - rLen = 0; - rLoc = 2573; - rType = 0; - vrLen = 469; - vrLoc = 2357; - }; - 6B92CE9B100E0763003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; - name = "RecastTimer.cpp: 50"; - rLen = 0; - rLoc = 945; - rType = 0; - vrLen = 468; - vrLoc = 539; - }; - 6B92CE9C100E0763003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 99"; - rLen = 0; - rLoc = 2573; - rType = 0; - vrLen = 469; - vrLoc = 2357; - }; - 6B92CE9F100E673D003DA304 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; - name = "RecastTimer.cpp: 43"; - rLen = 0; - rLoc = 867; - rType = 0; - vrLen = 462; - vrLoc = 555; - }; 6B995BDF0FE0D9B300D5C493 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C890F7FCC1100459200 /* RecastRegion.cpp */; @@ -2074,16 +1767,6 @@ vrLen = 905; vrLoc = 2462; }; - 6B995F79100F14BB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; - name = "RecastTimer.cpp: 44"; - rLen = 0; - rLoc = 867; - rType = 0; - vrLen = 468; - vrLoc = 549; - }; 6B995F9F100F336B00D7BF5A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; @@ -2094,26 +1777,6 @@ vrLen = 468; vrLoc = 549; }; - 6B995FA0100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 121"; - rLen = 0; - rLoc = 2453; - rType = 0; - vrLen = 732; - vrLoc = 1842; - }; - 6B995FA1100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 120"; - rLen = 0; - rLoc = 3207; - rType = 0; - vrLen = 1013; - vrLoc = 2858; - }; 6B995FA2100F336B00D7BF5A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B995FA3100F336B00D7BF5A /* GeomUtility.cpp */; @@ -2126,450 +1789,11 @@ }; 6B995FA3100F336B00D7BF5A /* GeomUtility.cpp */ = { isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; name = GeomUtility.cpp; path = /Users/memon/Desktop/Desktop/test/Source/GeomUtility.cpp; sourceTree = ""; }; - 6B995FA4100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 205"; - rLen = 0; - rLoc = 5080; - rType = 0; - vrLen = 501; - vrLoc = 4845; - }; - 6B995FA5100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 194"; - rLen = 0; - rLoc = 8005; - rType = 0; - vrLen = 833; - vrLoc = 7094; - }; - 6B995FA6100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 237"; - rLen = 0; - rLoc = 6831; - rType = 0; - vrLen = 764; - vrLoc = 5454; - }; - 6B995FA7100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 99"; - rLen = 0; - rLoc = 2573; - rType = 0; - vrLen = 564; - vrLoc = 2323; - }; - 6B995FA8100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 36"; - rLen = 0; - rLoc = 1175; - rType = 0; - vrLen = 604; - vrLoc = 940; - }; - 6B995FA9100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; - name = "RecastTimer.cpp: 44"; - rLen = 0; - rLoc = 867; - rType = 0; - vrLen = 468; - vrLoc = 549; - }; - 6B995FAA100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 185"; - rLen = 0; - rLoc = 8279; - rType = 0; - vrLen = 1112; - vrLoc = 6921; - }; - 6B995FAB100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 188"; - rLen = 0; - rLoc = 8543; - rType = 0; - vrLen = 1307; - vrLoc = 6880; - }; - 6B995FAC100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 188"; - rLen = 0; - rLoc = 8543; - rType = 0; - vrLen = 1306; - vrLoc = 6880; - }; - 6B995FAD100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 191"; - rLen = 0; - rLoc = 8628; - rType = 0; - vrLen = 1356; - vrLoc = 6880; - }; - 6B995FAE100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 101"; - rLen = 0; - rLoc = 3596; - rType = 0; - vrLen = 1577; - vrLoc = 2856; - }; - 6B995FAF100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 8543; - rType = 0; - vrLen = 1271; - vrLoc = 7096; - }; - 6B995FB0100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 8543; - rType = 0; - vrLen = 1251; - vrLoc = 7094; - }; - 6B995FB1100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 8543; - rType = 0; - vrLen = 1263; - vrLoc = 7094; - }; - 6B995FB2100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 8543; - rType = 0; - vrLen = 1192; - vrLoc = 7094; - }; - 6B995FB3100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 151"; - rLen = 15; - rLoc = 6027; - rType = 0; - vrLen = 1527; - vrLoc = 5594; - }; - 6B995FB4100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 36"; - rLen = 41; - rLoc = 1164; - rType = 0; - vrLen = 605; - vrLoc = 940; - }; - 6B995FB5100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 36"; - rLen = 0; - rLoc = 1175; - rType = 0; - vrLen = 604; - vrLoc = 940; - }; - 6B995FB6100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 228"; - rLen = 0; - rLoc = 6686; - rType = 0; - vrLen = 884; - vrLoc = 5640; - }; - 6B995FB7100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 406; - rLoc = 7499; - rType = 0; - vrLen = 914; - vrLoc = 7096; - }; - 6B995FB8100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 302"; - rLen = 0; - rLoc = 8972; - rType = 0; - vrLen = 1011; - vrLoc = 7438; - }; - 6B995FB9100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 7827; - rType = 0; - vrLen = 915; - vrLoc = 7096; - }; - 6B995FBA100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 234"; - rLen = 0; - rLoc = 6889; - rType = 0; - vrLen = 760; - vrLoc = 5750; - }; - 6B995FBB100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 192"; - rLen = 9; - rLoc = 7976; - rType = 0; - vrLen = 797; - vrLoc = 7121; - }; - 6B995FBC100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 189"; - rLen = 0; - rLoc = 5520; - rType = 0; - vrLen = 417; - vrLoc = 4747; - }; - 6B995FBD100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 186"; - rLen = 763; - rLoc = 7499; - rType = 0; - vrLen = 796; - vrLoc = 7122; - }; - 6B995FBE100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 205"; - rLen = 0; - rLoc = 5080; - rType = 0; - vrLen = 501; - vrLoc = 4845; - }; - 6B995FBF100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 194"; - rLen = 0; - rLoc = 8005; - rType = 0; - vrLen = 833; - vrLoc = 7094; - }; - 6B995FC0100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 237"; - rLen = 0; - rLoc = 6831; - rType = 0; - vrLen = 764; - vrLoc = 5454; - }; - 6B995FC1100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 99"; - rLen = 0; - rLoc = 2573; - rType = 0; - vrLen = 564; - vrLoc = 2323; - }; - 6B995FC2100F336B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 20"; - rLen = 0; - rLoc = 960; - rType = 0; - vrLen = 1065; - vrLoc = 0; - }; - 6B995FC3100F336D00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 20"; - rLen = 0; - rLoc = 960; - rType = 0; - vrLen = 1065; - vrLoc = 0; - }; - 6B995FC9100F338A00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 20"; - rLen = 0; - rLoc = 960; - rType = 0; - vrLen = 359; - vrLoc = 706; - }; - 6B995FCC100F345100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 17"; - rLen = 1; - rLoc = 917; - rType = 0; - vrLen = 1009; - vrLoc = 128; - }; - 6B995FCD100F345100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 468"; - rLen = 0; - rLoc = 11831; - rType = 0; - vrLen = 521; - vrLoc = 11544; - }; - 6B995FCE100F345100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 237"; - rLen = 0; - rLoc = 6831; - rType = 0; - vrLen = 734; - vrLoc = 5484; - }; - 6B995FCF100F345100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 17"; - rLen = 1; - rLoc = 917; - rType = 0; - vrLen = 1009; - vrLoc = 128; - }; - 6B995FD0100F345100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 468"; - rLen = 0; - rLoc = 11831; - rType = 0; - vrLen = 521; - vrLoc = 11544; - }; - 6B995FD1100F345100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 177"; - rLen = 0; - rLoc = 4874; - rType = 0; - vrLen = 644; - vrLoc = 4518; - }; - 6B995FD3100F34AC00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 352"; - rLen = 0; - rLoc = 9605; - rType = 0; - vrLen = 1012; - vrLoc = 8691; - }; - 6B995FD5100F34B400D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 352"; - rLen = 0; - rLoc = 9587; - rType = 0; - vrLen = 1017; - vrLoc = 8691; - }; - 6B995FD8100F354D00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 352"; - rLen = 0; - rLoc = 9582; - rType = 0; - vrLen = 965; - vrLoc = 8763; - }; - 6B995FDB100F362200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 352"; - rLen = 0; - rLoc = 9551; - rType = 0; - vrLen = 1103; - vrLoc = 8352; - }; - 6B995FDE100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 149"; - rLen = 0; - rLoc = 3032; - rType = 0; - vrLen = 446; - vrLoc = 2762; - }; 6B995FDF100F387200D7BF5A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; @@ -2580,810 +1804,6 @@ vrLen = 564; vrLoc = 2323; }; - 6B995FE0100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 462"; - rLen = 0; - rLoc = 11698; - rType = 0; - vrLen = 521; - vrLoc = 11544; - }; - 6B995FE1100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 352"; - rLen = 0; - rLoc = 9551; - rType = 0; - vrLen = 740; - vrLoc = 6042; - }; - 6B995FE2100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 352"; - rLen = 0; - rLoc = 9551; - rType = 0; - vrLen = 740; - vrLoc = 6042; - }; - 6B995FE3100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 149"; - rLen = 0; - rLoc = 3032; - rType = 0; - vrLen = 446; - vrLoc = 2762; - }; - 6B995FE4100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 99"; - rLen = 0; - rLoc = 2573; - rType = 0; - vrLen = 564; - vrLoc = 2323; - }; - 6B995FE5100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 462"; - rLen = 0; - rLoc = 11698; - rType = 0; - vrLen = 521; - vrLoc = 11544; - }; - 6B995FE6100F387200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 397"; - rLen = 0; - rLoc = 10790; - rType = 0; - vrLen = 584; - vrLoc = 10207; - }; - 6B995FE9100F391200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 269"; - rLen = 0; - rLoc = 6992; - rType = 0; - vrLen = 756; - vrLoc = 9953; - }; - 6B995FEA100F391200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 462"; - rLen = 0; - rLoc = 11698; - rType = 0; - vrLen = 521; - vrLoc = 11544; - }; - 6B995FEB100F391200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 269"; - rLen = 0; - rLoc = 6992; - rType = 0; - vrLen = 756; - vrLoc = 9953; - }; - 6B995FEC100F391200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 762"; - rLen = 0; - rLoc = 19086; - rType = 0; - vrLen = 709; - vrLoc = 18828; - }; - 6B995FED100F39BD00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 746"; - rLen = 0; - rLoc = 18781; - rType = 0; - vrLen = 731; - vrLoc = 18828; - }; - 6B995FEE100F39BD00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 194"; - rLen = 0; - rLoc = 8005; - rType = 0; - vrLen = 831; - vrLoc = 7096; - }; - 6B995FEF100F39BD00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 746"; - rLen = 0; - rLoc = 18781; - rType = 0; - vrLen = 731; - vrLoc = 18828; - }; - 6B995FF0100F39BD00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 174"; - rLen = 0; - rLoc = 7095; - rType = 0; - vrLen = 1426; - vrLoc = 6458; - }; - 6B995FF4100F39EA00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 115"; - rLen = 0; - rLoc = 2215; - rType = 0; - vrLen = 677; - vrLoc = 1897; - }; - 6B995FF5100F39EA00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 101"; - rLen = 0; - rLoc = 3547; - rType = 0; - vrLen = 1503; - vrLoc = 2856; - }; - 6B995FF6100F39EA00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 174"; - rLen = 0; - rLoc = 7095; - rType = 0; - vrLen = 1426; - vrLoc = 6458; - }; - 6B995FF7100F39EA00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 115"; - rLen = 0; - rLoc = 2215; - rType = 0; - vrLen = 677; - vrLoc = 1897; - }; - 6B995FF8100F39EA00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 101"; - rLen = 0; - rLoc = 3547; - rType = 0; - vrLen = 1503; - vrLoc = 2856; - }; - 6B995FF9100F39EA00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 119"; - rLen = 0; - rLoc = 3359; - rType = 0; - vrLen = 663; - vrLoc = 3092; - }; - 6B995FFC100F3A5100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 585"; - rLen = 17; - rLoc = 14455; - rType = 0; - vrLen = 716; - vrLoc = 13961; - }; - 6B995FFD100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 191"; - rLen = 0; - rLoc = 7697; - rType = 0; - vrLen = 1421; - vrLoc = 6970; - }; - 6B995FFE100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 209"; - rLen = 0; - rLoc = 4872; - rType = 0; - vrLen = 920; - vrLoc = 5158; - }; - 6B995FFF100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 591"; - rLen = 0; - rLoc = 14560; - rType = 0; - vrLen = 743; - vrLoc = 13961; - }; - 6B996000100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 101"; - rLen = 0; - rLoc = 3547; - rType = 0; - vrLen = 1559; - vrLoc = 2800; - }; - 6B996001100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 118"; - rLen = 0; - rLoc = 3235; - rType = 0; - vrLen = 666; - vrLoc = 3092; - }; - 6B996002100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 308; - rLoc = 7499; - rType = 0; - vrLen = 1347; - vrLoc = 6970; - }; - 6B996003100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 129"; - rLen = 0; - rLoc = 3110; - rType = 0; - vrLen = 791; - vrLoc = 3236; - }; - 6B996004100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 200"; - rLen = 0; - rLoc = 8199; - rType = 0; - vrLen = 1441; - vrLoc = 6970; - }; - 6B996005100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 127"; - rLen = 0; - rLoc = 2757; - rType = 0; - vrLen = 920; - vrLoc = 3415; - }; - 6B996006100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 190"; - rLen = 0; - rLoc = 7617; - rType = 0; - vrLen = 1421; - vrLoc = 6970; - }; - 6B996007100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 127"; - rLen = 0; - rLoc = 2757; - rType = 0; - vrLen = 920; - vrLoc = 3415; - }; - 6B996008100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 190"; - rLen = 0; - rLoc = 7617; - rType = 0; - vrLen = 1421; - vrLoc = 6970; - }; - 6B996009100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 208"; - rLen = 0; - rLoc = 4872; - rType = 0; - vrLen = 1093; - vrLoc = 5158; - }; - 6B99600A100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 190"; - rLen = 0; - rLoc = 7617; - rType = 0; - vrLen = 1421; - vrLoc = 6970; - }; - 6B99600B100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 212"; - rLen = 0; - rLoc = 4872; - rType = 0; - vrLen = 995; - vrLoc = 5162; - }; - 6B99600C100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 7534; - rType = 0; - vrLen = 1421; - vrLoc = 6970; - }; - 6B99600D100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 209"; - rLen = 0; - rLoc = 4872; - rType = 0; - vrLen = 920; - vrLoc = 5158; - }; - 6B99600E100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 191"; - rLen = 0; - rLoc = 7697; - rType = 0; - vrLen = 1421; - vrLoc = 6970; - }; - 6B99600F100F3CEE00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 131"; - rLen = 0; - rLoc = 2871; - rType = 0; - vrLen = 876; - vrLoc = 3512; - }; - 6B996015100F3D6100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - comments = "error: invalid conversion from 'float*' to 'dtStatPolyRef'"; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - rLen = 1; - rLoc = 185; - rType = 1; - }; - 6B996016100F3D6100D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 221"; - rLen = 0; - rLoc = 4957; - rType = 0; - vrLen = 897; - vrLoc = 5412; - }; - 6B996019100F3D8500D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 220"; - rLen = 0; - rLoc = 4900; - rType = 0; - vrLen = 898; - vrLoc = 5412; - }; - 6B99601B100F3DD800D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 146"; - rLen = 0; - rLoc = 3190; - rType = 0; - vrLen = 680; - vrLoc = 3778; - }; - 6B99601F100F3E1700D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 122"; - rLen = 0; - rLoc = 2619; - rType = 0; - vrLen = 766; - vrLoc = 3412; - }; - 6B996022100F3E2400D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 127"; - rLen = 0; - rLoc = 2758; - rType = 0; - vrLen = 766; - vrLoc = 3412; - }; - 6B996025100F3E4200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 127"; - rLen = 0; - rLoc = 2758; - rType = 0; - vrLen = 777; - vrLoc = 3308; - }; - 6B996029100F3E5B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 149"; - rLen = 0; - rLoc = 2978; - rType = 0; - vrLen = 777; - vrLoc = 202; - }; - 6B99602A100F3E5B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 123"; - rLen = 0; - rLoc = 2661; - rType = 0; - vrLen = 469; - vrLoc = 3412; - }; - 6B99602C100F3E7000D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 865"; - rLen = 0; - rLoc = 20743; - rType = 0; - vrLen = 703; - vrLoc = 21443; - }; - 6B99602E100F3EA900D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 145"; - rLen = 0; - rLoc = 3190; - rType = 0; - vrLen = 679; - vrLoc = 3778; - }; - 6B996030100F3EF200D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 145"; - rLen = 0; - rLoc = 3228; - rType = 0; - vrLen = 679; - vrLoc = 3778; - }; - 6B996033100F3F9B00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 219"; - rLen = 0; - rLoc = 5042; - rType = 0; - vrLen = 937; - vrLoc = 5361; - }; - 6B996038100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 7763; - rType = 0; - vrLen = 1227; - vrLoc = 7049; - }; - 6B996039100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - comments = "error: 'getHeuristic2' was not declared in this scope"; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - rLen = 1; - rLoc = 185; - rType = 1; - }; - 6B99603A100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 217"; - rLen = 0; - rLoc = 5003; - rType = 0; - vrLen = 1045; - vrLoc = 5412; - }; - 6B99603B100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 191"; - rLen = 0; - rLoc = 7697; - rType = 0; - vrLen = 1342; - vrLoc = 7049; - }; - 6B99603C100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 217"; - rLen = 0; - rLoc = 5003; - rType = 0; - vrLen = 994; - vrLoc = 5463; - }; - 6B99603D100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 186"; - rLen = 0; - rLoc = 7499; - rType = 0; - vrLen = 1342; - vrLoc = 7049; - }; - 6B99603E100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 104"; - rLen = 0; - rLoc = 2941; - rType = 0; - vrLen = 793; - vrLoc = 2443; - }; - 6B99603F100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 186"; - rLen = 0; - rLoc = 7499; - rType = 0; - vrLen = 1342; - vrLoc = 7049; - }; - 6B996040100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 112"; - rLen = 0; - rLoc = 3112; - rType = 0; - vrLen = 791; - vrLoc = 2443; - }; - 6B996041100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 189"; - rLen = 0; - rLoc = 7763; - rType = 0; - vrLen = 1227; - vrLoc = 7049; - }; - 6B996042100F405300D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 183"; - rLen = 0; - rLoc = 4874; - rType = 0; - vrLen = 834; - vrLoc = 4648; - }; - 6B996047100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 195"; - rLen = 128; - rLoc = 8071; - rType = 0; - vrLen = 1369; - vrLoc = 6970; - }; - 6B996048100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 675"; - rLen = 0; - rLoc = 16420; - rType = 0; - vrLen = 1097; - vrLoc = 15600; - }; - 6B996049100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; - name = "DetourStatNavMeshBuilder.cpp: 233"; - rLen = 0; - rLoc = 6029; - rType = 0; - vrLen = 1061; - vrLoc = 5617; - }; - 6B99604A100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 1317"; - rLen = 0; - rLoc = 33307; - rType = 0; - vrLen = 836; - vrLoc = 32879; - }; - 6B99604B100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 277"; - rLen = 0; - rLoc = 11287; - rType = 0; - vrLen = 918; - vrLoc = 10596; - }; - 6B99604C100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - comments = "error: no matching function for call to 'dtTiledNavMesh::findPath(dtTilePolyRef&, dtTilePolyRef&, dtTilePolyRef [256], const int&)'"; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - rLen = 1; - rLoc = 121; - rType = 1; - }; - 6B99604D100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 195"; - rLen = 128; - rLoc = 8071; - rType = 0; - vrLen = 1369; - vrLoc = 6970; - }; - 6B99604E100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 275"; - rLen = 0; - rLoc = 11183; - rType = 0; - vrLen = 1536; - vrLoc = 9831; - }; - 6B99604F100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 88"; - rLen = 790; - rLoc = 2443; - rType = 0; - vrLen = 901; - vrLoc = 2538; - }; - 6B996050100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 268"; - rLen = 0; - rLoc = 10759; - rType = 0; - vrLen = 1536; - vrLoc = 9831; - }; - 6B996051100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 180"; - rLen = 0; - rLoc = 6672; - rType = 0; - vrLen = 1621; - vrLoc = 5874; - }; - 6B996052100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 752"; - rLen = 0; - rLoc = 19034; - rType = 0; - vrLen = 1182; - vrLoc = 28472; - }; - 6B996053100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; - name = "DetourStatNavMeshBuilder.cpp: 233"; - rLen = 0; - rLoc = 6029; - rType = 0; - vrLen = 1061; - vrLoc = 5617; - }; - 6B996054100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 1317"; - rLen = 0; - rLoc = 33307; - rType = 0; - vrLen = 836; - vrLoc = 32879; - }; - 6B996055100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 277"; - rLen = 0; - rLoc = 11287; - rType = 0; - vrLen = 918; - vrLoc = 10596; - }; - 6B996056100F41DB00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 120"; - rLen = 0; - rLoc = 2973; - rType = 0; - vrLen = 626; - vrLoc = 2680; - }; 6B996059100F42AF00D7BF5A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; @@ -3394,96 +1814,6 @@ vrLen = 626; vrLoc = 2680; }; - 6B99605A100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 133"; - rLen = 0; - rLoc = 3736; - rType = 0; - vrLen = 899; - vrLoc = 3207; - }; - 6B99605B100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 269"; - rLen = 7; - rLoc = 10738; - rType = 0; - vrLen = 1445; - vrLoc = 10050; - }; - 6B99605C100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 188"; - rLen = 38; - rLoc = 5005; - rType = 0; - vrLen = 846; - vrLoc = 4943; - }; - 6B99605D100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 722"; - rLen = 0; - rLoc = 18179; - rType = 0; - vrLen = 1022; - vrLoc = 17879; - }; - 6B99605E100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 120"; - rLen = 0; - rLoc = 2973; - rType = 0; - vrLen = 626; - vrLoc = 2680; - }; - 6B99605F100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 133"; - rLen = 0; - rLoc = 3736; - rType = 0; - vrLen = 899; - vrLoc = 3207; - }; - 6B996060100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 269"; - rLen = 7; - rLoc = 10738; - rType = 0; - vrLen = 1445; - vrLoc = 10050; - }; - 6B996061100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 188"; - rLen = 38; - rLoc = 5005; - rType = 0; - vrLen = 846; - vrLoc = 4943; - }; - 6B996062100F42AF00D7BF5A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 727"; - rLen = 0; - rLoc = 18284; - rType = 0; - vrLen = 1003; - vrLoc = 17879; - }; 6B9B7D9D0FF91AC600A9090F /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6BB788180FC04753003C24DB /* ChunkyTriMesh.h */; @@ -3509,7 +1839,7 @@ fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; name = "Recast.h: 235"; rLen = 0; - rLoc = 6329; + rLoc = 8967; rType = 0; vrLen = 639; vrLoc = 5887; @@ -3645,18 +1975,328 @@ vrLen = 1272; vrLoc = 5903; }; + 6BD4DBB5101456DE003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; + name = "DetourStatNavMeshBuilder.cpp: 213"; + rLen = 0; + rLoc = 5505; + rType = 0; + vrLen = 1262; + vrLoc = 5247; + }; + 6BD4DBB910145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; + name = "DetourStatNavMeshBuilder.cpp: 213"; + rLen = 0; + rLoc = 5505; + rType = 0; + vrLen = 1262; + vrLoc = 5247; + }; + 6BD4DBBA10145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; + name = "DetourStatNavMesh.cpp: 798"; + rLen = 300; + rLoc = 19735; + rType = 0; + vrLen = 1013; + vrLoc = 19289; + }; + 6BD4DBBB10145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 61"; + rLen = 4; + rLoc = 2549; + rType = 0; + vrLen = 1027; + vrLoc = 1822; + }; + 6BD4DBBC10145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 935"; + rLen = 0; + rLoc = 23148; + rType = 0; + vrLen = 1466; + vrLoc = 22303; + }; + 6BD4DBBD10145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; + name = "DetourStatNavMeshBuilder.cpp: 213"; + rLen = 0; + rLoc = 5505; + rType = 0; + vrLen = 1262; + vrLoc = 5247; + }; + 6BD4DBBE10145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; + name = "DetourStatNavMesh.cpp: 798"; + rLen = 300; + rLoc = 19735; + rType = 0; + vrLen = 1013; + vrLoc = 19289; + }; + 6BD4DBBF10145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 935"; + rLen = 0; + rLoc = 23148; + rType = 0; + vrLen = 1466; + vrLoc = 22303; + }; + 6BD4DBC010145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 61"; + rLen = 4; + rLoc = 2549; + rType = 0; + vrLen = 1027; + vrLoc = 1822; + }; + 6BD4DBC110145A50003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 1044"; + rLen = 0; + rLoc = 26059; + rType = 0; + vrLen = 1250; + vrLoc = 25644; + }; + 6BD4DBC710145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */; + name = "DetourTileNavMeshBuilder.cpp: 89"; + rLen = 0; + rLoc = 2965; + rType = 0; + vrLen = 704; + vrLoc = 2558; + }; + 6BD4DBC810145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 378"; + rLen = 0; + rLoc = 10230; + rType = 0; + vrLen = 736; + vrLoc = 9496; + }; + 6BD4DBC910145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 85"; + rLen = 0; + rLoc = 3685; + rType = 0; + vrLen = 1146; + vrLoc = 2736; + }; + 6BD4DBCA10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 1044"; + rLen = 0; + rLoc = 26065; + rType = 0; + vrLen = 1250; + vrLoc = 25644; + }; + 6BD4DBCB10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 1044"; + rLen = 0; + rLoc = 26065; + rType = 0; + vrLen = 1250; + vrLoc = 25644; + }; + 6BD4DBCC10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 1037"; + rLen = 0; + rLoc = 25785; + rType = 0; + vrLen = 1146; + vrLoc = 25347; + }; + 6BD4DBCD10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 82"; + rLen = 0; + rLoc = 3498; + rType = 0; + vrLen = 1064; + vrLoc = 2736; + }; + 6BD4DBCE10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 374"; + rLen = 6; + rLoc = 10137; + rType = 0; + vrLen = 759; + vrLoc = 9668; + }; + 6BD4DBCF10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 83"; + rLen = 0; + rLoc = 3542; + rType = 0; + vrLen = 1073; + vrLoc = 2736; + }; + 6BD4DBD010145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 374"; + rLen = 6; + rLoc = 10137; + rType = 0; + vrLen = 759; + vrLoc = 9668; + }; + 6BD4DBD110145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 84"; + rLen = 0; + rLoc = 3619; + rType = 0; + vrLen = 1113; + vrLoc = 2736; + }; + 6BD4DBD210145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 374"; + rLen = 6; + rLoc = 10137; + rType = 0; + vrLen = 759; + vrLoc = 9668; + }; + 6BD4DBD310145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 84"; + rLen = 0; + rLoc = 3619; + rType = 0; + vrLen = 1064; + vrLoc = 2736; + }; + 6BD4DBD410145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 470"; + rLen = 0; + rLoc = 11835; + rType = 0; + vrLen = 410; + vrLoc = 11660; + }; + 6BD4DBD510145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 85"; + rLen = 0; + rLoc = 3685; + rType = 0; + vrLen = 1154; + vrLoc = 2736; + }; + 6BD4DBD610145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 470"; + rLen = 0; + rLoc = 11835; + rType = 0; + vrLen = 410; + vrLoc = 11660; + }; + 6BD4DBD710145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 85"; + rLen = 0; + rLoc = 3685; + rType = 0; + vrLen = 1154; + vrLoc = 2736; + }; + 6BD4DBD810145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 477"; + rLen = 0; + rLoc = 11966; + rType = 0; + vrLen = 410; + vrLoc = 11660; + }; + 6BD4DBD910145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 85"; + rLen = 0; + rLoc = 3685; + rType = 0; + vrLen = 1146; + vrLoc = 2736; + }; + 6BD4DBDA10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; + name = "DetourTileNavMesh.cpp: 378"; + rLen = 0; + rLoc = 10230; + rType = 0; + vrLen = 736; + vrLoc = 9496; + }; + 6BD4DBDB10145C42003FF199 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; + name = "DetourTileNavMesh.h: 285"; + rLen = 0; + rLoc = 12217; + rType = 0; + vrLen = 880; + vrLoc = 11479; + }; 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 512}}"; - sepNavSelRange = "{705, 0}"; - sepNavVisRange = "{128, 1308}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 516}}"; + sepNavSelRange = "{1194, 0}"; + sepNavVisRange = "{0, 1465}"; }; }; 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 3152}}"; - sepNavSelRange = "{8071, 128}"; - sepNavVisRange = "{6970, 1369}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 3088}}"; + sepNavSelRange = "{7274, 0}"; + sepNavVisRange = "{6460, 1576}"; }; }; 6BDD9E060F91112200904EEF /* DetourStatNavMeshBuilder.h */ = { @@ -3668,23 +2308,23 @@ }; 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 7104}}"; - sepNavSelRange = "{5080, 0}"; - sepNavVisRange = "{4845, 501}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 6592}}"; + sepNavSelRange = "{3107, 22}"; + sepNavVisRange = "{2960, 619}"; }; }; 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 13296}}"; - sepNavSelRange = "{5005, 38}"; - sepNavVisRange = "{4943, 846}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 12960}}"; + sepNavSelRange = "{19735, 300}"; + sepNavVisRange = "{19289, 1013}"; }; }; 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 4272}}"; - sepNavSelRange = "{6029, 0}"; - sepNavVisRange = "{5617, 1061}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 4240}}"; + sepNavSelRange = "{5505, 0}"; + sepNavVisRange = "{5247, 1262}"; sepNavWindowFrame = "{{15, 78}, {1011, 695}}"; }; }; diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 index 572dbfc..e46e996 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 @@ -279,14 +279,14 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 7 + 10 3 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 2}, {282, 628}} + {{0, 33}, {282, 628}} PBXTopSmartGroupGIDs @@ -321,7 +321,7 @@ PBXProjectModuleGUID 6B8632A30F78115100E2684A PBXProjectModuleLabel - DetourTileNavMesh.cpp + DetourTileNavMesh.h PBXSplitModuleInNavigatorKey Split0 @@ -329,11 +329,11 @@ PBXProjectModuleGUID 6B8632A40F78115100E2684A PBXProjectModuleLabel - DetourTileNavMesh.cpp + DetourTileNavMesh.h _historyCapacity 0 bookmark - 6B996062100F42AF00D7BF5A + 6BD4DBDB10145C42003FF199 history 6B7707F00FBD90F100D21BAE @@ -348,7 +348,6 @@ 6B2AECED0FFB8B41005BE9CC 6B092B4F0FFCA0A20088D3A5 6B092B500FFCA0A20088D3A5 - 6B092C5F0FFCFF790088D3A5 6B092CC10FFE40160088D3A5 6B0249BE1003793900CF7107 6B024BD31006059C00CF7107 @@ -356,9 +355,7 @@ 6B024C1110060C7600CF7107 6B1186211006945C0018F96F 6B1186D1100699A00018F96F - 6B1186E610069E200018F96F 6B7EBB69100721310066EF8C - 6B555D23100B136A00247EA3 6B555D24100B136A00247EA3 6B555D30100B143200247EA3 6B555E01100B285300247EA3 @@ -369,35 +366,34 @@ 6B555F0D100B473F00247EA3 6B555F0E100B473F00247EA3 6B555F0F100B473F00247EA3 - 6B555F42100B4C5800247EA3 6B92CE68100E0577003DA304 6B92CE69100E0577003DA304 6B92CE6A100E0577003DA304 - 6B92CE6B100E0577003DA304 6B92CE6F100E0577003DA304 6B92CE70100E0577003DA304 - 6B92CE71100E0577003DA304 6B92CE72100E0577003DA304 - 6B92CE74100E0577003DA304 - 6B92CE89100E0739003DA304 6B92CE8A100E0739003DA304 6B995F9F100F336B00D7BF5A 6B995FA2100F336B00D7BF5A - 6B995FA4100F336B00D7BF5A - 6B995FDE100F387200D7BF5A 6B995FDF100F387200D7BF5A - 6B995FF4100F39EA00D7BF5A - 6B996047100F41DB00D7BF5A - 6B996049100F41DB00D7BF5A 6B996059100F42AF00D7BF5A - 6B99605A100F42AF00D7BF5A - 6B99605B100F42AF00D7BF5A - 6B99605C100F42AF00D7BF5A - 6B99605D100F42AF00D7BF5A - - nextStack - - 6B996061100F42AF00D7BF5A + 6B8AE8DA10121C6000FF1D07 + 6B8AE8FA10123B5700FF1D07 + 6B8AE8FB10123B5700FF1D07 + 6B8AE8FC10123B5700FF1D07 + 6B8AE8FE10123B5700FF1D07 + 6B8AE90010123B5700FF1D07 + 6B8AE90210123B5700FF1D07 + 6B8AE90310123B5700FF1D07 + 6B8AE90410123B5700FF1D07 + 6B8AE90510123B5700FF1D07 + 6B8AE90610123B5700FF1D07 + 6B8AE90710123B5700FF1D07 + 6BD4DBB910145A50003FF199 + 6BD4DBBA10145A50003FF199 + 6BD4DBC710145C42003FF199 + 6BD4DBC810145C42003FF199 + 6BD4DBC910145C42003FF199 prevStack @@ -426,7 +422,6 @@ 6B25B6250FFA63C8004F1BC4 6B2AEC740FFB8AB0005BE9CC 6B2AEC750FFB8AB0005BE9CC - 6B2AECB50FFB8AB0005BE9CC 6B2AED930FFBA45B005BE9CC 6B092B1A0FFC98FF0088D3A5 6B092B530FFCA0A20088D3A5 @@ -441,34 +436,40 @@ 6B11862D1006945C0018F96F 6B1186301006945C0018F96F 6B1186311006945C0018F96F - 6B1186401006945C0018F96F 6B1186411006945C0018F96F 6B555D26100B136A00247EA3 6B555DC9100B236A00247EA3 - 6B555E12100B285300247EA3 6B555E13100B285300247EA3 6B555EE0100B39A600247EA3 6B555EF9100B42E600247EA3 6B555FB4100B595C00247EA3 - 6B995FA9100F336B00D7BF5A - 6B995FB4100F336B00D7BF5A - 6B995FB5100F336B00D7BF5A - 6B995FBE100F336B00D7BF5A - 6B995FC1100F336B00D7BF5A - 6B995FCF100F345100D7BF5A - 6B995FE3100F387200D7BF5A - 6B995FE4100F387200D7BF5A - 6B995FF7100F39EA00D7BF5A - 6B99604D100F41DB00D7BF5A - 6B99604E100F41DB00D7BF5A - 6B99604F100F41DB00D7BF5A - 6B996050100F41DB00D7BF5A - 6B996051100F41DB00D7BF5A - 6B996053100F41DB00D7BF5A - 6B996055100F41DB00D7BF5A - 6B99605E100F42AF00D7BF5A - 6B99605F100F42AF00D7BF5A - 6B996060100F42AF00D7BF5A + 6B8AE8DF10121C6000FF1D07 + 6B8AE90D10123B5700FF1D07 + 6B8AE90E10123B5700FF1D07 + 6B8AE90F10123B5700FF1D07 + 6B8AE91010123B5700FF1D07 + 6B8AE91810123B5700FF1D07 + 6B8AE91910123B5700FF1D07 + 6BD4DBBD10145A50003FF199 + 6BD4DBBE10145A50003FF199 + 6BD4DBBF10145A50003FF199 + 6BD4DBCA10145C42003FF199 + 6BD4DBCB10145C42003FF199 + 6BD4DBCC10145C42003FF199 + 6BD4DBCD10145C42003FF199 + 6BD4DBCE10145C42003FF199 + 6BD4DBCF10145C42003FF199 + 6BD4DBD010145C42003FF199 + 6BD4DBD110145C42003FF199 + 6BD4DBD210145C42003FF199 + 6BD4DBD310145C42003FF199 + 6BD4DBD410145C42003FF199 + 6BD4DBD510145C42003FF199 + 6BD4DBD610145C42003FF199 + 6BD4DBD710145C42003FF199 + 6BD4DBD810145C42003FF199 + 6BD4DBD910145C42003FF199 + 6BD4DBDA10145C42003FF199 SplitCount @@ -482,18 +483,18 @@ GeometryConfiguration Frame - {{0, 0}, {976, 548}} + {{0, 0}, {976, 449}} RubberWindowFrame 0 91 1280 687 0 0 1280 778 Module PBXNavigatorGroup Proportion - 548pt + 449pt Proportion - 93pt + 192pt Tabs @@ -507,7 +508,7 @@ GeometryConfiguration Frame - {{10, 27}, {976, 68}} + {{10, 27}, {976, -27}} Module XCDetailModule @@ -523,7 +524,7 @@ GeometryConfiguration Frame - {{10, 27}, {976, 196}} + {{10, 27}, {976, -27}} Module PBXProjectFindModule @@ -561,7 +562,7 @@ GeometryConfiguration Frame - {{10, 27}, {976, 66}} + {{10, 27}, {976, 165}} RubberWindowFrame 0 91 1280 687 0 0 1280 778 @@ -591,11 +592,11 @@ TableOfContents - 6B995F7A100F14BB00D7BF5A + 6BD4DBB6101456DE003FF199 1CA23ED40692098700951B8B - 6B995F7B100F14BB00D7BF5A + 6BD4DBB7101456DE003FF199 6B8632A30F78115100E2684A - 6B995F7C100F14BB00D7BF5A + 6BD4DBB8101456DE003FF199 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -742,14 +743,14 @@ TableOfContents - 6B995FC4100F336D00D7BF5A + 6B8AE8E410121C6000FF1D07 1CCC7628064C1048000F2A68 1CCC7629064C1048000F2A68 - 6B995FC5100F336D00D7BF5A - 6B995FC6100F336D00D7BF5A - 6B995FC7100F336D00D7BF5A - 6B995FC8100F336D00D7BF5A - 6B8632A30F78115100E2684A + 6B8AE8E510121C6000FF1D07 + 6B8AE8E610121C6000FF1D07 + 6B8AE8E710121C6000FF1D07 + 6B8AE8E810121C6000FF1D07 + 6B8AE8E910121C6000FF1D07 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -779,8 +780,6 @@ 5 WindowOrderList - 6B996027100F3E4200D7BF5A - 6B996028100F3E4200D7BF5A /Users/memon/Code/recastnavigation/RecastDemo/Build/Xcode/Recast.xcodeproj WindowString diff --git a/RecastDemo/Source/Sample_StatMesh.cpp b/RecastDemo/Source/Sample_StatMesh.cpp index 8c4c267..a2c875f 100644 --- a/RecastDemo/Source/Sample_StatMesh.cpp +++ b/RecastDemo/Source/Sample_StatMesh.cpp @@ -200,7 +200,7 @@ void Sample_StatMesh::toolRender(int flags) glDepthMask(GL_FALSE); if (flags & NAVMESH_POLYS) - dtDebugDrawStatNavMesh(m_navMesh); + dtDebugDrawStatNavMesh(m_navMesh, m_toolMode == TOOLMODE_PATHFIND); if (flags & NAVMESH_BVTREE) dtDebugDrawStatNavMeshBVTree(m_navMesh); diff --git a/RecastDemo/Source/Sample_StatMeshSimple.cpp b/RecastDemo/Source/Sample_StatMeshSimple.cpp index 9decb0a..4b13c88 100644 --- a/RecastDemo/Source/Sample_StatMeshSimple.cpp +++ b/RecastDemo/Source/Sample_StatMeshSimple.cpp @@ -18,6 +18,7 @@ # define snprintf _snprintf #endif + Sample_StatMeshSimple::Sample_StatMeshSimple() : m_keepInterResults(false), m_triflags(0), @@ -263,6 +264,10 @@ bool Sample_StatMeshSimple::handleBuild() cleanup(); toolCleanup(); + // + // Step 1. Initialize build config. + // + // Init build configuration from GUI memset(&m_cfg, 0, sizeof(m_cfg)); m_cfg.cs = m_cellSize; @@ -298,6 +303,10 @@ bool Sample_StatMeshSimple::handleBuild() rcGetLog()->log(RC_LOG_PROGRESS, " - %.1fK verts, %.1fK tris", m_nverts/1000.0f, m_ntris/1000.0f); } + // + // Step 2. Rasterize input polygon soup. + // + // Allocate voxel heighfield where we rasterize our input data to. m_solid = new rcHeightfield; if (!m_solid) @@ -324,7 +333,6 @@ bool Sample_StatMeshSimple::handleBuild() return false; } - // Find triangles which are walkable based on their slope and rasterize them. // If your input data is multiple meshes, you can transform them here, calculate // the flags for each of the meshes and rasterize them. @@ -338,12 +346,20 @@ bool Sample_StatMeshSimple::handleBuild() m_triflags = 0; } + // + // Step 3. Filter walkables surfaces. + // + // Once all geoemtry is rasterized, we do initial pass of filtering to // remove unwanted overhangs caused by the conservative rasterization // as well as filter spans where the character cannot possibly stand. rcFilterLedgeSpans(m_cfg.walkableHeight, m_cfg.walkableClimb, *m_solid); rcFilterWalkableLowHeightSpans(m_cfg.walkableHeight, *m_solid); + // + // Step 4. Partition walkable surface to simple regions. + // + // Compact the heightfield so that it is faster to handle from now on. // This will result more cache coherent data as well as the neighbours // between walkable cells will be calculated. @@ -382,6 +398,10 @@ bool Sample_StatMeshSimple::handleBuild() rcGetLog()->log(RC_LOG_ERROR, "buildNavigation: Could not build regions."); } + // + // Step 5. Trace and simplify region contours. + // + // Create contours. m_cset = new rcContourSet; if (!m_cset) @@ -403,6 +423,10 @@ bool Sample_StatMeshSimple::handleBuild() m_chf = 0; } + // + // Step 6. Build polygons mesh from contours. + // + // Build polygon navmesh from the contours. m_polyMesh = new rcPolyMesh; if (!m_polyMesh) @@ -423,8 +447,17 @@ bool Sample_StatMeshSimple::handleBuild() delete m_cset; m_cset = 0; } + + // At this point the navigation mesh data is ready, you can access it from m_polyMesh. + // See rcDebugDrawPolyMesh or dtCreateNavMeshData as examples how to access the data. - if (m_cfg.maxVertsPerPoly == DT_STAT_VERTS_PER_POLYGON) + // + // (Optional) Step 7. Create Detour data from detour poly mesh. + // + + // The GUI may allow more max points per polygon than Detour can handle. + // Only build the detour navmesh if we do not exceed the limit. + if (m_cfg.maxVertsPerPoly <= DT_STAT_VERTS_PER_POLYGON) { unsigned char* navData = 0; int navDataSize = 0; diff --git a/RecastDemo/Source/Sample_StatMeshTiled.cpp b/RecastDemo/Source/Sample_StatMeshTiled.cpp index 4a37f92..40f5f74 100644 --- a/RecastDemo/Source/Sample_StatMeshTiled.cpp +++ b/RecastDemo/Source/Sample_StatMeshTiled.cpp @@ -898,7 +898,7 @@ bool Sample_StatMeshTiled::handleBuild() } } - if (m_cfg.maxVertsPerPoly == DT_STAT_VERTS_PER_POLYGON) + if (m_cfg.maxVertsPerPoly <= DT_STAT_VERTS_PER_POLYGON) { unsigned char* navData = 0; int navDataSize = 0;