diff --git a/source/Irrlicht/CSoftwareDriver2.cpp b/source/Irrlicht/CSoftwareDriver2.cpp index 22f5fbc6..605b15b4 100644 --- a/source/Irrlicht/CSoftwareDriver2.cpp +++ b/source/Irrlicht/CSoftwareDriver2.cpp @@ -238,8 +238,10 @@ void get_scale(scale_setup& s, const irr::SIrrlichtCreationParameters& params) void fpu_exception(int on) { return; +#if defined(_WIN32) _clearfp(); _controlfp(on ? _EM_INEXACT : -1, _MCW_EM); +#endif } namespace irr @@ -2260,6 +2262,8 @@ void CBurningVideoDriver::drawVertexPrimitiveList(const void* vertices, u32 vert case EMT_TRANSPARENT_ALPHA_CHANNEL: lod_bias *= 0.5f; break; + default: + break; } lod_bias *= tex->get_lod_bias(); //lod_bias += Material.org.TextureLayer[m].LODBias * 0.125f; diff --git a/source/Irrlicht/CSoftwareTexture2.h b/source/Irrlicht/CSoftwareTexture2.h index 94188fbe..37bd1c7d 100644 --- a/source/Irrlicht/CSoftwareTexture2.h +++ b/source/Irrlicht/CSoftwareTexture2.h @@ -55,7 +55,7 @@ public: u32 getMipmapLevel(s32 newLevel) const { if ( newLevel < 0 ) newLevel = 0; - else if ( newLevel >= array_size(MipMap)) newLevel = array_size(MipMap) - 1; + else if ( newLevel >= (s32)array_size(MipMap)) newLevel = array_size(MipMap) - 1; while ( newLevel > 0 && MipMap[newLevel] == 0 ) newLevel -= 1; return newLevel; diff --git a/source/Irrlicht/S4DVertex.h b/source/Irrlicht/S4DVertex.h index 3cc665bb..667fd6d4 100644 --- a/source/Irrlicht/S4DVertex.h +++ b/source/Irrlicht/S4DVertex.h @@ -536,7 +536,7 @@ typedef s4DVertex s4DVertexPair; struct SAligned4DVertex { SAligned4DVertex() - :data(0),mem(0), ElementSize(0) {} + :data(0),ElementSize(0),mem(0) {} virtual ~SAligned4DVertex () {