Fixes for issue 147, issue 143, issue 140

This commit is contained in:
Mikko Mononen 2010-11-21 14:59:58 +00:00
parent 2aa70cb497
commit 7fbcfa9c4b
6 changed files with 848 additions and 2489 deletions

View File

@ -106,7 +106,6 @@ public:
// Params:
// nav - (in) pointer to navigation mesh data.
// maxNodes - (in) Maximum number of search nodes to use (max 65536).
// Returns: True if succeed, else false.
dtStatus init(const dtNavMesh* nav, const int maxNodes);
// Finds the nearest navigation polygon around the center location.
@ -116,7 +115,6 @@ public:
// filter - (in) path polygon filter.
// nearestRef - (out) Reference to the nearest polygon.
// nearestPt[3] - (out, opt) The nearest point on found polygon, null if not needed.
// Returns: Reference identifier for the polygon, or 0 if no polygons found.
dtStatus findNearestPoly(const float* center, const float* extents,
const dtQueryFilter* filter,
dtPolyRef* nearestRef, float* nearestPt) const;

View File

@ -189,10 +189,10 @@ dtStatus dtNavMesh::init(const dtNavMeshParams* params)
m_tiles = (dtMeshTile*)dtAlloc(sizeof(dtMeshTile)*m_maxTiles, DT_ALLOC_PERM);
if (!m_tiles)
return DT_FAILURE;
return DT_FAILURE_OUT_OF_MEMORY;
m_posLookup = (dtMeshTile**)dtAlloc(sizeof(dtMeshTile*)*m_tileLutSize, DT_ALLOC_PERM);
if (!m_posLookup)
return DT_FAILURE;
return DT_FAILURE_OUT_OF_MEMORY;
memset(m_tiles, 0, sizeof(dtMeshTile)*m_maxTiles);
memset(m_posLookup, 0, sizeof(dtMeshTile*)*m_tileLutSize);
m_nextFree = 0;
@ -218,9 +218,9 @@ dtStatus dtNavMesh::init(unsigned char* data, const int dataSize, const int flag
// Make sure the data is in right format.
dtMeshHeader* header = (dtMeshHeader*)data;
if (header->magic != DT_NAVMESH_MAGIC)
return DT_FAILURE;
return DT_FAILURE_DATA_MAGIC;
if (header->version != DT_NAVMESH_VERSION)
return DT_FAILURE;
return DT_FAILURE_DATA_VERSION;
dtNavMeshParams params;
dtVcopy(params.orig, header->bmin);

View File

@ -251,7 +251,7 @@ void rcFreePolyMesh(rcPolyMesh* pmesh);
// Each submesh represents a polygon in the polymesh and they are stored in
// exactly same order. Each submesh is described as 4 values:
// base vertex, vertex count, base triangle, triangle count. That is,
// const unsigned char* t = &dmesh.tris[(tbase+i)*3]; and
// const unsigned char* t = &dmesh.tris[(tbase+i)*4]; and
// const float* v = &dmesh.verts[(vbase+t[j])*3];
// If the input polygon has 'n' vertices, those vertices are first in the
// submesh vertex list. This allows to compres the mesh by not storing the

File diff suppressed because it is too large Load Diff

View File

@ -284,14 +284,14 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>10</integer>
<integer>2</integer>
<integer>34</integer>
<integer>27</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 0}, {264, 622}}</string>
<string>{{0, 394}, {264, 622}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@ -326,7 +326,7 @@
<key>PBXProjectModuleGUID</key>
<string>6B8632A30F78115100E2684A</string>
<key>PBXProjectModuleLabel</key>
<string>DetourDebugDraw.cpp</string>
<string>RecastRegion.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -334,11 +334,11 @@
<key>PBXProjectModuleGUID</key>
<string>6B8632A40F78115100E2684A</string>
<key>PBXProjectModuleLabel</key>
<string>DetourDebugDraw.cpp</string>
<string>RecastRegion.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>6B74B7CC1286FAD800262888</string>
<string>6B6BECAF129968E50077F7A4</string>
<key>history</key>
<array>
<string>6B8D565F127ADB0D0077C699</string>
@ -349,36 +349,43 @@
<string>6B4DE64A128079E0001CFDF4</string>
<string>6B74B5F3128312AC00262888</string>
<string>6B74B5F4128312AC00262888</string>
<string>6B74B60F128312E900262888</string>
<string>6B74B626128314A500262888</string>
<string>6B74B627128314A500262888</string>
<string>6B74B628128314A500262888</string>
<string>6B74B62A128314A500262888</string>
<string>6B74B62B128314A500262888</string>
<string>6B74B66712869CE100262888</string>
<string>6B74B66F12869E3000262888</string>
<string>6B74B6D81286ABC000262888</string>
<string>6B74B6FC1286AE0B00262888</string>
<string>6B74B7061286AEBD00262888</string>
<string>6B74B7071286AEBD00262888</string>
<string>6B74B7601286BB6900262888</string>
<string>6B74B7611286BB6900262888</string>
<string>6B74B76B1286F56B00262888</string>
<string>6B74B76F1286F56B00262888</string>
<string>6B74B7761286F61200262888</string>
<string>6B74B7771286F61200262888</string>
<string>6B74B7801286F72D00262888</string>
<string>6B74B7811286F72D00262888</string>
<string>6B74B7821286F72D00262888</string>
<string>6B74B7831286F72D00262888</string>
<string>6B74B7841286F72D00262888</string>
<string>6B74B7901286F77500262888</string>
<string>6B74B7991286F7CD00262888</string>
<string>6B74B7AD1286F93000262888</string>
<string>6B74B7B21286F99100262888</string>
<string>6B74B7C01286FA5200262888</string>
<string>6B74B7C51286FAB500262888</string>
<string>6B74B7CB1286FAD800262888</string>
<string>6B74B7CD128D1BE600262888</string>
<string>6B6BE685129152770077F7A4</string>
<string>6B6BE686129152770077F7A4</string>
<string>6B6BE687129152770077F7A4</string>
<string>6B6BE689129152770077F7A4</string>
<string>6B6BE68B129152770077F7A4</string>
<string>6B6BE68C129152770077F7A4</string>
<string>6B6BE68D129152770077F7A4</string>
<string>6B6BEC2F12995D2A0077F7A4</string>
<string>6B6BEC3012995D2A0077F7A4</string>
<string>6B6BEC4712995DEA0077F7A4</string>
<string>6B6BEC4812995DEA0077F7A4</string>
<string>6B6BEC75129961C80077F7A4</string>
<string>6B6BEC7E129962F50077F7A4</string>
<string>6B6BECA51299680A0077F7A4</string>
<string>6B6BECA61299680A0077F7A4</string>
</array>
</dict>
<key>SplitCount</key>
@ -392,18 +399,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {914, 543}}</string>
<string>{{0, 0}, {914, 533}}</string>
<key>RubberWindowFrame</key>
<string>47 97 1200 681 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>543pt</string>
<string>533pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>93pt</string>
<string>102pt</string>
<key>Tabs</key>
<array>
<dict>
@ -417,7 +424,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {992, 49}}</string>
<string>{{10, 27}, {914, 75}}</string>
<key>RubberWindowFrame</key>
<string>47 97 1200 681 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@ -434,8 +443,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {914, 66}}</string>
<key>RubberWindowFrame</key>
<string>47 97 1200 681 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXProjectFindModule</string>
@ -501,11 +508,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>6B74B5DD1283104100262888</string>
<string>6B6BEC1A129959080077F7A4</string>
<string>1CA23ED40692098700951B8B</string>
<string>6B74B5DE1283104100262888</string>
<string>6B6BEC1B129959080077F7A4</string>
<string>6B8632A30F78115100E2684A</string>
<string>6B74B5DF1283104100262888</string>
<string>6B6BEC1C129959080077F7A4</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -555,12 +562,12 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {1200, 260}}</string>
<string>{{0, 0}, {1200, 281}}</string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Proportion</key>
<string>260pt</string>
<string>281pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
@ -579,8 +586,8 @@
<string>yes</string>
<key>sizes</key>
<array>
<string>{{0, 0}, {545, 112}}</string>
<string>{{545, 0}, {655, 112}}</string>
<string>{{0, 0}, {537, 98}}</string>
<string>{{537, 0}, {663, 98}}</string>
</array>
</dict>
<key>VerticalSplitView</key>
@ -595,8 +602,8 @@
<string>yes</string>
<key>sizes</key>
<array>
<string>{{0, 0}, {1200, 112}}</string>
<string>{{0, 112}, {1200, 263}}</string>
<string>{{0, 0}, {1200, 98}}</string>
<string>{{0, 98}, {1200, 256}}</string>
</array>
</dict>
</dict>
@ -616,7 +623,7 @@
<key>DebugSTDIOWindowFrame</key>
<string>{{200, 200}, {500, 300}}</string>
<key>Frame</key>
<string>{{0, 265}, {1200, 375}}</string>
<string>{{0, 286}, {1200, 354}}</string>
<key>PBXDebugSessionStackFrameViewKey</key>
<dict>
<key>DebugVariablesTableConfiguration</key>
@ -626,16 +633,16 @@
<string>Value</string>
<real>168</real>
<string>Summary</string>
<real>279</real>
<real>287</real>
</array>
<key>Frame</key>
<string>{{545, 0}, {655, 112}}</string>
<string>{{537, 0}, {663, 98}}</string>
</dict>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
<key>Proportion</key>
<string>375pt</string>
<string>354pt</string>
</dict>
</array>
<key>Name</key>
@ -653,14 +660,14 @@
</array>
<key>TableOfContents</key>
<array>
<string>6B74B5FD128312AC00262888</string>
<string>6B6BEC3312995D2A0077F7A4</string>
<string>1CCC7628064C1048000F2A68</string>
<string>1CCC7629064C1048000F2A68</string>
<string>6B74B5FE128312AC00262888</string>
<string>6B74B5FF128312AC00262888</string>
<string>6B74B600128312AC00262888</string>
<string>6B74B601128312AC00262888</string>
<string>6B74B602128312AC00262888</string>
<string>6B6BEC3412995D2A0077F7A4</string>
<string>6B6BEC3512995D2A0077F7A4</string>
<string>6B6BEC3612995D2A0077F7A4</string>
<string>6B6BEC3712995D2A0077F7A4</string>
<string>6B6BEC3812995D2A0077F7A4</string>
</array>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
@ -692,9 +699,9 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>6B74B7C81286FAB500262888</string>
<string>6B74B604128312AC00262888</string>
<string>6B74B605128312AC00262888</string>
<string>6B6BECB0129968E50077F7A4</string>
<string>6B6BEC3B12995D2A0077F7A4</string>
<string>6B6BEC3A12995D2A0077F7A4</string>
<string>/Users/memon/Code/recastnavigation/RecastDemo/Build/Xcode/Recast.xcodeproj</string>
</array>
<key>WindowString</key>