Fix for Issue 81. Fixed getPolysAround() and findDistanceToWall() when using off-mesh connections.

This commit is contained in:
Mikko Mononen 2010-05-26 09:46:02 +00:00
parent 11386cedcf
commit 2aa749c940
4 changed files with 354 additions and 70 deletions

View File

@ -1413,7 +1413,7 @@ int dtNavMesh::findPath(dtPolyRef startRef, dtPolyRef endRef,
dtPolyRef neighbourRef = bestTile->links[i].ref; dtPolyRef neighbourRef = bestTile->links[i].ref;
// Skip invalid ids and do not expand back to where we came from. // Skip invalid ids and do not expand back to where we came from.
if (!neighbourRef || neighbourRef == bestRef) if (!neighbourRef || neighbourRef == parentRef)
continue; continue;
// Get neighbour poly and tile. // Get neighbour poly and tile.
@ -2254,9 +2254,16 @@ int dtNavMesh::findPolysAround(dtPolyRef centerRef, const float* centerPos, floa
if (!neighbourRef || neighbourRef == parentRef) if (!neighbourRef || neighbourRef == parentRef)
continue; continue;
// Calc distance to the edge. // Expand to neighbour
const float* va = &bestTile->verts[bestPoly->verts[link->edge]*3]; it = decodePolyIdTile(neighbourRef);
const float* vb = &bestTile->verts[bestPoly->verts[(link->edge+1) % bestPoly->vertCount]*3]; ip = decodePolyIdPoly(neighbourRef);
const dtMeshTile* neighbourTile = &m_tiles[it];
const dtPoly* neighbourPoly = &neighbourTile->polys[ip];
// Find edge and calc distance to the edge.
float va[3], vb[3];
if (!getPortalPoints(bestRef, bestPoly, bestTile, neighbourRef, neighbourPoly, neighbourTile, va, vb))
continue;
float tseg; float tseg;
float distSqr = dtDistancePtSegSqr2D(centerPos, va, vb, tseg); float distSqr = dtDistancePtSegSqr2D(centerPos, va, vb, tseg);
@ -2264,12 +2271,6 @@ int dtNavMesh::findPolysAround(dtPolyRef centerRef, const float* centerPos, floa
if (distSqr > radiusSqr) if (distSqr > radiusSqr)
continue; continue;
// Expand to neighbour
it = decodePolyIdTile(neighbourRef);
ip = decodePolyIdPoly(neighbourRef);
const dtMeshTile* neighbourTile = &m_tiles[it];
const dtPoly* neighbourPoly = &neighbourTile->polys[ip];
if (!passFilter(filter, neighbourPoly->flags)) if (!passFilter(filter, neighbourPoly->flags))
continue; continue;
@ -2279,8 +2280,7 @@ int dtNavMesh::findPolysAround(dtPolyRef centerRef, const float* centerPos, floa
// Cost // Cost
float edgeMidPoint[3]; float edgeMidPoint[3];
getEdgeMidPoint(bestRef, bestPoly, bestTile, dtVlerp(edgeMidPoint, va, vb, 0.5f);
neighbourRef, neighbourPoly, neighbourTile, edgeMidPoint);
newNode.total = bestNode->total + dtVdist(previousEdgeMidPoint, edgeMidPoint); newNode.total = bestNode->total + dtVdist(previousEdgeMidPoint, edgeMidPoint);
@ -2430,6 +2430,16 @@ float dtNavMesh::findDistanceToWall(dtPolyRef centerRef, const float* centerPos,
if (!neighbourRef || neighbourRef == parentRef) if (!neighbourRef || neighbourRef == parentRef)
continue; continue;
// Expand to neighbour.
it = decodePolyIdTile(neighbourRef);
ip = decodePolyIdPoly(neighbourRef);
const dtMeshTile* neighbourTile = &m_tiles[it];
const dtPoly* neighbourPoly = &neighbourTile->polys[ip];
// Skip off-mesh connections.
if (neighbourPoly->type == DT_POLYTYPE_OFFMESH_CONNECTION)
continue;
// Calc distance to the edge. // Calc distance to the edge.
const float* va = &bestTile->verts[bestPoly->verts[link->edge]*3]; const float* va = &bestTile->verts[bestPoly->verts[link->edge]*3];
const float* vb = &bestTile->verts[bestPoly->verts[(link->edge+1) % bestPoly->vertCount]*3]; const float* vb = &bestTile->verts[bestPoly->verts[(link->edge+1) % bestPoly->vertCount]*3];
@ -2440,12 +2450,6 @@ float dtNavMesh::findDistanceToWall(dtPolyRef centerRef, const float* centerPos,
if (distSqr > radiusSqr) if (distSqr > radiusSqr)
continue; continue;
// Expand to neighbour.
it = decodePolyIdTile(neighbourRef);
ip = decodePolyIdPoly(neighbourRef);
const dtMeshTile* neighbourTile = &m_tiles[it];
const dtPoly* neighbourPoly = &neighbourTile->polys[ip];
if (!passFilter(filter, neighbourPoly->flags)) if (!passFilter(filter, neighbourPoly->flags))
continue; continue;

View File

@ -9,7 +9,7 @@
}; };
}; };
29B97313FDCFA39411CA2CEA /* Project object */ = { 29B97313FDCFA39411CA2CEA /* Project object */ = {
activeBuildConfigurationName = Release; activeBuildConfigurationName = Debug;
activeExecutable = 6B8632970F78114600E2684A /* Recast */; activeExecutable = 6B8632970F78114600E2684A /* Recast */;
activeTarget = 8D1107260486CEB800E47090 /* Recast */; activeTarget = 8D1107260486CEB800E47090 /* Recast */;
addToTargets = ( addToTargets = (
@ -329,6 +329,31 @@
6B10017D11AD1F0E0098A59A /* PBXTextBookmark */ = 6B10017D11AD1F0E0098A59A /* PBXTextBookmark */; 6B10017D11AD1F0E0098A59A /* PBXTextBookmark */ = 6B10017D11AD1F0E0098A59A /* PBXTextBookmark */;
6B10017E11AD1F0E0098A59A /* PBXTextBookmark */ = 6B10017E11AD1F0E0098A59A /* PBXTextBookmark */; 6B10017E11AD1F0E0098A59A /* PBXTextBookmark */ = 6B10017E11AD1F0E0098A59A /* PBXTextBookmark */;
6B10017F11AD1F0E0098A59A /* PBXTextBookmark */ = 6B10017F11AD1F0E0098A59A /* PBXTextBookmark */; 6B10017F11AD1F0E0098A59A /* PBXTextBookmark */ = 6B10017F11AD1F0E0098A59A /* PBXTextBookmark */;
6B10018111AD1FA00098A59A /* PBXTextBookmark */ = 6B10018111AD1FA00098A59A /* PBXTextBookmark */;
6B10018811AD204E0098A59A /* PBXTextBookmark */ = 6B10018811AD204E0098A59A /* PBXTextBookmark */;
6B10018911AD204E0098A59A /* PBXTextBookmark */ = 6B10018911AD204E0098A59A /* PBXTextBookmark */;
6B10018A11AD204E0098A59A /* PBXTextBookmark */ = 6B10018A11AD204E0098A59A /* PBXTextBookmark */;
6B10018B11AD204E0098A59A /* PBXTextBookmark */ = 6B10018B11AD204E0098A59A /* PBXTextBookmark */;
6B10019111AD22270098A59A /* PBXTextBookmark */ = 6B10019111AD22270098A59A /* PBXTextBookmark */;
6B10019211AD22860098A59A /* PBXTextBookmark */ = 6B10019211AD22860098A59A /* PBXTextBookmark */;
6B10019311AD22860098A59A /* PBXTextBookmark */ = 6B10019311AD22860098A59A /* PBXTextBookmark */;
6B10019411AD22860098A59A /* PBXTextBookmark */ = 6B10019411AD22860098A59A /* PBXTextBookmark */;
6B10019511AD22860098A59A /* PBXTextBookmark */ = 6B10019511AD22860098A59A /* PBXTextBookmark */;
6B10019611AD22860098A59A /* PBXTextBookmark */ = 6B10019611AD22860098A59A /* PBXTextBookmark */;
6B10019711AD22860098A59A /* PBXTextBookmark */ = 6B10019711AD22860098A59A /* PBXTextBookmark */;
6B10019811AD22860098A59A /* PBXTextBookmark */ = 6B10019811AD22860098A59A /* PBXTextBookmark */;
6B10019D11AD22CE0098A59A /* PBXTextBookmark */ = 6B10019D11AD22CE0098A59A /* PBXTextBookmark */;
6B10019E11AD22CE0098A59A /* PBXTextBookmark */ = 6B10019E11AD22CE0098A59A /* PBXTextBookmark */;
6B10019F11AD22CE0098A59A /* PBXTextBookmark */ = 6B10019F11AD22CE0098A59A /* PBXTextBookmark */;
6B1001A011AD22CE0098A59A /* PBXTextBookmark */ = 6B1001A011AD22CE0098A59A /* PBXTextBookmark */;
6B1001A111AD22CE0098A59A /* PBXTextBookmark */ = 6B1001A111AD22CE0098A59A /* PBXTextBookmark */;
6B1001A911AD23AA0098A59A /* PBXTextBookmark */ = 6B1001A911AD23AA0098A59A /* PBXTextBookmark */;
6B1001AA11AD23AA0098A59A /* PBXTextBookmark */ = 6B1001AA11AD23AA0098A59A /* PBXTextBookmark */;
6B1001AB11AD23AA0098A59A /* PBXTextBookmark */ = 6B1001AB11AD23AA0098A59A /* PBXTextBookmark */;
6B1001AC11AD23AA0098A59A /* PBXTextBookmark */ = 6B1001AC11AD23AA0098A59A /* PBXTextBookmark */;
6B1001AD11AD23AA0098A59A /* PBXTextBookmark */ = 6B1001AD11AD23AA0098A59A /* PBXTextBookmark */;
6B1001AF11AD23E60098A59A /* PBXTextBookmark */ = 6B1001AF11AD23E60098A59A /* PBXTextBookmark */;
6B1001B311AD24020098A59A /* PBXTextBookmark */ = 6B1001B311AD24020098A59A /* PBXTextBookmark */;
6B10FFC011ACF6790098A59A /* PBXTextBookmark */ = 6B10FFC011ACF6790098A59A /* PBXTextBookmark */; 6B10FFC011ACF6790098A59A /* PBXTextBookmark */ = 6B10FFC011ACF6790098A59A /* PBXTextBookmark */;
6B10FFC611ACF80A0098A59A /* PBXTextBookmark */ = 6B10FFC611ACF80A0098A59A /* PBXTextBookmark */; 6B10FFC611ACF80A0098A59A /* PBXTextBookmark */ = 6B10FFC611ACF80A0098A59A /* PBXTextBookmark */;
6B10FFC711ACF80A0098A59A /* PBXTextBookmark */ = 6B10FFC711ACF80A0098A59A /* PBXTextBookmark */; 6B10FFC711ACF80A0098A59A /* PBXTextBookmark */ = 6B10FFC711ACF80A0098A59A /* PBXTextBookmark */;
@ -854,7 +879,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 1927"; name = "DetourNavMesh.cpp: 1927";
rLen = 0; rLen = 0;
rLoc = 52522; rLoc = 52524;
rType = 0; rType = 0;
vrLen = 1013; vrLen = 1013;
vrLoc = 51725; vrLoc = 51725;
@ -884,7 +909,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 1927"; name = "DetourNavMesh.cpp: 1927";
rLen = 0; rLen = 0;
rLoc = 52522; rLoc = 52524;
rType = 0; rType = 0;
vrLen = 1013; vrLen = 1013;
vrLoc = 51725; vrLoc = 51725;
@ -904,7 +929,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 1927"; name = "DetourNavMesh.cpp: 1927";
rLen = 0; rLen = 0;
rLoc = 52522; rLoc = 52524;
rType = 0; rType = 0;
vrLen = 972; vrLen = 972;
vrLoc = 51766; vrLoc = 51766;
@ -944,7 +969,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 1927"; name = "DetourNavMesh.cpp: 1927";
rLen = 0; rLen = 0;
rLoc = 52522; rLoc = 52524;
rType = 0; rType = 0;
vrLen = 972; vrLen = 972;
vrLoc = 51766; vrLoc = 51766;
@ -1605,7 +1630,7 @@
isa = PBXTextBookmark; isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
rLen = 0; rLen = 0;
rLoc = 2258; rLoc = 2266;
rType = 1; rType = 1;
}; };
6B1000F711AD16900098A59A /* PBXTextBookmark */ = { 6B1000F711AD16900098A59A /* PBXTextBookmark */ = {
@ -1623,7 +1648,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2257"; name = "DetourNavMesh.cpp: 2257";
rLen = 0; rLen = 0;
rLoc = 61641; rLoc = 62022;
rType = 0; rType = 0;
vrLen = 710; vrLen = 710;
vrLoc = 61395; vrLoc = 61395;
@ -1633,7 +1658,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2255"; name = "DetourNavMesh.cpp: 2255";
rLen = 0; rLen = 0;
rLoc = 61607; rLoc = 61609;
rType = 0; rType = 0;
vrLen = 1170; vrLen = 1170;
vrLoc = 61118; vrLoc = 61118;
@ -1703,7 +1728,7 @@
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2257"; name = "DetourNavMesh.cpp: 2257";
rLen = 0; rLen = 0;
rLoc = 61641; rLoc = 62022;
rType = 0; rType = 0;
vrLen = 704; vrLen = 704;
vrLoc = 61295; vrLoc = 61295;
@ -2132,7 +2157,7 @@
ignoreCount = 0; ignoreCount = 0;
lineNumber = 1267; lineNumber = 1267;
location = Recast; location = Recast;
modificationTime = 296557598.245208; modificationTime = 296559527.17623;
state = 1; state = 1;
}; };
6B10014D11AD1C240098A59A /* PBXTextBookmark */ = { 6B10014D11AD1C240098A59A /* PBXTextBookmark */ = {
@ -2520,6 +2545,256 @@
vrLen = 668; vrLen = 668;
vrLoc = 13456; vrLoc = 13456;
}; };
6B10018111AD1FA00098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */;
name = "Sample_TileMesh.cpp: 586";
rLen = 0;
rLoc = 13653;
rType = 0;
vrLen = 717;
vrLoc = 13456;
};
6B10018811AD204E0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */;
name = "Sample_TileMesh.cpp: 586";
rLen = 0;
rLoc = 13653;
rType = 0;
vrLen = 717;
vrLoc = 13456;
};
6B10018911AD204E0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2255";
rLen = 0;
rLoc = 61609;
rType = 0;
vrLen = 974;
vrLoc = 61246;
};
6B10018A11AD204E0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */;
name = "Sample_TileMesh.cpp: 586";
rLen = 0;
rLoc = 13653;
rType = 0;
vrLen = 717;
vrLoc = 13456;
};
6B10018B11AD204E0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2112";
rLen = 0;
rLoc = 57762;
rType = 0;
vrLen = 991;
vrLoc = 57334;
};
6B10019111AD22270098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2112";
rLen = 0;
rLoc = 57762;
rType = 0;
vrLen = 965;
vrLoc = 57388;
};
6B10019211AD22860098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */;
name = "RecastMesh.cpp: 531";
rLen = 0;
rLoc = 13857;
rType = 0;
vrLen = 465;
vrLoc = 13618;
};
6B10019311AD22860098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 496";
rLen = 22;
rLoc = 20499;
rType = 0;
vrLen = 925;
vrLoc = 19997;
};
6B10019411AD22860098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */;
name = "DetourCommon.cpp: 176";
rLen = 0;
rLoc = 4570;
rType = 0;
vrLen = 516;
vrLoc = 4180;
};
6B10019511AD22860098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2266";
rLen = 0;
rLoc = 62025;
rType = 0;
vrLen = 843;
vrLoc = 61440;
};
6B10019611AD22860098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 496";
rLen = 22;
rLoc = 20499;
rType = 0;
vrLen = 925;
vrLoc = 19997;
};
6B10019711AD22860098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */;
name = "DetourCommon.cpp: 176";
rLen = 0;
rLoc = 4570;
rType = 0;
vrLen = 516;
vrLoc = 4180;
};
6B10019811AD22860098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2281";
rLen = 0;
rLoc = 62382;
rType = 0;
vrLen = 934;
vrLoc = 61863;
};
6B10019D11AD22CE0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 60";
rLen = 18;
rLoc = 2146;
rType = 0;
vrLen = 1012;
vrLoc = 1659;
};
6B10019E11AD22CE0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2272";
rLen = 0;
rLoc = 62177;
rType = 0;
vrLen = 1036;
vrLoc = 61830;
};
6B10019F11AD22CE0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2272";
rLen = 0;
rLoc = 62177;
rType = 0;
vrLen = 1036;
vrLoc = 61830;
};
6B1001A011AD22CE0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 60";
rLen = 18;
rLoc = 2146;
rType = 0;
vrLen = 1012;
vrLoc = 1659;
};
6B1001A111AD22CE0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2272";
rLen = 0;
rLoc = 62177;
rType = 0;
vrLen = 1017;
vrLoc = 61635;
};
6B1001A911AD23AA0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 61";
rLen = 30;
rLoc = 2204;
rType = 0;
vrLen = 1012;
vrLoc = 1659;
};
6B1001AA11AD23AA0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2439";
rLen = 0;
rLoc = 66895;
rType = 0;
vrLen = 1071;
vrLoc = 66349;
};
6B1001AB11AD23AA0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2439";
rLen = 0;
rLoc = 66895;
rType = 0;
vrLen = 1071;
vrLoc = 66349;
};
6B1001AC11AD23AA0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
name = "DetourNavMesh.h: 61";
rLen = 30;
rLoc = 2204;
rType = 0;
vrLen = 1012;
vrLoc = 1659;
};
6B1001AD11AD23AA0098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2443";
rLen = 1;
rLoc = 66917;
rType = 0;
vrLen = 975;
vrLoc = 66497;
};
6B1001AF11AD23E60098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 2443";
rLen = 1;
rLoc = 66917;
rType = 0;
vrLen = 975;
vrLoc = 66497;
};
6B1001B311AD24020098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */;
name = "DetourNavMesh.cpp: 1425";
rLen = 0;
rLoc = 38430;
rType = 0;
vrLen = 976;
vrLoc = 37622;
};
6B10FFC011ACF6790098A59A /* PBXTextBookmark */ = { 6B10FFC011ACF6790098A59A /* PBXTextBookmark */ = {
isa = PBXTextBookmark; isa = PBXTextBookmark;
fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */;
@ -2893,9 +3168,9 @@
}; };
6B1185FD10068B150018F96F /* DetourCommon.cpp */ = { 6B1185FD10068B150018F96F /* DetourCommon.cpp */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {909, 3968}}"; sepNavIntBoundsRect = "{{0, 0}, {1195, 4064}}";
sepNavSelRange = "{4307, 388}"; sepNavSelRange = "{4570, 0}";
sepNavVisRange = "{4089, 699}"; sepNavVisRange = "{4180, 516}";
}; };
}; };
6B137C6C0F7FCBBB00459200 /* imgui.cpp */ = { 6B137C6C0F7FCBBB00459200 /* imgui.cpp */ = {
@ -2994,9 +3269,9 @@
}; };
6B137C870F7FCC1100459200 /* RecastMesh.cpp */ = { 6B137C870F7FCC1100459200 /* RecastMesh.cpp */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {909, 20144}}"; sepNavIntBoundsRect = "{{0, 0}, {1195, 19936}}";
sepNavSelRange = "{18991, 0}"; sepNavSelRange = "{13857, 0}";
sepNavVisRange = "{16133, 642}"; sepNavVisRange = "{13618, 465}";
}; };
}; };
6B137C880F7FCC1100459200 /* RecastRasterization.cpp */ = { 6B137C880F7FCC1100459200 /* RecastRasterization.cpp */ = {
@ -3052,8 +3327,8 @@
6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */ = { 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1223, 16736}}"; sepNavIntBoundsRect = "{{0, 0}, {1223, 16736}}";
sepNavSelRange = "{13851, 0}"; sepNavSelRange = "{13653, 0}";
sepNavVisRange = "{13456, 668}"; sepNavVisRange = "{13456, 717}";
sepNavWindowFrame = "{{38, 30}, {1214, 722}}"; sepNavWindowFrame = "{{38, 30}, {1214, 722}}";
}; };
}; };
@ -3292,7 +3567,7 @@
ignoreCount = 0; ignoreCount = 0;
lineNumber = 413; lineNumber = 413;
location = Recast; location = Recast;
modificationTime = 296557555.587103; modificationTime = 296559527.175639;
state = 1; state = 1;
}; };
6B4216881180725E006C347B /* PBXTextBookmark */ = { 6B4216881180725E006C347B /* PBXTextBookmark */ = {
@ -3470,7 +3745,7 @@
ignoreCount = 0; ignoreCount = 0;
lineNumber = 60; lineNumber = 60;
location = Recast; location = Recast;
modificationTime = 296557555.58726; modificationTime = 296559527.175928;
state = 1; state = 1;
}; };
6B5562841193EFC500843384 /* PBXTextBookmark */ = { 6B5562841193EFC500843384 /* PBXTextBookmark */ = {
@ -3776,9 +4051,9 @@
}; };
6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */ = { 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1195, 40672}}"; sepNavIntBoundsRect = "{{0, 0}, {909, 41104}}";
sepNavSelRange = "{61641, 0}"; sepNavSelRange = "{38430, 0}";
sepNavVisRange = "{61295, 704}"; sepNavVisRange = "{37622, 976}";
sepNavWindowFrame = "{{15, 51}, {1214, 722}}"; sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
}; };
}; };
@ -3791,9 +4066,9 @@
}; };
6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */ = { 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */ = {
uiCtxt = { uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {909, 8976}}"; sepNavIntBoundsRect = "{{0, 0}, {909, 8944}}";
sepNavSelRange = "{17155, 26}"; sepNavSelRange = "{2204, 30}";
sepNavVisRange = "{16065, 1692}"; sepNavVisRange = "{1659, 1012}";
}; };
}; };
6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */ = { 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */ = {
@ -4464,7 +4739,7 @@
ignoreCount = 0; ignoreCount = 0;
lineNumber = 580; lineNumber = 580;
location = Recast; location = Recast;
modificationTime = 296557555.586626; modificationTime = 296559527.174646;
state = 1; state = 1;
}; };
6BBB4BBE115B64E600CF791D /* Sample_TileMesh.cpp:624 */ = { 6BBB4BBE115B64E600CF791D /* Sample_TileMesh.cpp:624 */ = {
@ -4481,7 +4756,7 @@
ignoreCount = 0; ignoreCount = 0;
lineNumber = 624; lineNumber = 624;
location = Recast; location = Recast;
modificationTime = 296557555.586792; modificationTime = 296559527.174992;
state = 1; state = 1;
}; };
6BBB4C34115B7A3D00CF791D /* PBXTextBookmark */ = { 6BBB4C34115B7A3D00CF791D /* PBXTextBookmark */ = {
@ -4532,7 +4807,7 @@
ignoreCount = 0; ignoreCount = 0;
lineNumber = 276; lineNumber = 276;
location = Recast; location = Recast;
modificationTime = 296557555.58695; modificationTime = 296559527.175278;
state = 1; state = 1;
}; };
6BCF32341104CD05009445BF /* OffMeshConnectionTool.h */ = { 6BCF32341104CD05009445BF /* OffMeshConnectionTool.h */ = {

View File

@ -282,14 +282,14 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array> <array>
<array> <array>
<integer>21</integer> <integer>13</integer>
<integer>20</integer> <integer>11</integer>
<integer>1</integer> <integer>1</integer>
<integer>0</integer> <integer>0</integer>
</array> </array>
</array> </array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 167}, {264, 643}}</string> <string>{{0, 109}, {264, 643}}</string>
</dict> </dict>
<key>PBXTopSmartGroupGIDs</key> <key>PBXTopSmartGroupGIDs</key>
<array/> <array/>
@ -324,7 +324,7 @@
<key>PBXProjectModuleGUID</key> <key>PBXProjectModuleGUID</key>
<string>6B8632A30F78115100E2684A</string> <string>6B8632A30F78115100E2684A</string>
<key>PBXProjectModuleLabel</key> <key>PBXProjectModuleLabel</key>
<string>Sample_TileMesh.cpp</string> <string>DetourNavMesh.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key> <key>PBXSplitModuleInNavigatorKey</key>
<dict> <dict>
<key>Split0</key> <key>Split0</key>
@ -332,11 +332,11 @@
<key>PBXProjectModuleGUID</key> <key>PBXProjectModuleGUID</key>
<string>6B8632A40F78115100E2684A</string> <string>6B8632A40F78115100E2684A</string>
<key>PBXProjectModuleLabel</key> <key>PBXProjectModuleLabel</key>
<string>Sample_TileMesh.cpp</string> <string>DetourNavMesh.cpp</string>
<key>_historyCapacity</key> <key>_historyCapacity</key>
<integer>0</integer> <integer>0</integer>
<key>bookmark</key> <key>bookmark</key>
<string>6B10017F11AD1F0E0098A59A</string> <string>6B1001B311AD24020098A59A</string>
<key>history</key> <key>history</key>
<array> <array>
<string>6BBB4A96115B4F3400CF791D</string> <string>6BBB4A96115B4F3400CF791D</string>
@ -374,7 +374,6 @@
<string>6B4214D911803923006C347B</string> <string>6B4214D911803923006C347B</string>
<string>6B4215CB118066FE006C347B</string> <string>6B4215CB118066FE006C347B</string>
<string>6B6F8E2311837A7400A069D7</string> <string>6B6F8E2311837A7400A069D7</string>
<string>6B6F8E2411837A7400A069D7</string>
<string>6B6F8E2511837A7400A069D7</string> <string>6B6F8E2511837A7400A069D7</string>
<string>6B555F451191AA4400843384</string> <string>6B555F451191AA4400843384</string>
<string>6B55623D1193E79A00843384</string> <string>6B55623D1193E79A00843384</string>
@ -396,7 +395,6 @@
<string>6B57E96B11A7695700614060</string> <string>6B57E96B11A7695700614060</string>
<string>6B10000A11ACFFFB0098A59A</string> <string>6B10000A11ACFFFB0098A59A</string>
<string>6B10003311AD03030098A59A</string> <string>6B10003311AD03030098A59A</string>
<string>6B1000FB11AD16DC0098A59A</string>
<string>6B10011711AD19F90098A59A</string> <string>6B10011711AD19F90098A59A</string>
<string>6B10011811AD19F90098A59A</string> <string>6B10011811AD19F90098A59A</string>
<string>6B10011911AD19F90098A59A</string> <string>6B10011911AD19F90098A59A</string>
@ -404,7 +402,9 @@
<string>6B10017811AD1F0E0098A59A</string> <string>6B10017811AD1F0E0098A59A</string>
<string>6B10017911AD1F0E0098A59A</string> <string>6B10017911AD1F0E0098A59A</string>
<string>6B10017A11AD1F0E0098A59A</string> <string>6B10017A11AD1F0E0098A59A</string>
<string>6B10017B11AD1F0E0098A59A</string> <string>6B10018811AD204E0098A59A</string>
<string>6B1001A911AD23AA0098A59A</string>
<string>6B1001AA11AD23AA0098A59A</string>
</array> </array>
<key>prevStack</key> <key>prevStack</key>
<array> <array>
@ -498,6 +498,11 @@
<string>6B10017C11AD1F0E0098A59A</string> <string>6B10017C11AD1F0E0098A59A</string>
<string>6B10017D11AD1F0E0098A59A</string> <string>6B10017D11AD1F0E0098A59A</string>
<string>6B10017E11AD1F0E0098A59A</string> <string>6B10017E11AD1F0E0098A59A</string>
<string>6B10018A11AD204E0098A59A</string>
<string>6B10019F11AD22CE0098A59A</string>
<string>6B1001A011AD22CE0098A59A</string>
<string>6B1001AB11AD23AA0098A59A</string>
<string>6B1001AC11AD23AA0098A59A</string>
</array> </array>
</dict> </dict>
<key>SplitCount</key> <key>SplitCount</key>
@ -511,18 +516,18 @@
<key>GeometryConfiguration</key> <key>GeometryConfiguration</key>
<dict> <dict>
<key>Frame</key> <key>Frame</key>
<string>{{0, 0}, {970, 460}}</string> <string>{{0, 0}, {970, 545}}</string>
<key>RubberWindowFrame</key> <key>RubberWindowFrame</key>
<string>13 75 1256 702 0 0 1280 778 </string> <string>13 75 1256 702 0 0 1280 778 </string>
</dict> </dict>
<key>Module</key> <key>Module</key>
<string>PBXNavigatorGroup</string> <string>PBXNavigatorGroup</string>
<key>Proportion</key> <key>Proportion</key>
<string>460pt</string> <string>545pt</string>
</dict> </dict>
<dict> <dict>
<key>Proportion</key> <key>Proportion</key>
<string>196pt</string> <string>111pt</string>
<key>Tabs</key> <key>Tabs</key>
<array> <array>
<dict> <dict>
@ -590,7 +595,7 @@
<key>GeometryConfiguration</key> <key>GeometryConfiguration</key>
<dict> <dict>
<key>Frame</key> <key>Frame</key>
<string>{{10, 27}, {970, 169}}</string> <string>{{10, 27}, {970, 84}}</string>
<key>RubberWindowFrame</key> <key>RubberWindowFrame</key>
<string>13 75 1256 702 0 0 1280 778 </string> <string>13 75 1256 702 0 0 1280 778 </string>
</dict> </dict>
@ -675,12 +680,12 @@
<key>GeometryConfiguration</key> <key>GeometryConfiguration</key>
<dict> <dict>
<key>Frame</key> <key>Frame</key>
<string>{{0, 0}, {1256, 251}}</string> <string>{{0, 0}, {1256, 73}}</string>
</dict> </dict>
<key>Module</key> <key>Module</key>
<string>PBXDebugCLIModule</string> <string>PBXDebugCLIModule</string>
<key>Proportion</key> <key>Proportion</key>
<string>251pt</string> <string>73pt</string>
</dict> </dict>
<dict> <dict>
<key>ContentConfiguration</key> <key>ContentConfiguration</key>
@ -699,8 +704,8 @@
<string>yes</string> <string>yes</string>
<key>sizes</key> <key>sizes</key>
<array> <array>
<string>{{0, 0}, {567, 93}}</string> <string>{{0, 0}, {575, 85}}</string>
<string>{{567, 0}, {689, 93}}</string> <string>{{575, 0}, {681, 85}}</string>
</array> </array>
</dict> </dict>
<key>VerticalSplitView</key> <key>VerticalSplitView</key>
@ -715,8 +720,8 @@
<string>yes</string> <string>yes</string>
<key>sizes</key> <key>sizes</key>
<array> <array>
<string>{{0, 0}, {1256, 93}}</string> <string>{{0, 0}, {1256, 85}}</string>
<string>{{0, 93}, {1256, 312}}</string> <string>{{0, 85}, {1256, 498}}</string>
</array> </array>
</dict> </dict>
</dict> </dict>
@ -736,7 +741,7 @@
<key>DebugSTDIOWindowFrame</key> <key>DebugSTDIOWindowFrame</key>
<string>{{200, 200}, {500, 300}}</string> <string>{{200, 200}, {500, 300}}</string>
<key>Frame</key> <key>Frame</key>
<string>{{0, 256}, {1256, 405}}</string> <string>{{0, 78}, {1256, 583}}</string>
<key>PBXDebugSessionStackFrameViewKey</key> <key>PBXDebugSessionStackFrameViewKey</key>
<dict> <dict>
<key>DebugVariablesTableConfiguration</key> <key>DebugVariablesTableConfiguration</key>
@ -746,16 +751,16 @@
<string>Value</string> <string>Value</string>
<real>85</real> <real>85</real>
<string>Summary</string> <string>Summary</string>
<real>396</real> <real>388</real>
</array> </array>
<key>Frame</key> <key>Frame</key>
<string>{{567, 0}, {689, 93}}</string> <string>{{575, 0}, {681, 85}}</string>
</dict> </dict>
</dict> </dict>
<key>Module</key> <key>Module</key>
<string>PBXDebugSessionModule</string> <string>PBXDebugSessionModule</string>
<key>Proportion</key> <key>Proportion</key>
<string>405pt</string> <string>583pt</string>
</dict> </dict>
</array> </array>
<key>Name</key> <key>Name</key>