diff --git a/RecastDemo/Bin/Recast.exe b/RecastDemo/Bin/Recast.exe
index 5b90d98..af9db62 100644
Binary files a/RecastDemo/Bin/Recast.exe and b/RecastDemo/Bin/Recast.exe differ
diff --git a/RecastDemo/Build/VC9/Recast.vcproj b/RecastDemo/Build/VC9/Recast.vcproj
index 5dcfae6..717952c 100644
--- a/RecastDemo/Build/VC9/Recast.vcproj
+++ b/RecastDemo/Build/VC9/Recast.vcproj
@@ -299,6 +299,10 @@
RelativePath="..\..\Include\ConvexVolumeTool.h"
>
+
+
@@ -343,6 +347,14 @@
RelativePath="..\..\Include\Sample_TileMesh.h"
>
+
+
+
+
@@ -363,6 +375,10 @@
RelativePath="..\..\Source\ConvexVolumeTool.cpp"
>
+
+
@@ -411,6 +427,10 @@
RelativePath="..\..\Source\Sample_TileMesh.cpp"
>
+
+
diff --git a/RecastDemo/Contrib/stb_image.h b/RecastDemo/Contrib/stb_image.h
index 404819f..aedc64e 100644
--- a/RecastDemo/Contrib/stb_image.h
+++ b/RecastDemo/Contrib/stb_image.h
@@ -819,13 +819,13 @@ static stbi_uc *hdr_to_ldr(float *data, int x, int y, int comp)
float z = (float) pow(data[i*comp+k]*h2l_scale_i, h2l_gamma_i) * 255 + 0.5f;
if (z < 0) z = 0;
if (z > 255) z = 255;
- output[i*comp + k] = float2int(z);
+ output[i*comp + k] = (stbi_uc)float2int(z);
}
if (k < comp) {
float z = data[i*comp+k] * 255 + 0.5f;
if (z < 0) z = 0;
if (z > 255) z = 255;
- output[i*comp + k] = float2int(z);
+ output[i*comp + k] = (stbi_uc)float2int(z);
}
}
free(data);
@@ -1585,12 +1585,12 @@ typedef uint8 *(*resample_row_func)(uint8 *out, uint8 *in0, uint8 *in1,
#define div4(x) ((uint8) ((x) >> 2))
-static uint8 *resample_row_1(uint8 *out, uint8 *in_near, uint8 *in_far, int w, int hs)
+static uint8 *resample_row_1(uint8 * /*out*/, uint8 *in_near, uint8 * /*in_far*/, int /*w*/, int /*hs*/)
{
return in_near;
}
-static uint8* resample_row_v_2(uint8 *out, uint8 *in_near, uint8 *in_far, int w, int hs)
+static uint8* resample_row_v_2(uint8 *out, uint8 *in_near, uint8 * in_far, int w, int /*hs*/)
{
// need to generate two samples vertically for every one in input
int i;
@@ -1599,7 +1599,7 @@ static uint8* resample_row_v_2(uint8 *out, uint8 *in_near, uint8 *in_far, int w,
return out;
}
-static uint8* resample_row_h_2(uint8 *out, uint8 *in_near, uint8 *in_far, int w, int hs)
+static uint8* resample_row_h_2(uint8 *out, uint8 *in_near, uint8 * /*in_far*/, int w, int /*hs*/)
{
// need to generate two samples horizontally for every one in input
int i;
@@ -1624,7 +1624,7 @@ static uint8* resample_row_h_2(uint8 *out, uint8 *in_near, uint8 *in_far, int w
#define div16(x) ((uint8) ((x) >> 4))
-static uint8 *resample_row_hv_2(uint8 *out, uint8 *in_near, uint8 *in_far, int w, int hs)
+static uint8 *resample_row_hv_2(uint8 *out, uint8 *in_near, uint8 *in_far, int w, int /*hs*/)
{
// need to generate 2x2 samples for every one in input
int i,t0,t1;
@@ -1645,7 +1645,7 @@ static uint8 *resample_row_hv_2(uint8 *out, uint8 *in_near, uint8 *in_far, int w
return out;
}
-static uint8 *resample_row_generic(uint8 *out, uint8 *in_near, uint8 *in_far, int w, int hs)
+static uint8 *resample_row_generic(uint8 *out, uint8 *in_near, uint8 * /*in_far*/, int w, int hs)
{
// resample with nearest-neighbor
int i,j;
@@ -2498,7 +2498,7 @@ static int compute_transparency(png *z, uint8 tc[3], int out_n)
return 1;
}
-static int expand_palette(png *a, uint8 *palette, int len, int pal_img_n)
+static int expand_palette(png *a, uint8 *palette, int /*len*/, int pal_img_n)
{
uint32 i, pixel_count = a->s.img_x * a->s.img_y;
uint8 *p, *temp_out, *orig = a->out;
@@ -2903,7 +2903,7 @@ static stbi_uc *bmp_load(stbi *s, int *x, int *y, int *comp, int req_comp)
mr = 0xff << 16;
mg = 0xff << 8;
mb = 0xff << 0;
- ma = 0xff << 24;
+ ma = (unsigned int)(0xff << 24);
fake_a = 1; // @TODO: check for cases like alpha value is all 0 and switch it to 255
} else {
mr = 31 << 10;
@@ -2946,9 +2946,9 @@ static stbi_uc *bmp_load(stbi *s, int *x, int *y, int *comp, int req_comp)
int z=0;
if (psize == 0 || psize > 256) { free(out); return epuc("invalid", "Corrupt BMP"); }
for (i=0; i < psize; ++i) {
- pal[i][2] = get8(s);
- pal[i][1] = get8(s);
- pal[i][0] = get8(s);
+ pal[i][2] = (stbi_uc)get8(s);
+ pal[i][1] = (stbi_uc)get8(s);
+ pal[i][0] = (stbi_uc)get8(s);
if (hsz != 12) get8(s);
pal[i][3] = 255;
}
@@ -3004,22 +3004,22 @@ static stbi_uc *bmp_load(stbi *s, int *x, int *y, int *comp, int req_comp)
if (easy) {
for (i=0; i < (int) s->img_x; ++i) {
int a;
- out[z+2] = get8(s);
- out[z+1] = get8(s);
- out[z+0] = get8(s);
+ out[z+2] = (uint8)get8(s);
+ out[z+1] = (uint8)get8(s);
+ out[z+0] = (uint8)get8(s);
z += 3;
a = (easy == 2 ? get8(s) : 255);
- if (target == 4) out[z++] = a;
+ if (target == 4) out[z++] = (uint8)a;
}
} else {
for (i=0; i < (int) s->img_x; ++i) {
uint32 v = (bpp == 16 ? get16le(s) : get32le(s));
int a;
- out[z++] = shiftsigned(v & mr, rshift, rcount);
- out[z++] = shiftsigned(v & mg, gshift, gcount);
- out[z++] = shiftsigned(v & mb, bshift, bcount);
+ out[z++] = (uint8)shiftsigned(v & mr, rshift, rcount);
+ out[z++] = (uint8)shiftsigned(v & mg, gshift, gcount);
+ out[z++] = (uint8)shiftsigned(v & mb, bshift, bcount);
a = (ma ? shiftsigned(v & ma, ashift, acount) : 255);
- if (target == 4) out[z++] = a;
+ if (target == 4) out[z++] = (uint8)a;
}
}
skip(s, pad);
@@ -3492,7 +3492,7 @@ static stbi_uc *psd_load(stbi *s, int *x, int *y, int *comp, int req_comp)
len++;
count += len;
while (len) {
- *p = get8(s);
+ *p = (uint8)get8(s);
p += 4;
len--;
}
@@ -3505,7 +3505,7 @@ static stbi_uc *psd_load(stbi *s, int *x, int *y, int *comp, int req_comp)
val = get8(s);
count += len;
while (len) {
- *p = val;
+ *p = (uint8)val;
p += 4;
len--;
}
@@ -3530,7 +3530,7 @@ static stbi_uc *psd_load(stbi *s, int *x, int *y, int *comp, int req_comp)
// Read the data.
count = 0;
for (i = 0; i < pixelCount; i++)
- *p = get8(s), p += 4;
+ *p = (uint8)get8(s), p += 4;
}
}
}
@@ -3613,7 +3613,7 @@ static char *hdr_gettoken(stbi *z, char *buffer)
int len=0;
char c = '\0';
- c = get8(z);
+ c = (char)get8(z);
while (!at_eof(z) && c != '\n') {
buffer[len++] = c;
@@ -3623,7 +3623,7 @@ static char *hdr_gettoken(stbi *z, char *buffer)
;
break;
}
- c = get8(z);
+ c = (char)get8(z);
}
buffer[len] = 0;
@@ -3676,7 +3676,7 @@ static float *hdr_load(stbi *s, int *x, int *y, int *comp, int req_comp)
return epf("not HDR", "Corrupt HDR image");
// Parse header
- while(1) {
+ for(;;) {
token = hdr_gettoken(s,buffer);
if (token[0] == 0) break;
if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1;
@@ -3727,7 +3727,7 @@ static float *hdr_load(stbi *s, int *x, int *y, int *comp, int req_comp)
if (c1 != 2 || c2 != 2 || (len & 0x80)) {
// not run-length encoded, so we have to actually use THIS data as a decoded
// pixel (note this can't be a valid pixel--one of RGB must be >= 128)
- stbi_uc rgbe[4] = { c1,c2,len, get8(s) };
+ stbi_uc rgbe[4] = { (stbi_uc)c1,(stbi_uc)c2,(stbi_uc)len, (stbi_uc)get8(s) };
hdr_convert(hdr_data, rgbe, req_comp);
i = 1;
j = 0;
@@ -3742,17 +3742,17 @@ static float *hdr_load(stbi *s, int *x, int *y, int *comp, int req_comp)
for (k = 0; k < 4; ++k) {
i = 0;
while (i < width) {
- count = get8(s);
+ count = (unsigned char)get8(s);
if (count > 128) {
// Run
- value = get8(s);
+ value = (unsigned char)get8(s);
count -= 128;
for (z = 0; z < count; ++z)
scanline[i++ * 4 + k] = value;
} else {
// Dump
for (z = 0; z < count; ++z)
- scanline[i++ * 4 + k] = get8(s);
+ scanline[i++ * 4 + k] = (stbi_uc)get8(s);
}
}
}
@@ -3794,8 +3794,8 @@ static void writefv(FILE *f, const char *fmt, va_list v)
while (*fmt) {
switch (*fmt++) {
case ' ': break;
- case '1': { uint8 x = va_arg(v, int); write8(f,x); break; }
- case '2': { int16 x = va_arg(v, int); write8(f,x); write8(f,x>>8); break; }
+ case '1': { uint8 x = (uint8)va_arg(v, int); write8(f,x); break; }
+ case '2': { int16 x = (int16)va_arg(v, int); write8(f,x); write8(f,x>>8); break; }
case '4': { int32 x = va_arg(v, int); write8(f,x); write8(f,x>>8); write8(f,x>>16); write8(f,x>>24); break; }
default:
assert(0);
diff --git a/RecastDemo/Source/Filelist.cpp b/RecastDemo/Source/Filelist.cpp
index a9d3f3c..9df3034 100644
--- a/RecastDemo/Source/Filelist.cpp
+++ b/RecastDemo/Source/Filelist.cpp
@@ -64,7 +64,7 @@ void scanDirectory(const char* path, const char* ext, FileList& list)
#ifdef WIN32
_finddata_t dir;
- char pathWithExt[MAX_PATH];
+ char pathWithExt[260];
long fh;
strcpy(pathWithExt, path);
strcat(pathWithExt, "/*");
diff --git a/RecastDemo/Source/SlideShow.cpp b/RecastDemo/Source/SlideShow.cpp
index cbf78ed..a46e888 100644
--- a/RecastDemo/Source/SlideShow.cpp
+++ b/RecastDemo/Source/SlideShow.cpp
@@ -104,9 +104,9 @@ void SlideShow::setSlide(int n)
if (m_nextSlide > maxIdx) m_nextSlide = maxIdx;
}
-void SlideShow::updateAndDraw(float dt, const float w, const float h)
+void SlideShow::updateAndDraw(float dt, const float /*w*/, const float /*h*/)
{
- float slideAlphaTarget = (m_showCurSlide && m_texId) ? 1 : 0;
+ float slideAlphaTarget = (m_showCurSlide && m_texId) ? 1.0f : 0.0f;
if (m_curSlide != m_nextSlide)
slideAlphaTarget = 0;
@@ -136,8 +136,8 @@ void SlideShow::updateAndDraw(float dt, const float w, const float h)
glEnable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, m_texId);
- const float tw = m_width;
- const float th = m_height;
+ const float tw = (float)m_width;
+ const float th = (float)m_height;
const float hw = tw/2; //w*0.5f;
const float hh = th/2; //h*0.5f;
diff --git a/RecastDemo/Source/main.cpp b/RecastDemo/Source/main.cpp
index 8575e36..18e7d7c 100644
--- a/RecastDemo/Source/main.cpp
+++ b/RecastDemo/Source/main.cpp
@@ -825,7 +825,7 @@ int main(int /*argc*/, char** /*argv*/)
imguiEndScrollArea();
}
- slideShow.updateAndDraw(dt, width, height);
+ slideShow.updateAndDraw(dt, (float)width, (float)height);
// Marker
if (mposSet && gluProject((GLdouble)mpos[0], (GLdouble)mpos[1], (GLdouble)mpos[2],