From da9dec1eefab2a74f18b273e3b4ebf1b56bbc8f1 Mon Sep 17 00:00:00 2001 From: Mikko Mononen Date: Wed, 13 Jan 2010 21:32:28 +0000 Subject: [PATCH] Sped up off-mesh link connection process. --- Detour/Include/DetourNavMesh.h | 1 + Detour/Source/DetourNavMesh.cpp | 20 +- Detour/Source/DetourNavMeshBuilder.cpp | 1 + .../Bin/Recast.app/Contents/MacOS/Recast | Bin 396264 -> 396264 bytes .../Xcode/Recast.xcodeproj/memon.pbxuser | 265 +++++++++++------- .../Recast.xcodeproj/memon.perspectivev3 | 19 +- 6 files changed, 190 insertions(+), 116 deletions(-) diff --git a/Detour/Include/DetourNavMesh.h b/Detour/Include/DetourNavMesh.h index 7a778bb..0791e19 100644 --- a/Detour/Include/DetourNavMesh.h +++ b/Detour/Include/DetourNavMesh.h @@ -86,6 +86,7 @@ struct dtMeshHeader int ndtris; // Number of detail triangles. int nbvtree; // Number of BVtree nodes. int nomlinks; // Number of Off-Mesh links. + int nombase; // Index to first polygon which is Off-Mesh link. float bmin[3], bmax[3]; // Bounding box of the tile. float bvquant; // BVtree quantization factor (world to bvnode coords) dtPoly* polys; // Pointer to the polygons (will be updated when tile is added). diff --git a/Detour/Source/DetourNavMesh.cpp b/Detour/Source/DetourNavMesh.cpp index 93ac725..2868dbc 100644 --- a/Detour/Source/DetourNavMesh.cpp +++ b/Detour/Source/DetourNavMesh.cpp @@ -391,23 +391,14 @@ void dtNavMesh::buildIntLinks(dtMeshTile* tile) if (poly->flags & DT_POLY_OFFMESH_LINK) { // Find Off-Mesh link and fill in information. - dtOffMeshLink* omlink = 0; - for (int j = 0; j < h->nomlinks; ++j) - { - if ((int)h->omlinks[j].p == i) - { - omlink = &h->omlinks[j]; - break; - } - } - if (!omlink) - continue; + dtOffMeshLink& omlink = h->omlinks[i - h->nombase]; + // Connect both ends. for (int j = 0; j < 2; ++j) { if (nlinks < h->maxlinks) { dtLink* link = &pool[nlinks++]; - link->ref = omlink->ref[j]; + link->ref = omlink.ref[j]; link->p = (unsigned short)i; link->e = (unsigned char)j; link->side = 0xff; @@ -436,11 +427,13 @@ void dtNavMesh::buildIntLinks(dtMeshTile* tile) } } - // Off-Mesh link targets. + // Check this polygon is Off-Mesh link target and connect. + // TODO: Speed this up. dtPolyRef curRef = base | (unsigned int)i; for (int j = 0; j < h->nomlinks; ++j) { const dtOffMeshLink* omlink = &h->omlinks[j]; + // Test both end points. for (int k = 0; k < 2; ++k) { if (omlink->ref[k] == curRef) @@ -458,6 +451,7 @@ void dtNavMesh::buildIntLinks(dtMeshTile* tile) } } } + } } diff --git a/Detour/Source/DetourNavMeshBuilder.cpp b/Detour/Source/DetourNavMeshBuilder.cpp index 7999baa..3bc791a 100644 --- a/Detour/Source/DetourNavMeshBuilder.cpp +++ b/Detour/Source/DetourNavMeshBuilder.cpp @@ -461,6 +461,7 @@ bool dtCreateNavMeshData(const unsigned short* verts, const int nverts, header->ndverts = uniqueDetailVerts; header->ndtris = ndtris; header->bvquant = 1.0f/cs; + header->nombase = npolys; header->nomlinks = nomlinks; header->nbvtree = npolys*2; diff --git a/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast b/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast index 76c1ad91e822772f3be651f1f952f24b856a18ba..e0f16eb8734b3d6bd9d69b95a4eb5ef50b821c8b 100755 GIT binary patch delta 53903 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
  • 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 diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser index a762140..7f2f026 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser @@ -18,8 +18,8 @@ breakpoints = ( 6BBB88CC10EAA37B008FEA1F /* NavMeshTesterTool.cpp:282 */, 6BB700A210FA36C3006DA0A6 /* DetourNavMesh.cpp:362 */, - 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:513 */, - 6BB700FD10FA3E9F006DA0A6 /* DetourNavMesh.cpp:403 */, + 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:507 */, + 6BB700FD10FA3E9F006DA0A6 /* DetourNavMesh.cpp:396 */, ); codeSenseManager = 6B8632AA0F78115100E2684A /* Code sense */; executables = ( @@ -380,6 +380,13 @@ 6BE7321710FE712A00C1B074 /* PBXTextBookmark */ = 6BE7321710FE712A00C1B074 /* PBXTextBookmark */; 6BE7321810FE712A00C1B074 /* PBXTextBookmark */ = 6BE7321810FE712A00C1B074 /* PBXTextBookmark */; 6BE7321910FE712A00C1B074 /* PBXTextBookmark */ = 6BE7321910FE712A00C1B074 /* PBXTextBookmark */; + 6BE7321D10FE72B300C1B074 /* PBXTextBookmark */ = 6BE7321D10FE72B300C1B074 /* PBXTextBookmark */; + 6BE7321E10FE72B300C1B074 /* PBXTextBookmark */ = 6BE7321E10FE72B300C1B074 /* PBXTextBookmark */; + 6BE7321F10FE72B300C1B074 /* PBXTextBookmark */ = 6BE7321F10FE72B300C1B074 /* PBXTextBookmark */; + 6BE7322010FE72B300C1B074 /* PBXTextBookmark */ = 6BE7322010FE72B300C1B074 /* PBXTextBookmark */; + 6BE7322110FE72B300C1B074 /* PBXTextBookmark */ = 6BE7322110FE72B300C1B074 /* PBXTextBookmark */; + 6BE7322210FE72B300C1B074 /* PBXTextBookmark */ = 6BE7322210FE72B300C1B074 /* PBXTextBookmark */; + 6BE7322310FE72B300C1B074 /* PBXTextBookmark */ = 6BE7322310FE72B300C1B074 /* PBXTextBookmark */; }; sourceControlManager = 6B8632A90F78115100E2684A /* Source Control */; userBookmarkGroup = 6B8DE6F010A88F0500DF20FB /* PBXBookmarkGroup */; @@ -716,23 +723,23 @@ }; 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {891, 31552}}"; - sepNavSelRange = "{34584, 0}"; - sepNavVisRange = "{34471, 785}"; + sepNavIntBoundsRect = "{{0, 0}, {891, 31984}}"; + sepNavSelRange = "{11402, 0}"; + sepNavVisRange = "{10991, 933}"; }; }; 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {891, 9056}}"; - sepNavSelRange = "{15297, 0}"; - sepNavVisRange = "{14772, 901}"; + sepNavIntBoundsRect = "{{0, 0}, {891, 9136}}"; + sepNavSelRange = "{13693, 1}"; + sepNavVisRange = "{13419, 928}"; }; }; 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {891, 6464}}"; - sepNavSelRange = "{10135, 0}"; - sepNavVisRange = "{9284, 1874}"; + sepNavSelRange = "{3342, 7}"; + sepNavVisRange = "{2673, 1814}"; }; }; 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */ = { @@ -747,7 +754,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = detail; rLen = 0; - rLoc = 14375; + rLoc = 14445; rType = 0; vrLen = 1182; vrLoc = 9676; @@ -945,7 +952,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1290"; rLen = 0; - rLoc = 37265; + rLoc = 37237; rType = 0; vrLen = 873; vrLoc = 31061; @@ -985,7 +992,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1290"; rLen = 0; - rLoc = 37265; + rLoc = 37237; rType = 0; vrLen = 873; vrLoc = 31061; @@ -1024,7 +1031,7 @@ isa = PBXTextBookmark; fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; rLen = 1; - rLoc = 799; + rLoc = 793; rType = 1; }; 6BB35FE610FBCF3700A9B4B8 /* PBXTextBookmark */ = { @@ -1042,7 +1049,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 788"; rLen = 0; - rLoc = 21899; + rLoc = 21871; rType = 0; vrLen = 914; vrLoc = 19097; @@ -1052,7 +1059,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 771"; rLen = 0; - rLoc = 21377; + rLoc = 21349; rType = 0; vrLen = 819; vrLoc = 19521; @@ -1072,7 +1079,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1232"; rLen = 0; - rLoc = 34817; + rLoc = 34789; rType = 0; vrLen = 719; vrLoc = 30694; @@ -1092,7 +1099,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1232"; rLen = 0; - rLoc = 34817; + rLoc = 34789; rType = 0; vrLen = 719; vrLoc = 30694; @@ -1152,7 +1159,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 112"; rLen = 0; - rLoc = 4663; + rLoc = 4733; rType = 0; vrLen = 1075; vrLoc = 3994; @@ -1162,7 +1169,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1185"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 779; vrLoc = 29631; @@ -1182,7 +1189,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1264"; rLen = 0; - rLoc = 36137; + rLoc = 36109; rType = 0; vrLen = 934; vrLoc = 31463; @@ -1202,7 +1209,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 770"; rLen = 0; - rLoc = 21334; + rLoc = 21306; rType = 0; vrLen = 984; vrLoc = 19300; @@ -1242,7 +1249,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 231"; rLen = 62; - rLoc = 10469; + rLoc = 10539; rType = 0; vrLen = 1693; vrLoc = 8712; @@ -1252,7 +1259,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1106"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 891; vrLoc = 27616; @@ -1262,7 +1269,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 113"; rLen = 0; - rLoc = 4688; + rLoc = 4758; rType = 0; vrLen = 1075; vrLoc = 3994; @@ -1272,7 +1279,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1185"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 779; vrLoc = 29631; @@ -1282,7 +1289,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 112"; rLen = 0; - rLoc = 4663; + rLoc = 4733; rType = 0; vrLen = 1075; vrLoc = 3994; @@ -1292,7 +1299,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1271"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 821; vrLoc = 31728; @@ -1302,7 +1309,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 235"; rLen = 246; - rLoc = 10325; + rLoc = 10395; rType = 0; vrLen = 1676; vrLoc = 8797; @@ -1352,7 +1359,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1271"; rLen = 0; - rLoc = 34791; + rLoc = 34763; rType = 0; vrLen = 820; vrLoc = 32087; @@ -1370,7 +1377,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1253"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 854; vrLoc = 31595; @@ -1380,7 +1387,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 235"; rLen = 246; - rLoc = 10325; + rLoc = 10395; rType = 0; vrLen = 1676; vrLoc = 8797; @@ -1500,7 +1507,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1271"; rLen = 0; - rLoc = 34791; + rLoc = 34763; rType = 0; vrLen = 820; vrLoc = 32087; @@ -1530,7 +1537,7 @@ fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; name = "DetourNavMeshBuilder.cpp: 562"; rLen = 0; - rLoc = 15297; + rLoc = 15325; rType = 0; vrLen = 901; vrLoc = 14772; @@ -1540,7 +1547,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1271"; rLen = 0; - rLoc = 34791; + rLoc = 34763; rType = 0; vrLen = 784; vrLoc = 32087; @@ -1560,7 +1567,7 @@ fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; name = "DetourNavMeshBuilder.cpp: 562"; rLen = 0; - rLoc = 15297; + rLoc = 15325; rType = 0; vrLen = 901; vrLoc = 14772; @@ -1570,7 +1577,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1188"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 791; vrLoc = 28839; @@ -1580,7 +1587,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1188"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 829; vrLoc = 28705; @@ -1600,7 +1607,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1188"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 829; vrLoc = 28705; @@ -1630,7 +1637,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1188"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 796; vrLoc = 28738; @@ -1650,7 +1657,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1247"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 992; vrLoc = 31272; @@ -1690,7 +1697,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 360"; rLen = 48; - rLoc = 16403; + rLoc = 16473; rType = 0; vrLen = 1618; vrLoc = 14581; @@ -1700,7 +1707,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1358"; rLen = 0; - rLoc = 37337; + rLoc = 37309; rType = 0; vrLen = 910; vrLoc = 34002; @@ -1710,7 +1717,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1247"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 1003; vrLoc = 31272; @@ -1760,7 +1767,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 359"; rLen = 15; - rLoc = 16323; + rLoc = 16393; rType = 0; vrLen = 1685; vrLoc = 14581; @@ -1770,7 +1777,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1358"; rLen = 0; - rLoc = 37337; + rLoc = 37309; rType = 0; vrLen = 910; vrLoc = 34002; @@ -1780,7 +1787,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 360"; rLen = 48; - rLoc = 16403; + rLoc = 16473; rType = 0; vrLen = 1618; vrLoc = 14581; @@ -1790,7 +1797,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1167"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 803; vrLoc = 29285; @@ -1830,7 +1837,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1251"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 753; vrLoc = 32185; @@ -1840,7 +1847,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 117"; rLen = 0; - rLoc = 4909; + rLoc = 4979; rType = 0; vrLen = 823; vrLoc = 4178; @@ -1860,7 +1867,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1193"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 1018; vrLoc = 29945; @@ -1870,7 +1877,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 116"; rLen = 28; - rLoc = 4828; + rLoc = 4898; rType = 0; vrLen = 1136; vrLoc = 4178; @@ -1880,7 +1887,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1272"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 798; vrLoc = 32327; @@ -1920,7 +1927,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1251"; rLen = 0; - rLoc = 29385; + rLoc = 29357; rType = 0; vrLen = 753; vrLoc = 32185; @@ -1930,7 +1937,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 117"; rLen = 0; - rLoc = 4909; + rLoc = 4979; rType = 0; vrLen = 823; vrLoc = 4178; @@ -1970,7 +1977,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 301"; rLen = 446; - rLoc = 13516; + rLoc = 13586; rType = 0; vrLen = 1196; vrLoc = 12595; @@ -2000,7 +2007,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 301"; rLen = 446; - rLoc = 13516; + rLoc = 13586; rType = 0; vrLen = 1196; vrLoc = 12595; @@ -2010,7 +2017,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 764"; rLen = 0; - rLoc = 20121; + rLoc = 20093; rType = 0; vrLen = 886; vrLoc = 19080; @@ -2020,7 +2027,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 778"; rLen = 0; - rLoc = 20533; + rLoc = 20505; rType = 0; vrLen = 946; vrLoc = 19537; @@ -2030,7 +2037,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 302"; rLen = 27; - rLoc = 13857; + rLoc = 13927; rType = 0; vrLen = 1196; vrLoc = 12595; @@ -2040,7 +2047,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 772"; rLen = 0; - rLoc = 20121; + rLoc = 20093; rType = 0; vrLen = 850; vrLoc = 19791; @@ -2060,7 +2067,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 752"; rLen = 36; - rLoc = 19205; + rLoc = 19177; rType = 0; vrLen = 914; vrLoc = 18884; @@ -2070,7 +2077,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 302"; rLen = 0; - rLoc = 13921; + rLoc = 13991; rType = 0; vrLen = 1219; vrLoc = 12595; @@ -2080,7 +2087,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 788"; rLen = 0; - rLoc = 20533; + rLoc = 20505; rType = 0; vrLen = 802; vrLoc = 20078; @@ -2100,7 +2107,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 302"; rLen = 27; - rLoc = 13857; + rLoc = 13927; rType = 0; vrLen = 1196; vrLoc = 12595; @@ -2110,7 +2117,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 777"; rLen = 0; - rLoc = 20649; + rLoc = 20621; rType = 0; vrLen = 983; vrLoc = 19537; @@ -2130,7 +2137,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 772"; rLen = 0; - rLoc = 20121; + rLoc = 20093; rType = 0; vrLen = 850; vrLoc = 19791; @@ -2160,7 +2167,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 752"; rLen = 0; - rLoc = 19260; + rLoc = 19232; rType = 0; vrLen = 1104; vrLoc = 19098; @@ -2170,7 +2177,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 306"; rLen = 0; - rLoc = 13795; + rLoc = 13865; rType = 0; vrLen = 1260; vrLoc = 12595; @@ -2198,7 +2205,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 302"; rLen = 0; - rLoc = 13890; + rLoc = 13960; rType = 0; vrLen = 1196; vrLoc = 12595; @@ -2208,7 +2215,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 752"; rLen = 0; - rLoc = 19260; + rLoc = 19232; rType = 0; vrLen = 1104; vrLoc = 19098; @@ -2218,7 +2225,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 306"; rLen = 0; - rLoc = 13795; + rLoc = 13865; rType = 0; vrLen = 1260; vrLoc = 12595; @@ -2388,7 +2395,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 653"; rLen = 3; - rLoc = 16978; + rLoc = 16950; rType = 0; vrLen = 1018; vrLoc = 16194; @@ -2398,7 +2405,7 @@ fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; name = "DetourNavMeshBuilder.cpp: 569"; rLen = 0; - rLoc = 15539; + rLoc = 15567; rType = 0; vrLen = 893; vrLoc = 14757; @@ -2460,7 +2467,7 @@ vrLen = 1034; vrLoc = 3841; }; - 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:513 */ = { + 6BB700DA10FA3D0C006DA0A6 /* DetourNavMesh.cpp:507 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -2472,7 +2479,7 @@ functionName = "dtNavMesh::addTileAt(int x, int y, unsigned char* data, int dataSize, bool ownsData)"; hitCount = 0; ignoreCount = 0; - lineNumber = 513; + lineNumber = 507; location = Recast; modificationTime = 285108048.691583; state = 1; @@ -2482,12 +2489,12 @@ fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; name = "DetourNavMeshBuilder.cpp: 563"; rLen = 0; - rLoc = 15326; + rLoc = 15354; rType = 0; vrLen = 864; vrLoc = 14809; }; - 6BB700FD10FA3E9F006DA0A6 /* DetourNavMesh.cpp:403 */ = { + 6BB700FD10FA3E9F006DA0A6 /* DetourNavMesh.cpp:396 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -2499,7 +2506,7 @@ functionName = "dtNavMesh::buildIntLinks(dtMeshTile* tile)"; hitCount = 0; ignoreCount = 0; - lineNumber = 403; + lineNumber = 396; location = Recast; modificationTime = 285108048.692331; state = 1; @@ -3177,7 +3184,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 752"; rLen = 0; - rLoc = 19260; + rLoc = 19232; rType = 0; vrLen = 1230; vrLoc = 19095; @@ -3197,7 +3204,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 778"; rLen = 0; - rLoc = 20198; + rLoc = 20170; rType = 0; vrLen = 888; vrLoc = 19848; @@ -3207,7 +3214,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 242"; rLen = 21; - rLoc = 10681; + rLoc = 10751; rType = 0; vrLen = 1649; vrLoc = 9279; @@ -3217,7 +3224,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 778"; rLen = 0; - rLoc = 20198; + rLoc = 20170; rType = 0; vrLen = 888; vrLoc = 19848; @@ -3227,7 +3234,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 778"; rLen = 0; - rLoc = 20198; + rLoc = 20170; rType = 0; vrLen = 888; vrLoc = 19848; @@ -3237,7 +3244,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 242"; rLen = 21; - rLoc = 10681; + rLoc = 10751; rType = 0; vrLen = 1649; vrLoc = 9279; @@ -3247,7 +3254,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1377"; rLen = 0; - rLoc = 35821; + rLoc = 35793; rType = 0; vrLen = 1004; vrLoc = 35364; @@ -3267,7 +3274,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1374"; rLen = 0; - rLoc = 35694; + rLoc = 35666; rType = 0; vrLen = 1029; vrLoc = 35339; @@ -3277,7 +3284,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 244"; rLen = 0; - rLoc = 10819; + rLoc = 10889; rType = 0; vrLen = 1748; vrLoc = 9243; @@ -3297,7 +3304,7 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1374"; rLen = 0; - rLoc = 35694; + rLoc = 35666; rType = 0; vrLen = 1029; vrLoc = 35339; @@ -3307,7 +3314,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 244"; rLen = 0; - rLoc = 10819; + rLoc = 10889; rType = 0; vrLen = 1748; vrLoc = 9243; @@ -3397,7 +3404,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 244"; rLen = 0; - rLoc = 10819; + rLoc = 10889; rType = 0; vrLen = 1712; vrLoc = 9279; @@ -3417,7 +3424,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 231"; rLen = 0; - rLoc = 9755; + rLoc = 9825; rType = 0; vrLen = 1876; vrLoc = 9284; @@ -3427,7 +3434,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 238"; rLen = 0; - rLoc = 10135; + rLoc = 10205; rType = 0; vrLen = 1874; vrLoc = 9284; @@ -3437,7 +3444,7 @@ fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; name = "DetourNavMesh.h: 238"; rLen = 0; - rLoc = 10135; + rLoc = 10205; rType = 0; vrLen = 1874; vrLoc = 9284; @@ -3447,11 +3454,79 @@ fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; name = "DetourNavMesh.cpp: 1337"; rLen = 0; - rLoc = 34584; + rLoc = 34556; rType = 0; vrLen = 785; vrLoc = 34471; }; + 6BE7321D10FE72B300C1B074 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; + name = "DetourNavMesh.h: 89"; + rLen = 7; + rLoc = 3342; + rType = 0; + vrLen = 1814; + vrLoc = 2673; + }; + 6BE7321E10FE72B300C1B074 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; + name = "DetourNavMeshBuilder.cpp: 507"; + rLen = 1; + rLoc = 13693; + rType = 0; + vrLen = 928; + vrLoc = 13419; + }; + 6BE7321F10FE72B300C1B074 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "error: cannot convert 'dtOffMeshLink' to 'dtOffMeshLink*' in initialization"; + fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; + rLen = 1; + rLoc = 393; + rType = 1; + }; + 6BE7322010FE72B300C1B074 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; + name = "DetourNavMesh.cpp: 454"; + rLen = 0; + rLoc = 11931; + rType = 0; + vrLen = 813; + vrLoc = 11629; + }; + 6BE7322110FE72B300C1B074 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; + name = "DetourNavMesh.h: 89"; + rLen = 7; + rLoc = 3342; + rType = 0; + vrLen = 1814; + vrLoc = 2673; + }; + 6BE7322210FE72B300C1B074 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; + name = "DetourNavMeshBuilder.cpp: 507"; + rLen = 1; + rLoc = 13693; + rType = 0; + vrLen = 928; + vrLoc = 13419; + }; + 6BE7322310FE72B300C1B074 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; + name = "DetourNavMesh.cpp: 430"; + rLen = 0; + rLoc = 11402; + rType = 0; + vrLen = 933; + vrLoc = 10991; + }; 8D1107260486CEB800E47090 /* Recast */ = { activeExec = 0; executables = ( diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 index 5056c68..e291954 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 @@ -281,7 +281,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 13 + 14 12 1 0 @@ -335,7 +335,7 @@ _historyCapacity 0 bookmark - 6BE7321910FE712A00C1B074 + 6BE7322310FE72B300C1B074 history 6B57D358108C66B200DDD053 @@ -375,7 +375,6 @@ 6BB35FED10FBD09300A9B4B8 6BB3601610FE561F00A9B4B8 6BB3601710FE561F00A9B4B8 - 6BB3602B10FE569B00A9B4B8 6BB3603D10FE59E200A9B4B8 6BB3605210FE5CBD00A9B4B8 6BB3605310FE5CBD00A9B4B8 @@ -384,8 +383,9 @@ 6BE7320210FE6CEF00C1B074 6BE7320C10FE6EBE00C1B074 6BE7321210FE70FE00C1B074 - 6BE7321710FE712A00C1B074 - 6BE7320310FE6CEF00C1B074 + 6BE7321D10FE72B300C1B074 + 6BE7321E10FE72B300C1B074 + 6BE7321F10FE72B300C1B074 prevStack @@ -427,6 +427,9 @@ 6BE7320F10FE6EBE00C1B074 6BE7321410FE70FE00C1B074 6BE7321810FE712A00C1B074 + 6BE7322010FE72B300C1B074 + 6BE7322110FE72B300C1B074 + 6BE7322210FE72B300C1B074 SplitCount @@ -466,8 +469,6 @@ Frame {{10, 27}, {952, 57}} - RubberWindowFrame - 11 76 1256 702 0 0 1280 778 Module XCDetailModule @@ -521,7 +522,9 @@ GeometryConfiguration Frame - {{10, 27}, {952, 84}} + {{10, 27}, {952, 57}} + RubberWindowFrame + 11 76 1256 702 0 0 1280 778 Module PBXBuildResultsModule