Final VS fixes

Former-commit-id: 6da44f94127f61de39710a52b8b3b73ce19c1269
This commit is contained in:
Lynix
2015-06-14 16:18:37 +02:00
parent 32a217ea1b
commit f4c3ec51ed
24 changed files with 57 additions and 39 deletions

View File

@@ -17,7 +17,7 @@ class NzAbstractHash;
template<typename Block = nzUInt32, class Allocator = std::allocator<Block>>
class NzBitset
{
static_assert(std::is_integral<Block>() && std::is_unsigned<Block>(), "Block must be a unsigned integral type");
static_assert(std::is_integral<Block>::value && std::is_unsigned<Block>::value, "Block must be a unsigned integral type");
public:
class Bit;

View File

@@ -8,6 +8,12 @@
#include <utility>
#include <Nazara/Core/Debug.hpp>
#ifdef NAZARA_COMPILER_MSVC
// Bits tricks require us to disable some warnings under VS
#pragma warning(disable: 4146)
#pragma warning(disable: 4804)
#endif
template<typename Block, class Allocator>
NzBitset<Block, Allocator>::NzBitset() :
m_bitCount(0)
@@ -305,7 +311,7 @@ bool NzBitset<Block, Allocator>::Test(unsigned int bit) const
{
NazaraAssert(bit < m_bitCount, "Bit index out of range");
return m_blocks[GetBlockIndex(bit)] & (Block(1U) << GetBitIndex(bit));
return (m_blocks[GetBlockIndex(bit)] & (Block(1U) << GetBitIndex(bit))) != 0;
}
template<typename Block, class Allocator>
@@ -754,4 +760,10 @@ namespace std
}
}
#ifdef NAZARA_COMPILER_MSVC
// Reenable those warnings
#pragma warning(default: 4146)
#pragma warning(default: 4804)
#endif
#include <Nazara/Core/DebugOff.hpp>

View File

