Issue 61: take 2, missing files.

This commit is contained in:
Mikko Mononen 2010-04-13 10:58:18 +00:00
parent 9bb95ef45b
commit 193f44a388
12 changed files with 69 additions and 76 deletions

View File

@ -55,9 +55,9 @@ struct duDebugDraw
virtual void end() = 0;
};
inline unsigned int duRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
inline unsigned int duRGBA(int r, int g, int b, int a)
{
return (r) | (g << 8) | (b << 16) | (a << 24);
return ((unsigned int)r) | ((unsigned int)g << 8) | ((unsigned int)b << 16) | ((unsigned int)a << 24);
}
inline unsigned int duRGBAf(float fr, float fg, float fb, float fa)

View File

@ -327,7 +327,7 @@ void duDebugDrawNavMesh(duDebugDraw* dd, const dtNavMesh* mesh, unsigned char fl
}
static void drawMeshTileBVTree(duDebugDraw* dd, const dtNavMesh* mesh, const dtMeshTile* tile)
static void drawMeshTileBVTree(duDebugDraw* dd, const dtMeshTile* tile)
{
// Draw BV nodes.
const float cs = 1.0f / tile->header->bvQuantFactor;
@ -437,7 +437,7 @@ void duDebugDrawNavMeshBVTree(duDebugDraw* dd, const dtNavMesh* mesh)
{
const dtMeshTile* tile = mesh->getTile(i);
if (!tile->header) continue;
drawMeshTileBVTree(dd, mesh, tile);
drawMeshTileBVTree(dd, tile);
}
}

View File

