From 3933b0709497adec13f8b39a42cf82ca8a8d19f5 Mon Sep 17 00:00:00 2001 From: Gawaboumga Date: Wed, 21 Jan 2015 13:51:49 +0100 Subject: [PATCH] Suppression of warnings OffsetOf: use of static_cast Updatable: API and virtual destructor Drawable: virtual destructor Vector: std::abs should be "the" abs. AbstractClass: API +Updatable: Like for others abstracts Buffer: nullptr for pointer to function. Image: wasn't returning a vector. Former-commit-id: 57e0009286a02b9e3b0b81945e500d7d9e466ae2 --- include/Nazara/Core/OffsetOf.hpp | 2 +- include/Nazara/Core/Updatable.hpp | 5 ++++- include/Nazara/Graphics/Drawable.hpp | 2 +- include/Nazara/Math/Vector2.inl | 14 +------------- include/Nazara/Math/Vector3.inl | 14 +------------- include/Nazara/Math/Vector4.inl | 14 +------------- include/Nazara/Utility/AbstractAtlas.hpp | 2 +- src/Nazara/Core/Updatable.cpp | 8 ++++++++ src/Nazara/Utility/Buffer.cpp | 2 +- src/Nazara/Utility/Image.cpp | 2 +- 10 files changed, 20 insertions(+), 45 deletions(-) create mode 100644 src/Nazara/Core/Updatable.cpp 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