@@ -23,7 +23,7 @@ class NzMaterial;
class NzTexture;
struct NzMeshData;
class NAZARA_GRAPHICS_API NzAbstractRenderQueue : NzNonCopyable
class NAZARA_GRAPHICS_API NzAbstractRenderQueue
{
public:
struct DirectionalLight;
@@ -31,6 +31,7 @@ class NAZARA_GRAPHICS_API NzAbstractRenderQueue : NzNonCopyable
struct SpotLight;
NzAbstractRenderQueue() = default;
NzAbstractRenderQueue(const NzAbstractRenderQueue&) = delete;
virtual ~NzAbstractRenderQueue();
// Je ne suis vraiment pas fan du nombre de surcharges pour AddBillboards,
@@ -53,6 +54,7 @@ class NAZARA_GRAPHICS_API NzAbstractRenderQueue : NzNonCopyable
virtual void Clear(bool fully = false);
NzAbstractRenderQueue& operator=(const NzAbstractRenderQueue&) = delete;
struct DirectionalLight
{

View File

@@ -19,10 +19,11 @@ class NzAbstractViewer;
class NzBackground;
struct SceneData;
class NAZARA_GRAPHICS_API NzAbstractRenderTechnique : NzNonCopyable
class NAZARA_GRAPHICS_API NzAbstractRenderTechnique
{
public:
NzAbstractRenderTechnique();
NzAbstractRenderTechnique(const NzAbstractRenderTechnique&) = delete;
virtual ~NzAbstractRenderTechnique();
virtual bool Draw(const NzSceneData& sceneData) const = 0;
@@ -35,6 +36,8 @@ class NAZARA_GRAPHICS_API NzAbstractRenderTechnique : NzNonCopyable
virtual bool IsInstancingEnabled() const;
NzAbstractRenderTechnique& operator=(const NzAbstractRenderTechnique&) = delete;
protected:
bool m_instancingEnabled;
};

View File

@@ -44,7 +44,7 @@ class NAZARA_GRAPHICS_API NzDeferredRenderQueue : public NzAbstractRenderQueue
struct MeshDataComparator
{
bool operator()(const NzMeshData& data1, const NzMeshData& data2);
bool operator()(const NzMeshData& data1, const NzMeshData& data2) const;
};
struct MeshInstanceEntry
@@ -59,7 +59,7 @@ class NAZARA_GRAPHICS_API NzDeferredRenderQueue : public NzAbstractRenderQueue
struct BatchedModelMaterialComparator
{
bool operator()(const NzMaterial* mat1, const NzMaterial* mat2);
bool operator()(const NzMaterial* mat1, const NzMaterial* mat2) const;
};
struct BatchedModelEntry

View File

@@ -60,7 +60,7 @@ class NAZARA_GRAPHICS_API NzDeferredRenderTechnique : public NzAbstractRenderTec
struct RenderPassComparator
{
bool operator()(nzRenderPassType pass1, nzRenderPassType pass2);
bool operator()(nzRenderPassType pass1, nzRenderPassType pass2) const;
};
std::map<nzRenderPassType, std::map<int, std::unique_ptr<NzDeferredRenderPass>>, RenderPassComparator> m_passes;

View File

@@ -57,7 +57,7 @@ class NAZARA_GRAPHICS_API NzForwardRenderQueue : public NzAbstractRenderQueue
struct BatchedBillboardComparator
{
bool operator()(const NzMaterial* mat1, const NzMaterial* mat2);
bool operator()(const NzMaterial* mat1, const NzMaterial* mat2) const;
};
struct BatchedBillboardEntry
@@ -103,7 +103,7 @@ class NAZARA_GRAPHICS_API NzForwardRenderQueue : public NzAbstractRenderQueue
/// Meshes
struct MeshDataComparator
{
bool operator()(const NzMeshData& data1, const NzMeshData& data2);
bool operator()(const NzMeshData& data1, const NzMeshData& data2) const;
};
struct MeshInstanceEntry
@@ -119,7 +119,7 @@ class NAZARA_GRAPHICS_API NzForwardRenderQueue : public NzAbstractRenderQueue
struct BatchedModelMaterialComparator
{
bool operator()(const NzMaterial* mat1, const NzMaterial* mat2);
bool operator()(const NzMaterial* mat1, const NzMaterial* mat2) const;
};
struct BatchedModelEntry

View File

@@ -278,7 +278,7 @@ int NzLuaClass<T>::MethodProxy(lua_State* state)
NzLuaInstance& lua = *NzLuaInstance::GetInstance(state);
ClassInfo* info = *static_cast<ClassInfo**>(lua.ToUserdata(lua.GetIndexOfUpValue(1)));
int index = lua.ToInteger(lua.GetIndexOfUpValue(2));
unsigned int index = static_cast<unsigned int>(lua.ToInteger(lua.GetIndexOfUpValue(2)));
ClassFunc method = info->methods[index];
T& instance = *(*static_cast<T**>(lua.CheckUserdata(1, info->name)));
@@ -334,7 +334,7 @@ int NzLuaClass<T>::StaticMethodProxy(lua_State* state)
NzLuaInstance& lua = *NzLuaInstance::GetInstance(state);
ClassInfo* info = *static_cast<ClassInfo**>(lua.ToUserdata(lua.GetIndexOfUpValue(1)));
int index = lua.ToInteger(lua.GetIndexOfUpValue(2));
unsigned int index = static_cast<unsigned int>(lua.ToInteger(lua.GetIndexOfUpValue(2)));
StaticFunc method = info->staticMethods[index];
return method(lua);

View File

@@ -81,7 +81,7 @@ namespace
{
// Le masque 32 bits sur la partie du nombre qu'on traite actuellement
T mask = T(std::numeric_limits<nzUInt32>::max()) << i*8;
T val = (number & mask) >> i*8; // Masquage et shifting des bits vers la droite (pour le ramener sur 32bits)
nzUInt32 val = nzUInt32((number & mask) >> i*8); // Masquage et shifting des bits vers la droite (pour le ramener sur 32bits)
// Appel de la fonction avec le nombre 32bits, si le résultat est non-nul nous avons la réponse
unsigned int log2 = NzImplIntegralLog2Pot<nzUInt32>(val);