@ -22,7 +22,7 @@
#include "RecastDebugDraw.h"
#include "Recast.h"
void duDebugDrawTriMesh(duDebugDraw* dd, const float* verts, int nverts,
void duDebugDrawTriMesh(duDebugDraw* dd, const float* verts, int /*nverts*/,
const int* tris, const float* normals, int ntris,
const unsigned char* flags)
{
@ -43,7 +43,7 @@ void duDebugDrawTriMesh(duDebugDraw* dd, const float* verts, int nverts,
dd->end();
}
void duDebugDrawTriMeshSlope(duDebugDraw* dd, const float* verts, int nverts,
void duDebugDrawTriMeshSlope(duDebugDraw* dd, const float* verts, int /*nverts*/,
const int* tris, const float* normals, int ntris,
const float walkableSlopeAngle)
{

View File

@ -401,12 +401,12 @@ void dtNavMesh::connectExtOffMeshLinks(dtMeshTile* tile, dtMeshTile* target, int
unsigned int idx = allocLink(tile);
if (idx != DT_NULL_LINK)
{
unsigned short landPolyIdx = decodePolyIdPoly(ref);
const unsigned short landPolyIdx = (unsigned short)decodePolyIdPoly(ref);
dtPoly* landPoly = &tile->polys[landPolyIdx];
dtLink* link = &tile->links[idx];
link->ref = getTilePolyRefBase(target) | (unsigned int)(targetCon->poly);
link->edge = 0;
link->side = side;
link->side = (unsigned char)side;
link->bmin = link->bmax = 0;
// Add to linked list.
link->next = landPoly->firstLink;
@ -509,7 +509,7 @@ void dtNavMesh::connectIntOffMeshLinks(dtMeshTile* tile)
unsigned int idx = allocLink(tile);
if (idx != DT_NULL_LINK)
{
unsigned short landPolyIdx = decodePolyIdPoly(ref);
const unsigned short landPolyIdx = (unsigned short)decodePolyIdPoly(ref);
dtPoly* landPoly = &tile->polys[landPolyIdx];
dtLink* link = &tile->links[idx];
link->ref = base | (unsigned int)(con->poly);

View File

@ -67,7 +67,7 @@ static int compareItemZ(const void* va, const void* vb)
return 0;
}
static void calcExtends(BVItem* items, int nitems, int imin, int imax,
static void calcExtends(BVItem* items, const int /*nitems*/, const int imin, const int imax,
unsigned short* bmin, unsigned short* bmax)
{
bmin[0] = items[imin].bmin[0];
@ -166,10 +166,10 @@ static void subdivide(BVItem* items, int nitems, int imin, int imax, int& curNod
}
}
static int createBVTree(const unsigned short* verts, const int nverts,
static int createBVTree(const unsigned short* verts, const int /*nverts*/,
const unsigned short* polys, const int npolys, const int nvp,
float cs, float ch,
int nnodes, dtBVNode* nodes)
const float cs, const float ch,
const int /*nnodes*/, dtBVNode* nodes)
{
// Build tree
BVItem* items = new BVItem[npolys];
@ -490,14 +490,14 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
const int ndv = params->detailMeshes[i*4+1];
const int nv = navPolys[i].vertCount;
dtl.vertBase = vbase;
dtl.vertCount = ndv-nv;
dtl.vertCount = (unsigned short)(ndv-nv);
dtl.triBase = params->detailMeshes[i*4+2];
dtl.triCount = params->detailMeshes[i*4+3];
// Copy vertices except the first 'nv' verts which are equal to nav poly verts.
if (ndv-nv)
{
memcpy(&navDVerts[vbase*3], &params->detailVerts[(vb+nv)*3], sizeof(float)*3*(ndv-nv));
vbase += ndv-nv;
vbase += (unsigned short)(ndv-nv);
}
}
// Store triangles.
@ -516,7 +516,7 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
if (offMeshConClass[i*2+0] == 0xff)
{
dtOffMeshConnection* con = &offMeshCons[n];
con->poly = offMeshPolyBase + n;
con->poly = (unsigned short)(offMeshPolyBase + n);
// Copy connection end-points.
const float* endPts = &params->offMeshConVerts[i*2*3];
vcopy(&con->pos[0], &endPts[0]);
@ -576,7 +576,7 @@ inline void swapEndian(float* v)
swapByte(x+0, x+3); swapByte(x+1, x+2);
}
bool dtNavMeshHeaderSwapEndian(unsigned char* data, const int dataSize)
bool dtNavMeshHeaderSwapEndian(unsigned char* data, const int /*dataSize*/)
{
dtMeshHeader* header = (dtMeshHeader*)data;
@ -621,7 +621,7 @@ bool dtNavMeshHeaderSwapEndian(unsigned char* data, const int dataSize)
return true;
}
bool dtNavMeshDataSwapEndian(unsigned char* data, const int dataSize)
bool dtNavMeshDataSwapEndian(unsigned char* data, const int /*dataSize*/)
{
// Make sure the data is in right format.
dtMeshHeader* header = (dtMeshHeader*)data;

View File

@ -460,8 +460,8 @@ void rcRasterizeTriangle(const float* v0, const float* v1, const float* v2,
// nt - (in) triangle count
// solid - (in) heighfield where the triangles are rasterized
// flagMergeThr - (in) distance in voxel where walkable flag is favored over non-walkable.
void rcRasterizeTriangles(const float* verts, int nv,
const int* tris, const unsigned char* flags, int nt,
void rcRasterizeTriangles(const float* verts, const int nv,
const int* tris, const unsigned char* flags, const int nt,
rcHeightfield& solid, const int flagMergeThr = 1);
// Rasterizes indexed triangle mesh into heightfield spans.
@ -473,8 +473,8 @@ void rcRasterizeTriangles(const float* verts, int nv,
// nt - (in) triangle count
// solid - (in) heighfield where the triangles are rasterized
// flagMergeThr - (in) distance in voxel where walkable flag is favored over non-walkable.
void rcRasterizeTriangles(const float* verts, int nv,
const unsigned short* tris, const unsigned char* flags, int nt,
void rcRasterizeTriangles(const float* verts, const int nv,
const unsigned short* tris, const unsigned char* flags, const int nt,
rcHeightfield& solid, const int flagMergeThr = 1);
// Rasterizes the triangles into heightfield spans.
@ -483,7 +483,7 @@ void rcRasterizeTriangles(const float* verts, int nv,
// flags - (in) array of triangle flags (uses WALKABLE)
// nt - (in) triangle count
// solid - (in) heighfield where the triangles are rasterized
void rcRasterizeTriangles(const float* verts, const unsigned char* flags, int nt,
void rcRasterizeTriangles(const float* verts, const unsigned char* flags, const int nt,
rcHeightfield& solid, const int flagMergeThr = 1);
// Marks non-walkable low obstacles as walkable if they are closer than walkableClimb

View File

@ -87,7 +87,7 @@ static void calcTriNormal(const float* v0, const float* v1, const float* v2, flo
}
void rcMarkWalkableTriangles(const float walkableSlopeAngle,
const float* verts, int nv,
const float* verts, int /*nv*/,
const int* tris, int nt,
unsigned char* flags)
{

View File

@ -183,9 +183,9 @@ static void walkContour(int x, int y, int i,
}
}
static float distancePtSeg(int x, int y, int z,
int px, int py, int pz,
int qx, int qy, int qz)
static float distancePtSeg(const int x, const int z,
const int px, const int pz,
const int qx, const int qz)
{
/* float pqx = (float)(qx - px);
float pqy = (float)(qy - py);
@ -309,15 +309,13 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
{
int ii = (i+1) % (simplified.size()/4);
int ax = simplified[i*4+0];
int ay = simplified[i*4+1];
int az = simplified[i*4+2];
int ai = simplified[i*4+3];
const int ax = simplified[i*4+0];
const int az = simplified[i*4+2];
const int ai = simplified[i*4+3];
int bx = simplified[ii*4+0];
int by = simplified[ii*4+1];
int bz = simplified[ii*4+2];
int bi = simplified[ii*4+3];
const int bx = simplified[ii*4+0];
const int bz = simplified[ii*4+2];
const int bi = simplified[ii*4+3];
// Find maximum deviation from the segment.
float maxd = 0;
@ -346,8 +344,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
{
while (ci != endi)
{
float d = distancePtSeg(points[ci*4+0], points[ci*4+1]/4, points[ci*4+2],
ax, ay/4, az, bx, by/4, bz);
float d = distancePtSeg(points[ci*4+0], points[ci*4+2], ax, az, bx, bz);
if (d > maxd)
{
maxd = d;
@ -364,7 +361,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
{
// Add space for the new point.
simplified.resize(simplified.size()+4);
int n = simplified.size()/4;
const int n = simplified.size()/4;
for (int j = n-1; j > i; --j)
{
simplified[j*4+0] = simplified[(j-1)*4+0];
@ -389,15 +386,15 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
{
for (int i = 0; i < simplified.size()/4; )
{
int ii = (i+1) % (simplified.size()/4);
const int ii = (i+1) % (simplified.size()/4);
int ax = simplified[i*4+0];
int az = simplified[i*4+2];
int ai = simplified[i*4+3];
const int ax = simplified[i*4+0];
const int az = simplified[i*4+2];
const int ai = simplified[i*4+3];
int bx = simplified[ii*4+0];
int bz = simplified[ii*4+2];
int bi = simplified[ii*4+3];
const int bx = simplified[ii*4+0];
const int bz = simplified[ii*4+2];
const int bi = simplified[ii*4+3];
// Find maximum deviation from the segment.
int maxi = -1;
@ -421,7 +418,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
{
// Add space for the new point.
simplified.resize(simplified.size()+4);
int n = simplified.size()/4;
const int n = simplified.size()/4;
for (int j = n-1; j > i; --j)
{
simplified[j*4+0] = simplified[(j-1)*4+0];

View File

@ -70,7 +70,7 @@ static bool buildMeshAdjacency(unsigned short* polys, const int npolys,
edge.polyEdge[1] = 0;
// Insert edge
nextEdge[edgeCount] = firstEdge[v0];
firstEdge[v0] = edgeCount;
firstEdge[v0] = (unsigned short)edgeCount;
edgeCount++;
}
}
@ -130,8 +130,8 @@ inline int computeVertexHash(int x, int y, int z)
return (int)(n & (VERTEX_BUCKET_COUNT-1));
}
static int addVertex(unsigned short x, unsigned short y, unsigned short z,
unsigned short* verts, int* firstVert, int* nextVert, int& nv)
static unsigned short addVertex(unsigned short x, unsigned short y, unsigned short z,
unsigned short* verts, int* firstVert, int* nextVert, int& nv)
{
int bucket = computeVertexHash(x, 0, z);
int i = firstVert[bucket];
@ -140,7 +140,7 @@ static int addVertex(unsigned short x, unsigned short y, unsigned short z,
{
const unsigned short* v = &verts[i*3];
if (v[0] == x && (rcAbs(v[1] - y) <= 2) && v[2] == z)
return i;
return (unsigned short)i;
i = nextVert[i]; // next
}
@ -153,7 +153,7 @@ static int addVertex(unsigned short x, unsigned short y, unsigned short z,
nextVert[i] = firstVert[bucket];
firstVert[bucket] = i;
return i;
return (unsigned short)i;
}
inline int prev(int i, int n) { return i-1 >= 0 ? i-1 : n-1; }
@ -748,7 +748,7 @@ static int removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int ma
// Merge polygons.
if (nvp > 3)
{
while (true)
for (;;)
{
// Find best polygons to merge.
int bestMergeVal = 0;
@ -996,7 +996,7 @@ bool rcBuildPolyMesh(rcContourSet& cset, int nvp, rcPolyMesh& mesh)
// Merge polygons.
if (nvp > 3)
{
while (true)
for(;;)
{
// Find best polygons to merge.
int bestMergeVal = 0;
@ -1063,7 +1063,7 @@ bool rcBuildPolyMesh(rcContourSet& cset, int nvp, rcPolyMesh& mesh)
{
if (vflags[i])
{
int res = removeVertex(mesh, i, maxTris);
int res = removeVertex(mesh, (unsigned short)i, maxTris);
if (!res)
{
// Failed to remove vertex

View File

@ -160,7 +160,7 @@ static float distancePtSeg2d(const float* pt, const float* p, const float* q)
return dx*dx + dz*dz;
}
static float distToTriMesh(const float* p, const float* verts, int nverts, const int* tris, int ntris)
static float distToTriMesh(const float* p, const float* verts, const int /*nverts*/, const int* tris, const int ntris)
{
float dmin = FLT_MAX;
for (int i = 0; i < ntris; ++i)
@ -194,7 +194,9 @@ static float distToPoly(int nvert, const float* verts, const float* p)
}
static unsigned short getHeight(const float fx, const float fy, const float fz, const float cs, const float ics, const float ch, const rcHeightPatch& hp)
static unsigned short getHeight(const float fx, const float fy, const float fz,
const float /*cs*/, const float ics, const float ch,
const rcHeightPatch& hp)
{
int ix = (int)floorf(fx*ics + 0.01f);
int iz = (int)floorf(fz*ics + 0.01f);
@ -1070,9 +1072,9 @@ bool rcBuildPolyMeshDetail(const rcPolyMesh& mesh, const rcCompactHeightfield& c
// Store detail submesh.
const int ntris = tris.size()/4;
dmesh.meshes[i*4+0] = dmesh.nverts;
dmesh.meshes[i*4+0] = (unsigned short)dmesh.nverts;
dmesh.meshes[i*4+1] = (unsigned short)nverts;
dmesh.meshes[i*4+2] = dmesh.ntris;
dmesh.meshes[i*4+2] = (unsigned short)dmesh.ntris;
dmesh.meshes[i*4+3] = (unsigned short)ntris;
// Store vertices, allocate more memory if necessary.
@ -1189,9 +1191,9 @@ bool rcMergePolyMeshDetails(rcPolyMeshDetail** meshes, const int nmeshes, rcPoly
{
unsigned short* dst = &mesh.meshes[mesh.nmeshes*4];
unsigned short* src = &dm->meshes[j*4];
dst[0] = mesh.nverts+src[0];
dst[0] = (unsigned short)mesh.nverts+src[0];
dst[1] = src[1];
dst[2] = mesh.ntris+src[2];
dst[2] = (unsigned short)mesh.ntris+src[2];
dst[3] = src[3];
mesh.nmeshes++;
}

View File

@ -284,8 +284,8 @@ void rcRasterizeTriangle(const float* v0, const float* v1, const float* v2,
rcGetBuildTimes()->rasterizeTriangles += rcGetDeltaTimeUsec(startTime, endTime);
}
void rcRasterizeTriangles(const float* verts, int nv,
const int* tris, const unsigned char* flags, int nt,
void rcRasterizeTriangles(const float* verts, const int /*nv*/,
const int* tris, const unsigned char* flags, const int nt,
rcHeightfield& solid, const int flagMergeThr)
{
rcTimeVal startTime = rcGetPerformanceTimer();
@ -308,8 +308,8 @@ void rcRasterizeTriangles(const float* verts, int nv,
rcGetBuildTimes()->rasterizeTriangles += rcGetDeltaTimeUsec(startTime, endTime);
}
void rcRasterizeTriangles(const float* verts, int nv,
const unsigned short* tris, const unsigned char* flags, int nt,
void rcRasterizeTriangles(const float* verts, const int /*nv*/,
const unsigned short* tris, const unsigned char* flags, const int nt,
rcHeightfield& solid, const int flagMergeThr)
{
rcTimeVal startTime = rcGetPerformanceTimer();
@ -332,7 +332,7 @@ void rcRasterizeTriangles(const float* verts, int nv,
rcGetBuildTimes()->rasterizeTriangles += rcGetDeltaTimeUsec(startTime, endTime);
}
void rcRasterizeTriangles(const float* verts, const unsigned char* flags, int nt,
void rcRasterizeTriangles(const float* verts, const unsigned char* flags, const int nt,
rcHeightfield& solid, const int flagMergeThr)
{
rcTimeVal startTime = rcGetPerformanceTimer();

View File

@ -27,9 +27,7 @@
#include "RecastTimer.h"
static unsigned short* calculateDistanceField(rcCompactHeightfield& chf,
unsigned short* src, unsigned short* dst,
unsigned short& maxDist)
static void calculateDistanceField(rcCompactHeightfield& chf, unsigned short* src, unsigned short& maxDist)
{
const int w = chf.width;
const int h = chf.height;
@ -180,8 +178,6 @@ static unsigned short* calculateDistanceField(rcCompactHeightfield& chf,
for (int i = 0; i < chf.spanCount; ++i)
maxDist = rcMax(src[i], maxDist);
return src;
}
static unsigned short* boxBlur(rcCompactHeightfield& chf, int thr,
@ -200,14 +196,14 @@ static unsigned short* boxBlur(rcCompactHeightfield& chf, int thr,
for (int i = (int)c.index, ni = (int)(c.index+c.count); i < ni; ++i)
{
const rcCompactSpan& s = chf.spans[i];
int cd = (int)src[i];
const unsigned short cd = src[i];
if (cd <= thr)
{
dst[i] = cd;
continue;
}
int d = cd;
int d = (int)cd;
for (int dir = 0; dir < 4; ++dir)
{
if (rcGetCon(s, dir) != RC_NOT_CONNECTED)
@ -508,7 +504,7 @@ static bool canMergeWithRegion(const rcRegion& rega, const rcRegion& regb)
return true;
}
static void addUniqueFloorRegion(rcRegion& reg, unsigned short n)
static void addUniqueFloorRegion(rcRegion& reg, int n)
{
for (int i = 0; i < reg.floors.size(); ++i)
if (reg.floors[i] == n)
@ -920,9 +916,7 @@ bool rcBuildDistanceField(rcCompactHeightfield& chf)
rcTimeVal distStartTime = rcGetPerformanceTimer();
if (calculateDistanceField(chf, src, dst, maxDist) != src)
rcSwap(src, dst);
calculateDistanceField(chf, src, maxDist);
chf.maxDistance = maxDist;
rcTimeVal distEndTime = rcGetPerformanceTimer();