From c5c9655da1e34fadb7f4620ebb3fda69a06fb715 Mon Sep 17 00:00:00 2001 From: yabause Date: Sun, 9 Nov 2008 14:28:15 +0000 Subject: [PATCH] Patch by ico2 with changes by Magliocchetti Riccardo: This fixes compilation issues on 64 bits. --- desmume/src/OGLRender.cpp | 6 +++--- desmume/src/saves.cpp | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/desmume/src/OGLRender.cpp b/desmume/src/OGLRender.cpp index 227e24260..2b7d69775 100644 --- a/desmume/src/OGLRender.cpp +++ b/desmume/src/OGLRender.cpp @@ -1106,9 +1106,9 @@ static void GetLine (int line, u16* dst) g = (g*a + oldg*(255-a)) >> 8; b = (b*a + oldb*(255-a)) >> 8; - r=std::min(255ul,r); - g=std::min(255ul,g); - b=std::min(255ul,b); + r=std::min((u32)255,r); + g=std::min((u32)255,g); + b=std::min((u32)255,b); //debug: display alpha channel //u32 r = screen3D[t+3]; diff --git a/desmume/src/saves.cpp b/desmume/src/saves.cpp index 07757f4d4..522d516e9 100644 --- a/desmume/src/saves.cpp +++ b/desmume/src/saves.cpp @@ -655,11 +655,15 @@ static bool savestate_save(std::ostream* outstream, int compressionLevel) int error = Z_OK; if(compressionLevel != Z_NO_COMPRESSION) { + uLongf comprlen2; //worst case compression. //zlib says "0.1% larger than sourceLen plus 12 bytes" comprlen = (len>>9)+12 + len; cbuf = new u8[comprlen]; - error = compress2(cbuf,&comprlen,(u8*)ms.buf(),len,compressionLevel); + /* Workaround to make it compile under linux 64bit */ + comprlen2 = comprlen; + error = compress2(cbuf,&comprlen2,(u8*)ms.buf(),len,compressionLevel); + comprlen = (u32)comprlen2; } #endif