aboutsummaryrefslogtreecommitdiff
path: root/dep/recastnavigation/Recast/Source
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2015-06-28 19:51:59 +0200
committerDDuarte <dnpd.dd@gmail.com>2015-06-29 15:52:57 +0100
commita48f8f4de9c0fc8251fdbb90a09be9e64fc6a19e (patch)
tree4df32186bd3a93150021a0592d723d6c51cdad55 /dep/recastnavigation/Recast/Source
parenta51300f8142d5ef2a7965ec4c5be97c5fc1cf33b (diff)
Core/Dependencies: Update recast
Update recast to https://github.com/memononen/recastnavigation/commit/1dd5cf1883d61e723fef3d4957cf758c50e7a52b Fix 2 warnings. These changes have no effect on MMAPs and it's not needed to re-extact them. (cherry picked from commit dfa556aaa2fd60f881845d381f71294b945396f6) Conflicts: dep/PackageList.txt
Diffstat (limited to 'dep/recastnavigation/Recast/Source')
-rw-r--r--dep/recastnavigation/Recast/Source/Recast.cpp8
-rw-r--r--dep/recastnavigation/Recast/Source/RecastContour.cpp2
-rw-r--r--dep/recastnavigation/Recast/Source/RecastLayers.cpp18
-rw-r--r--dep/recastnavigation/Recast/Source/RecastMesh.cpp7
-rw-r--r--dep/recastnavigation/Recast/Source/RecastMeshDetail.cpp50
-rw-r--r--dep/recastnavigation/Recast/Source/RecastRasterization.cpp2
-rw-r--r--dep/recastnavigation/Recast/Source/RecastRegion.cpp2
7 files changed, 41 insertions, 48 deletions
diff --git a/dep/recastnavigation/Recast/Source/Recast.cpp b/dep/recastnavigation/Recast/Source/Recast.cpp
index b9d86036c3f..59d99609446 100644
--- a/dep/recastnavigation/Recast/Source/Recast.cpp
+++ b/dep/recastnavigation/Recast/Source/Recast.cpp
@@ -238,7 +238,7 @@ static void calcTriNormal(const float* v0, const float* v1, const float* v2, flo
/// @par
///
-/// Only sets the aread id's for the walkable triangles. Does not alter the
+/// Only sets the area id's for the walkable triangles. Does not alter the
/// area id's for unwalkable triangles.
///
/// See the #rcConfig documentation for more information on the configuration parameters.
@@ -267,7 +267,7 @@ void rcMarkWalkableTriangles(rcContext* ctx, const float walkableSlopeAngle,
/// @par
///
-/// Only sets the aread id's for the unwalkable triangles. Does not alter the
+/// Only sets the area id's for the unwalkable triangles. Does not alter the
/// area id's for walkable triangles.
///
/// See the #rcConfig documentation for more information on the configuration parameters.
@@ -318,7 +318,7 @@ int rcGetHeightFieldSpanCount(rcContext* ctx, rcHeightfield& hf)
/// @par
///
/// This is just the beginning of the process of fully building a compact heightfield.
-/// Various filters may be applied applied, then the distance field and regions built.
+/// Various filters may be applied, then the distance field and regions built.
/// E.g: #rcBuildDistanceField and #rcBuildRegions
///
/// See the #rcConfig documentation for more information on the configuration parameters.
@@ -486,4 +486,4 @@ static int getCompactHeightFieldMemoryusage(const rcCompactHeightfield& chf)
size += sizeof(rcCompactCell) * chf.width * chf.height;
return size;
}
-*/ \ No newline at end of file
+*/
diff --git a/dep/recastnavigation/Recast/Source/RecastContour.cpp b/dep/recastnavigation/Recast/Source/RecastContour.cpp
index 8aa9d1d92a1..a7be6691f3e 100644
--- a/dep/recastnavigation/Recast/Source/RecastContour.cpp
+++ b/dep/recastnavigation/Recast/Source/RecastContour.cpp
@@ -464,7 +464,7 @@ static int calcAreaOfPolygon2D(const int* verts, const int nverts)
}
// TODO: these are the same as in RecastMesh.cpp, consider using the same.
-
+// Last time I checked the if version got compiled using cmov, which was a lot faster than module (with idiv).
inline int prev(int i, int n) { return i-1 >= 0 ? i-1 : n-1; }
inline int next(int i, int n) { return i+1 < n ? i+1 : 0; }
diff --git a/dep/recastnavigation/Recast/Source/RecastLayers.cpp b/dep/recastnavigation/Recast/Source/RecastLayers.cpp
index cb1a39f4bda..41458c1ea68 100644
--- a/dep/recastnavigation/Recast/Source/RecastLayers.cpp
+++ b/dep/recastnavigation/Recast/Source/RecastLayers.cpp
@@ -38,7 +38,7 @@ struct rcLayerRegion
unsigned char layerId; // Layer ID
unsigned char nlayers; // Layer count
unsigned char nneis; // Neighbour count
- unsigned char base; // Flag indicating if the region is the base of merged regions.
+ unsigned char base; // Flag indicating if the region is the base of merged regions.
};
@@ -293,7 +293,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
for (int i = 0; i < nregs; ++i)
{
rcLayerRegion& root = regs[i];
- // Skip alreadu visited.
+ // Skip already visited.
if (root.layerId != 0xff)
continue;
@@ -368,7 +368,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
rcLayerRegion& rj = regs[j];
if (!rj.base) continue;
- // Skip if teh regions are not close to each other.
+ // Skip if the regions are not close to each other.
if (!overlapRange(ri.ymin,ri.ymax+mergeHeight, rj.ymin,rj.ymax+mergeHeight))
continue;
// Skip if the height range would become too large.
@@ -377,7 +377,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
if ((ymax - ymin) >= 255)
continue;
- // Make sure that there is no overlap when mergin 'ri' and 'rj'.
+ // Make sure that there is no overlap when merging 'ri' and 'rj'.
bool overlap = false;
// Iterate over all regions which have the same layerId as 'rj'
for (int k = 0; k < nregs; ++k)
@@ -417,7 +417,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
// Add overlaid layers from 'rj' to 'ri'.
for (int k = 0; k < rj.nlayers; ++k)
addUnique(ri.layers, ri.nlayers, rj.layers[k]);
- // Update heigh bounds.
+ // Update height bounds.
ri.ymin = rcMin(ri.ymin, rj.ymin);
ri.ymax = rcMax(ri.ymax, rj.ymax);
}
@@ -481,10 +481,8 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
for (int i = 0; i < lset.nlayers; ++i)
{
unsigned char curId = (unsigned char)i;
-
- // Allocate memory for the current layer.
+
rcHeightfieldLayer* layer = &lset.layers[i];
- memset(layer, 0, sizeof(rcHeightfieldLayer));
const int gridSize = sizeof(unsigned char)*lw*lh;
@@ -528,7 +526,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
layer->cs = chf.cs;
layer->ch = chf.ch;
- // Adjust the bbox to fit the heighfield.
+ // Adjust the bbox to fit the heightfield.
rcVcopy(layer->bmin, bmin);
rcVcopy(layer->bmax, bmax);
layer->bmin[1] = bmin[1] + hmin*chf.ch;
@@ -542,7 +540,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
layer->miny = layer->height;
layer->maxy = 0;
- // Copy height and area from compact heighfield.
+ // Copy height and area from compact heightfield.
for (int y = 0; y < lh; ++y)
{
for (int x = 0; x < lw; ++x)
diff --git a/dep/recastnavigation/Recast/Source/RecastMesh.cpp b/dep/recastnavigation/Recast/Source/RecastMesh.cpp
index e4f9c4b3629..c8853444019 100644
--- a/dep/recastnavigation/Recast/Source/RecastMesh.cpp
+++ b/dep/recastnavigation/Recast/Source/RecastMesh.cpp
@@ -160,6 +160,7 @@ static unsigned short addVertex(unsigned short x, unsigned short y, unsigned sho
return (unsigned short)i;
}
+// Last time I checked the if version got compiled using cmov, which was a lot faster than module (with idiv).
inline int prev(int i, int n) { return i-1 >= 0 ? i-1 : n-1; }
inline int next(int i, int n) { return i+1 < n ? i+1 : 0; }
@@ -746,7 +747,7 @@ static bool removeVertex(rcContext* ctx, rcPolyMesh& mesh, const unsigned short
}
// Remove vertex.
- for (int i = (int)rem; i < mesh.nverts; ++i)
+ for (int i = (int)rem; i < mesh.nverts - 1; ++i)
{
mesh.verts[i*3+0] = mesh.verts[(i+1)*3+0];
mesh.verts[i*3+1] = mesh.verts[(i+1)*3+1];
@@ -836,7 +837,7 @@ static bool removeVertex(rcContext* ctx, rcPolyMesh& mesh, const unsigned short
}
rcScopedDelete<int> thole = (int*)rcAlloc(sizeof(int)*nhole, RC_ALLOC_TEMP);
- if (!tverts)
+ if (!thole)
{
ctx->log(RC_LOG_WARNING, "removeVertex: Out of memory 'thole' (%d).", nhole);
return false;
@@ -875,7 +876,7 @@ static bool removeVertex(rcContext* ctx, rcPolyMesh& mesh, const unsigned short
return false;
}
rcScopedDelete<unsigned char> pareas = (unsigned char*)rcAlloc(sizeof(unsigned char)*ntris, RC_ALLOC_TEMP);
- if (!pregs)
+ if (!pareas)
{
ctx->log(RC_LOG_ERROR, "removeVertex: Out of memory 'pareas' (%d).", ntris);
return false;
diff --git a/dep/recastnavigation/Recast/Source/RecastMeshDetail.cpp b/dep/recastnavigation/Recast/Source/RecastMeshDetail.cpp
index 5cc2adf0320..56b059d7dd5 100644
--- a/dep/recastnavigation/Recast/Source/RecastMeshDetail.cpp
+++ b/dep/recastnavigation/Recast/Source/RecastMeshDetail.cpp
@@ -237,8 +237,8 @@ static unsigned short getHeight(const float fx, const float fy, const float fz,
enum EdgeValues
{
- UNDEF = -1,
- HULL = -2,
+ EV_UNDEF = -1,
+ EV_HULL = -2,
};
static int findEdge(const int* edges, int nedges, int s, int t)
@@ -249,7 +249,7 @@ static int findEdge(const int* edges, int nedges, int s, int t)
if ((e[0] == s && e[1] == t) || (e[0] == t && e[1] == s))
return i;
}
- return UNDEF;
+ return EV_UNDEF;
}
static int addEdge(rcContext* ctx, int* edges, int& nedges, const int maxEdges, int s, int t, int l, int r)
@@ -257,12 +257,12 @@ static int addEdge(rcContext* ctx, int* edges, int& nedges, const int maxEdges,
if (nedges >= maxEdges)
{
ctx->log(RC_LOG_ERROR, "addEdge: Too many edges (%d/%d).", nedges, maxEdges);
- return UNDEF;
+ return EV_UNDEF;
}
// Add edge if not already in the triangulation.
int e = findEdge(edges, nedges, s, t);
- if (e == UNDEF)
+ if (e == EV_UNDEF)
{
int* edge = &edges[nedges*4];
edge[0] = s;
@@ -273,15 +273,15 @@ static int addEdge(rcContext* ctx, int* edges, int& nedges, const int maxEdges,
}
else
{
- return UNDEF;
+ return EV_UNDEF;
}
}
static void updateLeftFace(int* e, int s, int t, int f)
{
- if (e[0] == s && e[1] == t && e[2] == UNDEF)
+ if (e[0] == s && e[1] == t && e[2] == EV_UNDEF)
e[2] = f;
- else if (e[1] == s && e[0] == t && e[3] == UNDEF)
+ else if (e[1] == s && e[0] == t && e[3] == EV_UNDEF)
e[3] = f;
}
@@ -322,12 +322,12 @@ static void completeFacet(rcContext* ctx, const float* pts, int npts, int* edges
// Cache s and t.
int s,t;
- if (edge[2] == UNDEF)
+ if (edge[2] == EV_UNDEF)
{
s = edge[0];
t = edge[1];
}
- else if (edge[3] == UNDEF)
+ else if (edge[3] == EV_UNDEF)
{
s = edge[1];
t = edge[0];
@@ -390,15 +390,15 @@ static void completeFacet(rcContext* ctx, const float* pts, int npts, int* edges
// Add new edge or update face info of old edge.
e = findEdge(edges, nedges, pt, s);
- if (e == UNDEF)
- addEdge(ctx, edges, nedges, maxEdges, pt, s, nfaces, UNDEF);
+ if (e == EV_UNDEF)
+ addEdge(ctx, edges, nedges, maxEdges, pt, s, nfaces, EV_UNDEF);
else
updateLeftFace(&edges[e*4], pt, s, nfaces);
// Add new edge or update face info of old edge.
e = findEdge(edges, nedges, t, pt);
- if (e == UNDEF)
- addEdge(ctx, edges, nedges, maxEdges, t, pt, nfaces, UNDEF);
+ if (e == EV_UNDEF)
+ addEdge(ctx, edges, nedges, maxEdges, t, pt, nfaces, EV_UNDEF);
else
updateLeftFace(&edges[e*4], t, pt, nfaces);
@@ -406,7 +406,7 @@ static void completeFacet(rcContext* ctx, const float* pts, int npts, int* edges
}
else
{
- updateLeftFace(&edges[e*4], s, t, HULL);
+ updateLeftFace(&edges[e*4], s, t, EV_HULL);
}
}
@@ -420,14 +420,14 @@ static void delaunayHull(rcContext* ctx, const int npts, const float* pts,
edges.resize(maxEdges*4);
for (int i = 0, j = nhull-1; i < nhull; j=i++)
- addEdge(ctx, &edges[0], nedges, maxEdges, hull[j],hull[i], HULL, UNDEF);
+ addEdge(ctx, &edges[0], nedges, maxEdges, hull[j],hull[i], EV_HULL, EV_UNDEF);
int currentEdge = 0;
while (currentEdge < nedges)
{
- if (edges[currentEdge*4+2] == UNDEF)
+ if (edges[currentEdge*4+2] == EV_UNDEF)
completeFacet(ctx, pts, npts, &edges[0], nedges, maxEdges, nfaces, currentEdge);
- if (edges[currentEdge*4+3] == UNDEF)
+ if (edges[currentEdge*4+3] == EV_UNDEF)
completeFacet(ctx, pts, npts, &edges[0], nedges, maxEdges, nfaces, currentEdge);
currentEdge++;
}
@@ -507,17 +507,11 @@ static float polyMinExtent(const float* verts, const int nverts)
return rcSqrt(minDist);
}
-inline int next(int i, int n)
-{
- return (i+1) % n;
-}
-
-inline int prev(int i, int n)
-{
- return (i + n-1) % n;
-}
+// Last time I checked the if version got compiled using cmov, which was a lot faster than module (with idiv).
+inline int prev(int i, int n) { return i-1 >= 0 ? i-1 : n-1; }
+inline int next(int i, int n) { return i+1 < n ? i+1 : 0; }
-static void triangulateHull(const int nverts, const float* verts, const int nhull, const int* hull, rcIntArray& tris)
+static void triangulateHull(const int /*nverts*/, const float* verts, const int nhull, const int* hull, rcIntArray& tris)
{
int start = 0, left = 1, right = nhull-1;
diff --git a/dep/recastnavigation/Recast/Source/RecastRasterization.cpp b/dep/recastnavigation/Recast/Source/RecastRasterization.cpp
index 45a7d35bf3e..c3bda80cd71 100644
--- a/dep/recastnavigation/Recast/Source/RecastRasterization.cpp
+++ b/dep/recastnavigation/Recast/Source/RecastRasterization.cpp
@@ -50,7 +50,7 @@ static rcSpan* allocSpan(rcHeightfield& hf)
// Allocate memory for the new pool.
rcSpanPool* pool = (rcSpanPool*)rcAlloc(sizeof(rcSpanPool), RC_ALLOC_PERM);
if (!pool) return 0;
- pool->next = 0;
+
// Add the pool into the list of pools.
pool->next = hf.pools;
hf.pools = pool;
diff --git a/dep/recastnavigation/Recast/Source/RecastRegion.cpp b/dep/recastnavigation/Recast/Source/RecastRegion.cpp
index 38bc4ff476f..352ba579e5f 100644
--- a/dep/recastnavigation/Recast/Source/RecastRegion.cpp
+++ b/dep/recastnavigation/Recast/Source/RecastRegion.cpp
@@ -1041,7 +1041,7 @@ static void addUniqueConnection(rcRegion& reg, int n)
static bool mergeAndFilterLayerRegions(rcContext* ctx, int minRegionArea,
unsigned short& maxRegionId,
rcCompactHeightfield& chf,
- unsigned short* srcReg, rcIntArray& overlaps)
+ unsigned short* srcReg, rcIntArray& /*overlaps*/)
{
const int w = chf.width;
const int h = chf.height;