diff --git a/DebugUtils/Source/DetourDebugDraw.cpp b/DebugUtils/Source/DetourDebugDraw.cpp
index 9edbcc6..dd7965f 100755
--- a/DebugUtils/Source/DetourDebugDraw.cpp
+++ b/DebugUtils/Source/DetourDebugDraw.cpp
@@ -50,7 +50,7 @@ static void drawPolyBoundaries(duDebugDraw* dd, const dtMeshTile* tile,
{
const dtPoly* p = &tile->polys[i];
- if (p->type == DT_POLYTYPE_OFFMESH_CONNECTION) continue;
+ if (p->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) continue;
const dtPolyDetail* pd = &tile->detailMeshes[i];
@@ -127,7 +127,7 @@ static void drawMeshTile(duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMesh
for (int i = 0; i < tile->header->polyCount; ++i)
{
const dtPoly* p = &tile->polys[i];
- if (p->type == DT_POLYTYPE_OFFMESH_CONNECTION) // Skip off-mesh links.
+ if (p->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) // Skip off-mesh links.
continue;
const dtPolyDetail* pd = &tile->detailMeshes[i];
@@ -137,10 +137,10 @@ static void drawMeshTile(duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMesh
col = duRGBA(255,196,0,64);
else
{
- if (p->area == 0) // Treat zero area type as default.
+ if (p->getArea() == 0) // Treat zero area type as default.
col = duRGBA(0,192,255,64);
else
- col = duIntToCol(p->area, 64);
+ col = duIntToCol(p->getArea(), 64);
}
for (int j = 0; j < pd->triCount; ++j)
@@ -169,14 +169,14 @@ static void drawMeshTile(duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMesh
for (int i = 0; i < tile->header->polyCount; ++i)
{
const dtPoly* p = &tile->polys[i];
- if (p->type != DT_POLYTYPE_OFFMESH_CONNECTION) // Skip regular polys.
+ if (p->getType() != DT_POLYTYPE_OFFMESH_CONNECTION) // Skip regular polys.
continue;
unsigned int col;
if (query && query->isInClosedList(base | (dtPolyRef)i))
col = duRGBA(255,196,0,220);
else
- col = duDarkenCol(duIntToCol(p->area, 220));
+ col = duDarkenCol(duIntToCol(p->getArea(), 220));
const dtOffMeshConnection* con = &tile->offMeshCons[i - tile->header->offMeshBase];
const float* va = &tile->verts[p->verts[0]*3];
@@ -427,7 +427,7 @@ void duDebugDrawNavMeshPoly(duDebugDraw* dd, const dtNavMesh& mesh, dtPolyRef re
const unsigned int c = (col & 0x00ffffff) | (64 << 24);
const unsigned int ip = (unsigned int)(poly - tile->polys);
- if (poly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
{
dtOffMeshConnection* con = &tile->offMeshCons[ip - tile->header->offMeshBase];
diff --git a/Detour/Include/DetourNavMesh.h b/Detour/Include/DetourNavMesh.h
index 92e5cb6..b441bc6 100644
--- a/Detour/Include/DetourNavMesh.h
+++ b/Detour/Include/DetourNavMesh.h
@@ -71,8 +71,11 @@ struct dtPoly
unsigned short neis[DT_VERTS_PER_POLYGON]; // Refs to neighbours of the poly.
unsigned short flags; // Flags (see dtPolyFlags).
unsigned char vertCount; // Number of vertices.
- unsigned char area : 6; // Area ID of the polygon.
- unsigned char type : 2; // Polygon type, see dtPolyTypes.
+ unsigned char areaAndtype; // Bit packed: Area ID of the polygon, and Polygon type, see dtPolyTypes..
+ inline void setArea(unsigned char a) { areaAndtype = (areaAndtype & 0xc0) | (a & 0x3f); }
+ inline void setType(unsigned char t) { areaAndtype = (areaAndtype & 0x3f) | (t << 6); }
+ inline unsigned char getArea() const { return areaAndtype & 0x3f; }
+ inline unsigned char getType() const { return areaAndtype >> 6; }
};
// Stucture describing polygon detail triangles.
diff --git a/Detour/Source/DetourNavMesh.cpp b/Detour/Source/DetourNavMesh.cpp
index 9c09c80..ab805d3 100644
--- a/Detour/Source/DetourNavMesh.cpp
+++ b/Detour/Source/DetourNavMesh.cpp
@@ -455,7 +455,7 @@ void dtNavMesh::connectIntLinks(dtMeshTile* tile)
dtPoly* poly = &tile->polys[i];
poly->firstLink = DT_NULL_LINK;
- if (poly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
continue;
// Build edge links backwards so that the links will be
@@ -1065,7 +1065,7 @@ bool dtNavMesh::storeTileState(const dtMeshTile* tile, unsigned char* data, cons
const dtPoly* p = &tile->polys[i];
dtPolyState* s = &polyStates[i];
s->flags = p->flags;
- s->area = p->area;
+ s->area = p->getArea();
}
return true;
@@ -1095,7 +1095,7 @@ bool dtNavMesh::restoreTileState(dtMeshTile* tile, const unsigned char* data, co
dtPoly* p = &tile->polys[i];
const dtPolyState* s = &polyStates[i];
p->flags = s->flags;
- p->area = s->area;
+ p->setArea(s->area);
}
return true;
@@ -1115,7 +1115,7 @@ bool dtNavMesh::getOffMeshConnectionPolyEndPoints(dtPolyRef prevRef, dtPolyRef p
const dtPoly* poly = &tile->polys[ip];
// Make sure that the current poly is indeed off-mesh link.
- if (poly->type != DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (poly->getType() != DT_POLYTYPE_OFFMESH_CONNECTION)
return false;
// Figure out which way to hand out the vertices.
@@ -1177,7 +1177,7 @@ void dtNavMesh::setPolyArea(dtPolyRef ref, unsigned char area)
dtMeshTile* tile = &m_tiles[it];
if (ip >= (unsigned int)tile->header->polyCount) return;
dtPoly* poly = &tile->polys[ip];
- poly->area = area;
+ poly->setArea(area);
}
unsigned char dtNavMesh::getPolyArea(dtPolyRef ref) const
@@ -1189,6 +1189,6 @@ unsigned char dtNavMesh::getPolyArea(dtPolyRef ref) const
const dtMeshTile* tile = &m_tiles[it];
if (ip >= (unsigned int)tile->header->polyCount) return 0;
const dtPoly* poly = &tile->polys[ip];
- return poly->area;
+ return poly->getArea();
}
diff --git a/Detour/Source/DetourNavMeshBuilder.cpp b/Detour/Source/DetourNavMeshBuilder.cpp
index ab69952..7f83a99 100644
--- a/Detour/Source/DetourNavMeshBuilder.cpp
+++ b/Detour/Source/DetourNavMeshBuilder.cpp
@@ -430,8 +430,8 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
dtPoly* p = &navPolys[i];
p->vertCount = 0;
p->flags = params->polyFlags[i];
- p->area = params->polyAreas[i];
- p->type = DT_POLYTYPE_GROUND;
+ p->setArea(params->polyAreas[i]);
+ p->setType(DT_POLYTYPE_GROUND);
for (int j = 0; j < nvp; ++j)
{
if (src[j] == MESH_NULL_IDX) break;
@@ -453,8 +453,8 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
p->verts[0] = (unsigned short)(offMeshVertsBase + n*2+0);
p->verts[1] = (unsigned short)(offMeshVertsBase + n*2+1);
p->flags = params->offMeshConFlags[i];
- p->area = params->offMeshConAreas[i];
- p->type = DT_POLYTYPE_OFFMESH_CONNECTION;
+ p->setArea(params->offMeshConAreas[i]);
+ p->setType(DT_POLYTYPE_OFFMESH_CONNECTION);
n++;
}
}
diff --git a/Detour/Source/DetourNavMeshQuery.cpp b/Detour/Source/DetourNavMeshQuery.cpp
index 727a392..c02ce47 100644
--- a/Detour/Source/DetourNavMeshQuery.cpp
+++ b/Detour/Source/DetourNavMeshQuery.cpp
@@ -64,7 +64,7 @@ inline float dtQueryFilter::getCost(const float* pa, const float* pb,
const dtPolyRef /*curRef*/, const dtMeshTile* /*curTile*/, const dtPoly* curPoly,
const dtPolyRef /*nextRef*/, const dtMeshTile* /*nextTile*/, const dtPoly* /*nextPoly*/) const
{
- return dtVdist(pa, pb) * m_areaCost[curPoly->area];
+ return dtVdist(pa, pb) * m_areaCost[curPoly->getArea()];
}
#endif
@@ -311,7 +311,7 @@ bool dtNavMeshQuery::getPolyHeight(dtPolyRef ref, const float* pos, float* heigh
if (!m_nav->getTileAndPolyByRef(ref, &tile, &poly))
return false;
- if (poly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
{
const float* v0 = &tile->verts[poly->verts[0]*3];
const float* v1 = &tile->verts[poly->verts[1]*3];
@@ -1398,13 +1398,13 @@ bool dtNavMeshQuery::getPortalPoints(dtPolyRef from, dtPolyRef to, float* left,
const dtPoly* fromPoly = 0;
if (!m_nav->getTileAndPolyByRef(from, &fromTile, &fromPoly))
return false;
- fromType = fromPoly->type;
+ fromType = fromPoly->getType();
const dtMeshTile* toTile = 0;
const dtPoly* toPoly = 0;
if (!m_nav->getTileAndPolyByRef(to, &toTile, &toPoly))
return false;
- toType = toPoly->type;
+ toType = toPoly->getType();
return getPortalPoints(from, fromPoly, fromTile, to, toPoly, toTile, left, right);
}
@@ -1428,7 +1428,7 @@ bool dtNavMeshQuery::getPortalPoints(dtPolyRef from, const dtPoly* fromPoly, con
return false;
// Handle off-mesh connections.
- if (fromPoly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (fromPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
{
// Find link that points to first vertex.
for (unsigned int i = fromPoly->firstLink; i != DT_NULL_LINK; i = fromTile->links[i].next)
@@ -1444,7 +1444,7 @@ bool dtNavMeshQuery::getPortalPoints(dtPolyRef from, const dtPoly* fromPoly, con
return false;
}
- if (toPoly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (toPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
{
for (unsigned int i = toPoly->firstLink; i != DT_NULL_LINK; i = toTile->links[i].next)
{
@@ -1583,7 +1583,7 @@ int dtNavMeshQuery::raycast(dtPolyRef centerRef, const float* startPos, const fl
m_nav->getTileAndPolyByRefUnsafe(link->ref, &nextTile, &nextPoly);
// Skip off-mesh connections.
- if (nextPoly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (nextPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
continue;
// Skip links based on filter.
@@ -2025,7 +2025,7 @@ int dtNavMeshQuery::findLocalNeighbourhood(dtPolyRef centerRef, const float* cen
m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly);
// Skip off-mesh connections.
- if (neighbourPoly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (neighbourPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
continue;
// Do not advance if the polygon is excluded by the filter.
@@ -2341,7 +2341,7 @@ float dtNavMeshQuery::findDistanceToWall(dtPolyRef centerRef, const float* cente
m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly);
// Skip off-mesh connections.
- if (neighbourPoly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
+ if (neighbourPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
continue;
// Calc distance to the edge.
diff --git a/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast b/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast
index 9ee9caf..bdef8d4 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 894414f..1f1008e 100644
--- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser
+++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser
@@ -243,6 +243,29 @@
6BD66807123D2F4E0021A7A4 /* PBXTextBookmark */ = 6BD66807123D2F4E0021A7A4 /* PBXTextBookmark */;
6BD66808123D2F4E0021A7A4 /* PBXTextBookmark */ = 6BD66808123D2F4E0021A7A4 /* PBXTextBookmark */;
6BD6680B123D30DB0021A7A4 /* PBXTextBookmark */ = 6BD6680B123D30DB0021A7A4 /* PBXTextBookmark */;
+ 6BD6681612434B790021A7A4 /* PBXTextBookmark */ = 6BD6681612434B790021A7A4 /* PBXTextBookmark */;
+ 6BD6681712434B790021A7A4 /* PBXTextBookmark */ = 6BD6681712434B790021A7A4 /* PBXTextBookmark */;
+ 6BD6681812434B790021A7A4 /* PBXTextBookmark */ = 6BD6681812434B790021A7A4 /* PBXTextBookmark */;
+ 6BD6681912434B790021A7A4 /* PBXTextBookmark */ = 6BD6681912434B790021A7A4 /* PBXTextBookmark */;
+ 6BD6681A12434B790021A7A4 /* PBXTextBookmark */ = 6BD6681A12434B790021A7A4 /* PBXTextBookmark */;
+ 6BD6681B12434B790021A7A4 /* PBXTextBookmark */ = 6BD6681B12434B790021A7A4 /* PBXTextBookmark */;
+ 6BD6681C12434B790021A7A4 /* PBXTextBookmark */ = 6BD6681C12434B790021A7A4 /* PBXTextBookmark */;
+ 6BD6681D12434B7D0021A7A4 /* PBXTextBookmark */ = 6BD6681D12434B7D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683412434D9D0021A7A4 /* PBXTextBookmark */ = 6BD6683412434D9D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683512434D9D0021A7A4 /* PBXTextBookmark */ = 6BD6683512434D9D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683612434D9D0021A7A4 /* PBXTextBookmark */ = 6BD6683612434D9D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683712434D9D0021A7A4 /* PBXTextBookmark */ = 6BD6683712434D9D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683812434D9D0021A7A4 /* PBXTextBookmark */ = 6BD6683812434D9D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683912434D9D0021A7A4 /* PBXTextBookmark */ = 6BD6683912434D9D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683A12434D9D0021A7A4 /* PBXTextBookmark */ = 6BD6683A12434D9D0021A7A4 /* PBXTextBookmark */;
+ 6BD6683C12434D9E0021A7A4 /* PBXTextBookmark */ = 6BD6683C12434D9E0021A7A4 /* PBXTextBookmark */;
+ 6BD6683D12434DA20021A7A4 /* PBXTextBookmark */ = 6BD6683D12434DA20021A7A4 /* PBXTextBookmark */;
+ 6BD6683E12434DB00021A7A4 /* PBXTextBookmark */ = 6BD6683E12434DB00021A7A4 /* PBXTextBookmark */;
+ 6BD6683F12434DB00021A7A4 /* PBXTextBookmark */ = 6BD6683F12434DB00021A7A4 /* PBXTextBookmark */;
+ 6BD6684012434DB00021A7A4 /* PBXTextBookmark */ = 6BD6684012434DB00021A7A4 /* PBXTextBookmark */;
+ 6BD6684512434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684512434DE80021A7A4 /* PBXTextBookmark */;
+ 6BD6684612434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684612434DE80021A7A4 /* PBXTextBookmark */;
+ 6BD6684712434DE80021A7A4 /* PBXTextBookmark */ = 6BD6684712434DE80021A7A4 /* PBXTextBookmark */;
6BF5F27311747CFA000502A6 = 6BF5F27311747CFA000502A6 /* PBXTextBookmark */;
6BF5F2E411748884000502A6 = 6BF5F2E411748884000502A6 /* PBXTextBookmark */;
6BF5F2E511748884000502A6 = 6BF5F2E511748884000502A6 /* PBXTextBookmark */;
@@ -296,15 +319,15 @@
};
6B1185FC10068B040018F96F /* DetourCommon.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {933, 4464}}";
- sepNavSelRange = "{0, 923}";
- sepNavVisRange = "{0, 1250}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 3081}}";
+ sepNavSelRange = "{706, 0}";
+ sepNavVisRange = "{0, 1401}";
};
};
6B1185FD10068B150018F96F /* DetourCommon.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {933, 4928}}";
- sepNavSelRange = "{7047, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 4004}}";
+ sepNavSelRange = "{7172, 0}";
sepNavVisRange = "{6676, 739}";
};
};
@@ -449,9 +472,9 @@
};
6B25B6180FFA62BE004F1BC4 /* main.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {933, 14752}}";
- sepNavSelRange = "{5666, 51}";
- sepNavVisRange = "{5152, 697}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 11804}}";
+ sepNavSelRange = "{1984, 0}";
+ sepNavVisRange = "{1726, 705}";
sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
};
};
@@ -631,7 +654,7 @@
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
name = "DetourNavMeshQuery.cpp: 78";
rLen = 0;
- rLoc = 2839;
+ rLoc = 2844;
rType = 0;
vrLen = 1029;
vrLoc = 2108;
@@ -909,24 +932,24 @@
};
6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {933, 19344}}";
- sepNavSelRange = "{3394, 13}";
- sepNavVisRange = "{3053, 727}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 15574}}";
+ sepNavSelRange = "{30359, 0}";
+ sepNavVisRange = "{29895, 802}";
sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
};
};
6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {933, 11440}}";
- sepNavSelRange = "{20401, 0}";
- sepNavVisRange = "{20162, 460}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 9256}}";
+ sepNavSelRange = "{12788, 0}";
+ sepNavVisRange = "{12098, 839}";
};
};
6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {933, 6176}}";
- sepNavSelRange = "{13969, 0}";
- sepNavVisRange = "{0, 1193}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 5161}}";
+ sepNavSelRange = "{3060, 0}";
+ sepNavVisRange = "{2112, 1294}";
};
};
6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */ = {
@@ -941,7 +964,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = detail;
rLen = 0;
- rLoc = 12304;
+ rLoc = 12606;
rType = 0;
vrLen = 1182;
vrLoc = 9676;
@@ -1046,7 +1069,7 @@
fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
name = "main.cpp: 232";
rLen = 51;
- rLoc = 5666;
+ rLoc = 5667;
rType = 0;
vrLen = 697;
vrLoc = 5152;
@@ -1207,7 +1230,7 @@
fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
name = "DetourNavMeshBuilder.cpp: 699";
rLen = 0;
- rLoc = 20401;
+ rLoc = 20409;
rType = 0;
vrLen = 460;
vrLoc = 20162;
@@ -1332,7 +1355,7 @@
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 363";
rLen = 0;
- rLoc = 13969;
+ rLoc = 14271;
rType = 0;
vrLen = 1193;
vrLoc = 0;
@@ -1397,8 +1420,8 @@
6BAF3C581211663A008CFCDF /* CrowdTool.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {933, 9724}}";
- sepNavSelRange = "{2725, 0}";
- sepNavVisRange = "{4765, 650}";
+ sepNavSelRange = "{5268, 0}";
+ sepNavVisRange = "{4767, 673}";
sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
};
};
@@ -1441,9 +1464,9 @@
};
6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {933, 31603}}";
- sepNavSelRange = "{58044, 101}";
- sepNavVisRange = "{57588, 749}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 31733}}";
+ sepNavSelRange = "{38744, 0}";
+ sepNavVisRange = "{38369, 869}";
};
};
6BAF427A121ADCC2008CFCDF /* DetourAssert.h */ = {
@@ -1536,7 +1559,7 @@
fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */;
name = "DetourDebugDraw.cpp: 274";
rLen = 0;
- rLoc = 7840;
+ rLoc = 7870;
rType = 0;
vrLen = 966;
vrLoc = 7266;
@@ -1614,9 +1637,9 @@
};
6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1219, 7568}}";
- sepNavSelRange = "{11736, 0}";
- sepNavVisRange = "{11553, 271}";
+ sepNavIntBoundsRect = "{{0, 0}, {933, 6162}}";
+ sepNavSelRange = "{4979, 0}";
+ sepNavVisRange = "{4634, 955}";
sepNavWindowFrame = "{{61, 9}, {1214, 722}}";
};
};
@@ -1994,7 +2017,7 @@
fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
name = "DetourNavMeshQuery.cpp: 2141";
rLen = 101;
- rLoc = 58044;
+ rLoc = 58084;
rType = 0;
vrLen = 749;
vrLoc = 57588;
@@ -2170,6 +2193,236 @@
vrLen = 650;
vrLoc = 4765;
};
+ 6BD6681612434B790021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BAF3C581211663A008CFCDF /* CrowdTool.cpp */;
+ name = "CrowdTool.cpp: 195";
+ rLen = 0;
+ rLoc = 5268;
+ rType = 0;
+ vrLen = 673;
+ vrLoc = 4767;
+ };
+ 6BD6681712434B790021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */;
+ name = "DetourCommon.h: 13";
+ rLen = 0;
+ rLoc = 706;
+ rType = 0;
+ vrLen = 1401;
+ vrLoc = 0;
+ };
+ 6BD6681812434B790021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */;
+ name = "DetourCommon.cpp: 276";
+ rLen = 0;
+ rLoc = 7172;
+ rType = 0;
+ vrLen = 739;
+ vrLoc = 6676;
+ };
+ 6BD6681912434B790021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 1179";
+ rLen = 0;
+ rLoc = 32003;
+ rType = 0;
+ vrLen = 1066;
+ vrLoc = 31344;
+ };
+ 6BD6681A12434B790021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 77";
+ rLen = 0;
+ rLoc = 2812;
+ rType = 0;
+ vrLen = 1219;
+ vrLoc = 1813;
+ };
+ 6BD6681B12434B790021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 65";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 888;
+ vrLoc = 1452;
+ };
+ 6BD6681C12434B790021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 65";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 960;
+ vrLoc = 1453;
+ };
+ 6BD6681D12434B7D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 65";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 119;
+ vrLoc = 1943;
+ };
+ 6BD6683412434D9D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */;
+ name = "DetourNavMeshBuilder.cpp: 445";
+ rLen = 0;
+ rLoc = 12788;
+ rType = 0;
+ vrLen = 839;
+ vrLoc = 12098;
+ };
+ 6BD6683512434D9D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
+ name = "DetourNavMesh.cpp: 1120";
+ rLen = 0;
+ rLoc = 30359;
+ rType = 0;
+ vrLen = 802;
+ vrLoc = 29895;
+ };
+ 6BD6683612434D9D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BAF40DA12196A3D008CFCDF /* DetourNavMeshQuery.cpp */;
+ name = "DetourNavMeshQuery.cpp: 1426";
+ rLen = 0;
+ rLoc = 38744;
+ rType = 0;
+ vrLen = 869;
+ vrLoc = 38369;
+ };
+ 6BD6683712434D9D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */;
+ name = "DetourDebugDraw.cpp: 178";
+ rLen = 0;
+ rLoc = 4979;
+ rType = 0;
+ vrLen = 955;
+ vrLoc = 4634;
+ };
+ 6BD6683812434D9D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 76";
+ rLen = 0;
+ rLoc = 2939;
+ rType = 0;
+ vrLen = 1183;
+ vrLoc = 2020;
+ };
+ 6BD6683912434D9D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 66";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 670;
+ vrLoc = 1693;
+ };
+ 6BD6683A12434D9D0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 66";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 674;
+ vrLoc = 1694;
+ };
+ 6BD6683C12434D9E0021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 66";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 761;
+ vrLoc = 1694;
+ };
+ 6BD6683D12434DA20021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 66";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 159;
+ vrLoc = 1943;
+ };
+ 6BD6683E12434DB00021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 67";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 761;
+ vrLoc = 1694;
+ };
+ 6BD6683F12434DB00021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 76";
+ rLen = 0;
+ rLoc = 2939;
+ rType = 0;
+ vrLen = 1183;
+ vrLoc = 2020;
+ };
+ 6BD6684012434DB00021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 69";
+ rLen = 0;
+ rLoc = 2391;
+ rType = 0;
+ vrLen = 1183;
+ vrLoc = 2020;
+ };
+ 6BD6684512434DE80021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
+ name = "DetourNavMesh.h: 77";
+ rLen = 0;
+ rLoc = 3060;
+ rType = 0;
+ vrLen = 1294;
+ vrLoc = 2112;
+ };
+ 6BD6684612434DE80021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 67";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 729;
+ vrLoc = 1726;
+ };
+ 6BD6684712434DE80021A7A4 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */;
+ name = "main.cpp: 64";
+ rLen = 0;
+ rLoc = 1984;
+ rType = 0;
+ vrLen = 705;
+ vrLoc = 1726;
+ };
6BF5F23911747606000502A6 /* Filelist.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {909, 1600}}";
diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3
index 89831d7..9720348 100644
--- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3
+++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3
@@ -284,14 +284,13 @@
PBXSmartGroupTreeModuleOutlineStateSelectionKey
- 53
- 51
+ 60
1
0
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
- {{0, 820}, {264, 607}}
+ {{0, 521}, {264, 607}}
PBXTopSmartGroupGIDs
@@ -326,7 +325,7 @@
PBXProjectModuleGUID
6B8632A30F78115100E2684A
PBXProjectModuleLabel
- CrowdTool.cpp
+ main.cpp
PBXSplitModuleInNavigatorKey
Split0
@@ -334,11 +333,11 @@
PBXProjectModuleGUID
6B8632A40F78115100E2684A
PBXProjectModuleLabel
- CrowdTool.cpp
+ main.cpp
_historyCapacity
0
bookmark
- 6BD6680B123D30DB0021A7A4
+ 6BD6684712434DE80021A7A4
history
6BBB4AA5115B4F3400CF791D
@@ -359,11 +358,9 @@
6BAF4446121C40AC008CFCDF
6BAF4525121D1723008CFCDF
6BAF46D3121D8FF1008CFCDF
- 6BAF475B121DA31D008CFCDF
6B1C8E08121EB4FF0048697F
6B1C8E0A121EB4FF0048697F
6B1C8E27121EB6D30048697F
- 6BA687451222EADA00730711
6BA6876E1222F02E00730711
6BA687831222F42100730711
6BA687881222F4DB00730711
@@ -378,13 +375,11 @@
6BD4028C1224399300995864
6BD4029B12243A8000995864
6BD402B4122441CB00995864
- 6B9209A412259E5B00D5B5AD
6B920A521225C0AC00D5B5AD
6B920A541225C0AC00D5B5AD
6B920A6D1225C5DD00D5B5AD
6B920A6E1225C5DD00D5B5AD
6B920A811225D2EC00D5B5AD
- 6B920A8C1225D3C900D5B5AD
6B920A8F1225D3C900D5B5AD
6B920AA71225DBCB00D5B5AD
6B920AA81225DBCB00D5B5AD
@@ -393,18 +388,15 @@
6BA7F8AC1226EF0400C8C47A
6BA7F8B61226EF1100C8C47A
6BA7F8D01226EF9D00C8C47A
- 6BA7F8D91226EFF500C8C47A
6BA7F8E91227002300C8C47A
6BA7F8EB1227002300C8C47A
6BA7F8EC1227002300C8C47A
6BA7F8ED1227002300C8C47A
6BA7F8EE1227002300C8C47A
6B9EFF0B12281C6200535FF1
- 6B9EFF0E12281C6200535FF1
6B847513122B9F4900ADF63D
6B847515122B9F4900ADF63D
6B847516122B9F4900ADF63D
- 6B847518122B9F4900ADF63D
6B847634122CE32800ADF63D
6B847635122CE32800ADF63D
6B8476F9122D000800ADF63D
@@ -420,12 +412,19 @@
6B8477FE122D2E2A00ADF63D
6B8477FF122D2E2A00ADF63D
6B73B22F123A7ECC00671B94
- 6BD667D3123D27030021A7A4
6BD667E3123D2BD60021A7A4
6BD667FF123D2D230021A7A4
6BD66800123D2D230021A7A4
6BD66806123D2F4E0021A7A4
- 6BD66807123D2F4E0021A7A4
+ 6BD6681612434B790021A7A4
+ 6BD6681712434B790021A7A4
+ 6BD6681812434B790021A7A4
+ 6BD6683412434D9D0021A7A4
+ 6BD6683512434D9D0021A7A4
+ 6BD6683612434D9D0021A7A4
+ 6BD6683712434D9D0021A7A4
+ 6BD6684512434DE80021A7A4
+ 6BD6684612434DE80021A7A4
SplitCount
@@ -439,18 +438,18 @@
GeometryConfiguration
Frame
- {{0, 0}, {994, 490}}
+ {{0, 0}, {994, 420}}
RubberWindowFrame
0 112 1280 666 0 0 1280 778
Module
PBXNavigatorGroup
Proportion
- 490pt
+ 420pt
Proportion
- 130pt
+ 200pt
Tabs
@@ -518,7 +517,7 @@
GeometryConfiguration
Frame
- {{10, 27}, {994, 103}}
+ {{10, 27}, {994, 173}}
RubberWindowFrame
0 112 1280 666 0 0 1280 778
@@ -579,7 +578,6 @@
debugger-step-out
debugger-enable-breakpoints
NSToolbarFlexibleSpaceItem
- com.apple.ide.XCBreakpointsToolbarItem
clear-log
ControllerClassBaseName
@@ -603,12 +601,12 @@
GeometryConfiguration
Frame
- {{0, 0}, {1280, 501}}
+ {{0, 0}, {1280, 462}}
Module
PBXDebugCLIModule
Proportion
- 501pt
+ 462pt
ContentConfiguration
@@ -627,8 +625,8 @@
yes
sizes
- {{0, 0}, {576, 85}}
- {{576, 0}, {704, 85}}
+ {{0, 0}, {576, 80}}
+ {{576, 0}, {704, 80}}
VerticalSplitView
@@ -643,8 +641,8 @@
yes
sizes
- {{0, 0}, {1280, 85}}
- {{0, 85}, {1280, 87}}
+ {{0, 0}, {1280, 80}}
+ {{0, 78}, {1280, 80}}
@@ -664,7 +662,7 @@
DebugSTDIOWindowFrame
{{200, 200}, {500, 300}}
Frame
- {{0, 506}, {1280, 172}}
+ {{0, 467}, {1280, 158}}
PBXDebugSessionStackFrameViewKey
DebugVariablesTableConfiguration
@@ -677,13 +675,13 @@
328
Frame
- {{576, 0}, {704, 85}}
+ {{576, 0}, {704, 80}}
Module
PBXDebugSessionModule
Proportion
- 172pt
+ 158pt
Name
diff --git a/RecastDemo/Source/main.cpp b/RecastDemo/Source/main.cpp
index 8402fb2..50c0fd1 100644
--- a/RecastDemo/Source/main.cpp
+++ b/RecastDemo/Source/main.cpp
@@ -61,7 +61,7 @@ static const int g_nsamples = sizeof(g_samples)/sizeof(SampleItem);
int main(int /*argc*/, char** /*argv*/)
-{
+{
// Init SDL
if (SDL_Init(SDL_INIT_EVERYTHING) != 0)
{