diff --git a/include/Nazara/Core/OffsetOf.hpp b/include/Nazara/Core/OffsetOf.hpp index 0393f7fc7..be3d7d79f 100644 --- a/include/Nazara/Core/OffsetOf.hpp +++ b/include/Nazara/Core/OffsetOf.hpp @@ -16,7 +16,7 @@ template M NzImplGetMemberType(M T::*); template constexpr std::size_t NzImplOffsetOf() { - return reinterpret_cast(&(((T*)0)->*M)); + return reinterpret_cast(&((static_cast(0))->*M)); } #define NzOffsetOf(type, member) NzImplOffsetOf() diff --git a/include/Nazara/Core/Updatable.hpp b/include/Nazara/Core/Updatable.hpp index f0aa8256a..e4905a77b 100644 --- a/include/Nazara/Core/Updatable.hpp +++ b/include/Nazara/Core/Updatable.hpp @@ -9,9 +9,12 @@ #include -class NzUpdatable +class NAZARA_API NzUpdatable { public: + NzUpdatable() = default; + virtual ~NzUpdatable(); + virtual void Update() = 0; }; diff --git a/include/Nazara/Graphics/Drawable.hpp b/include/Nazara/Graphics/Drawable.hpp index 97841eebb..3c45939df 100644 --- a/include/Nazara/Graphics/Drawable.hpp +++ b/include/Nazara/Graphics/Drawable.hpp @@ -13,7 +13,7 @@ class NAZARA_API NzDrawable { public: NzDrawable() = default; - ~NzDrawable(); + virtual ~NzDrawable(); virtual void Draw() const = 0; }; diff --git a/include/Nazara/Math/Vector2.inl b/include/Nazara/Math/Vector2.inl index 81e25ac51..72842ad3b 100644 --- a/include/Nazara/Math/Vector2.inl +++ b/include/Nazara/Math/Vector2.inl @@ -51,19 +51,7 @@ NzVector2::NzVector2(const NzVector4& vec) template T NzVector2::AbsDotProduct(const NzVector2& vec) const { - return std::fabs(x * vec.x) + std::fabs(y * vec.y); -} - -template<> -inline int NzVector2::AbsDotProduct(const NzVector2& vec) const -{ - return std::labs(x * vec.x) + std::labs(y * vec.y); -} - -template<> -inline unsigned int NzVector2::AbsDotProduct(const NzVector2& vec) const -{ - return std::labs(x * vec.x) + std::labs(y * vec.y); + return std::abs(x * vec.x) + std::abs(y * vec.y); } template diff --git a/include/Nazara/Math/Vector3.inl b/include/Nazara/Math/Vector3.inl index 1e09a2af3..d35988319 100644 --- a/include/Nazara/Math/Vector3.inl +++ b/include/Nazara/Math/Vector3.inl @@ -57,19 +57,7 @@ NzVector3::NzVector3(const NzVector4& vec) template T NzVector3::AbsDotProduct(const NzVector3& vec) const { - return std::fabs(x * vec.x) + std::fabs(y * vec.y) + std::fabs(z * vec.z); -} - -template<> -inline int NzVector3::AbsDotProduct(const NzVector3& vec) const -{ - return std::labs(x * vec.x) + std::labs(y * vec.y) + std::labs(z * vec.z); -} - -template<> -inline unsigned int NzVector3::AbsDotProduct(const NzVector3& vec) const -{ - return std::labs(x * vec.x) + std::labs(y * vec.y) + std::labs(z * vec.z); + return std::abs(x * vec.x) + std::abs(y * vec.y) + std::abs(z * vec.z); } template diff --git a/include/Nazara/Math/Vector4.inl b/include/Nazara/Math/Vector4.inl index c1d7f4d1c..518dda2c2 100644 --- a/include/Nazara/Math/Vector4.inl +++ b/include/Nazara/Math/Vector4.inl @@ -70,19 +70,7 @@ NzVector4::NzVector4(const NzVector4& vec) template T NzVector4::AbsDotProduct(const NzVector4& vec) const { - return std::fabs(x * vec.x) + std::fabs(y * vec.y) + std::fabs(z * vec.z) + std::fabs(w * vec.w); -} - -template<> -inline int NzVector4::AbsDotProduct(const NzVector4& vec) const -{ - return std::labs(x * vec.x) + std::labs(y * vec.y) + std::labs(z * vec.z) + std::labs(w * vec.w); -} - -template<> -inline unsigned int NzVector4::AbsDotProduct(const NzVector4& vec) const -{ - return std::labs(x * vec.x) + std::labs(y * vec.y) + std::labs(z * vec.z) + std::labs(w * vec.w); + return std::abs(x * vec.x) + std::abs(y * vec.y) + std::abs(z * vec.z) + std::abs(w * vec.w); } template diff --git a/include/Nazara/Utility/AbstractAtlas.hpp b/include/Nazara/Utility/AbstractAtlas.hpp index 3dabff1eb..eb0a240ae 100644 --- a/include/Nazara/Utility/AbstractAtlas.hpp +++ b/include/Nazara/Utility/AbstractAtlas.hpp @@ -35,7 +35,7 @@ class NAZARA_API NzAbstractAtlas void RemoveListener(Listener* font) const; - class Listener + class NAZARA_API Listener { public: Listener() = default; diff --git a/src/Nazara/Core/Updatable.cpp b/src/Nazara/Core/Updatable.cpp new file mode 100644 index 000000000..79495dcbc --- /dev/null +++ b/src/Nazara/Core/Updatable.cpp @@ -0,0 +1,8 @@ +// Copyright (C) 2015 Jérôme Leclercq +// This file is part of the "Nazara Engine - Core module" +// For conditions of distribution and use, see copyright notice in Config.hpp + +#include +#include + +NzUpdatable::~NzUpdatable() = default; diff --git a/src/Nazara/Utility/Buffer.cpp b/src/Nazara/Utility/Buffer.cpp index 1a631e990..757b799a1 100644 --- a/src/Nazara/Utility/Buffer.cpp +++ b/src/Nazara/Utility/Buffer.cpp @@ -297,4 +297,4 @@ void NzBuffer::Uninitialize() std::memset(s_bufferFactories, 0, (nzDataStorage_Max+1)*sizeof(NzBuffer::BufferFactory)); } -NzBuffer::BufferFactory NzBuffer::s_bufferFactories[nzDataStorage_Max+1] = {0}; +NzBuffer::BufferFactory NzBuffer::s_bufferFactories[nzDataStorage_Max+1] = {nullptr}; diff --git a/src/Nazara/Utility/Image.cpp b/src/Nazara/Utility/Image.cpp index b25ccdfd4..e33ce619a 100644 --- a/src/Nazara/Utility/Image.cpp +++ b/src/Nazara/Utility/Image.cpp @@ -809,7 +809,7 @@ NzVector3ui NzImage::GetSize(nzUInt8 level) const if (level >= m_sharedImage->levelCount) { NazaraError("Level out of bounds (" + NzString::Number(level) + " >= " + NzString::Number(m_sharedImage->levelCount) + ')'); - return 0; + return NzVector3ui::Zero(); } #endif