From 4911aff64f67b33791c0d2901f47f0aaa55bdbcb Mon Sep 17 00:00:00 2001 From: Faymoon Date: Mon, 22 Jan 2018 14:22:18 +0100 Subject: [PATCH 1/7] Fix assert message error : NodeComponent instead of ParticleEmitterComponent (#156) --- SDK/include/NDK/Components/ParticleGroupComponent.inl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SDK/include/NDK/Components/ParticleGroupComponent.inl b/SDK/include/NDK/Components/ParticleGroupComponent.inl index 06f18c634..d6225df3b 100644 --- a/SDK/include/NDK/Components/ParticleGroupComponent.inl +++ b/SDK/include/NDK/Components/ParticleGroupComponent.inl @@ -49,7 +49,7 @@ namespace Ndk inline void ParticleGroupComponent::AddEmitter(Entity* emitter) { NazaraAssert(emitter && emitter->IsValid(), "Invalid entity"); - NazaraAssert(emitter->HasComponent(), "Entity must have a NodeComponent"); + NazaraAssert(emitter->HasComponent(), "Entity must have a ParticleEmitterComponent"); auto& emitterComponent = emitter->GetComponent(); ParticleGroup::AddEmitter(&emitterComponent); @@ -68,7 +68,7 @@ namespace Ndk inline void ParticleGroupComponent::RemoveEmitter(Entity* emitter) { NazaraAssert(emitter && emitter->IsValid(), "Invalid entity"); - NazaraAssert(emitter->HasComponent(), "Entity must have a NodeComponent"); + NazaraAssert(emitter->HasComponent(), "Entity must have a ParticleEmitterComponent"); auto& emitterComponent = emitter->GetComponent(); ParticleGroup::RemoveEmitter(&emitterComponent); From fd727be03f9fb92a3dcd10da93138cf010b8c54c Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 24 Jan 2018 20:56:38 +0100 Subject: [PATCH 2/7] Utility/SimpleTextDrawer: Fix space screwing up bounding box --- src/Nazara/Utility/SimpleTextDrawer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Nazara/Utility/SimpleTextDrawer.cpp b/src/Nazara/Utility/SimpleTextDrawer.cpp index 6216a815b..62df4412b 100644 --- a/src/Nazara/Utility/SimpleTextDrawer.cpp +++ b/src/Nazara/Utility/SimpleTextDrawer.cpp @@ -354,7 +354,7 @@ namespace Nz { glyph.atlas = nullptr; - glyph.bounds.Set(float(m_drawPos.x), float(m_drawPos.y), float(advance), float(sizeInfo.lineHeight)); + glyph.bounds.Set(float(m_drawPos.x), float(0.f), float(advance), float(sizeInfo.lineHeight)); glyph.corners[0].Set(glyph.bounds.GetCorner(RectCorner_LeftTop)); glyph.corners[1].Set(glyph.bounds.GetCorner(RectCorner_RightTop)); From b93320613e92f68361c9b3c34e8f6103c4f2657a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Fri, 26 Jan 2018 15:41:01 +0100 Subject: [PATCH 3/7] Network/Windows: MinGW compatibility fix --- src/Nazara/Network/Win32/IpAddressImpl.cpp | 5 +++++ src/Nazara/Network/Win32/SocketPollerImpl.cpp | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Nazara/Network/Win32/IpAddressImpl.cpp b/src/Nazara/Network/Win32/IpAddressImpl.cpp index 992b075a9..d9dac2368 100644 --- a/src/Nazara/Network/Win32/IpAddressImpl.cpp +++ b/src/Nazara/Network/Win32/IpAddressImpl.cpp @@ -9,6 +9,11 @@ #include #include +// some MinGW distributions seem to lack some defines +#ifndef WSA_NOT_ENOUGH_MEMORY +#define WSA_NOT_ENOUGH_MEMORY 8L +#endif + namespace Nz { namespace Detail diff --git a/src/Nazara/Network/Win32/SocketPollerImpl.cpp b/src/Nazara/Network/Win32/SocketPollerImpl.cpp index 43dc9fec2..658e86c8e 100644 --- a/src/Nazara/Network/Win32/SocketPollerImpl.cpp +++ b/src/Nazara/Network/Win32/SocketPollerImpl.cpp @@ -37,7 +37,7 @@ namespace Nz #if NAZARA_NETWORK_POLL_SUPPORT return m_readyToReadSockets.count(socket) != 0; #else - return FD_ISSET(socket, &m_readyToReadSockets) != 0; + return FD_ISSET(socket, const_cast(&m_readyToReadSockets)) != 0; //< FD_ISSET is not const-correct #endif } @@ -46,7 +46,7 @@ namespace Nz #if NAZARA_NETWORK_POLL_SUPPORT return m_readyToWriteSockets.count(socket) != 0; #else - return FD_ISSET(socket, &m_readyToWriteSockets) != 0; + return FD_ISSET(socket, const_cast(&m_readyToWriteSockets)) != 0; //< FD_ISSET is not const-correct #endif } @@ -55,8 +55,9 @@ namespace Nz #if NAZARA_NETWORK_POLL_SUPPORT return m_allSockets.count(socket) != 0; #else - return FD_ISSET(socket, &m_readSockets) != 0 || - FD_ISSET(socket, &m_writeSockets) != 0; + // FD_ISSET is not const-correct + return FD_ISSET(socket, const_cast(&m_readSockets)) != 0 || + FD_ISSET(socket, const_cast(&m_writeSockets)) != 0; #endif } From 3f7bac186b11ec1fb10329c4080e3e640a7ab6e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Fri, 26 Jan 2018 16:11:53 +0100 Subject: [PATCH 4/7] Network/Win32: Second patch for MinGW #157 Extending Mstcpip.h fix using C++17 feature __has_include --- src/Nazara/Network/Win32/IpAddressImpl.cpp | 6 +++++- src/Nazara/Network/Win32/SocketImpl.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Nazara/Network/Win32/IpAddressImpl.cpp b/src/Nazara/Network/Win32/IpAddressImpl.cpp index d9dac2368..257e50cf6 100644 --- a/src/Nazara/Network/Win32/IpAddressImpl.cpp +++ b/src/Nazara/Network/Win32/IpAddressImpl.cpp @@ -10,8 +10,12 @@ #include // some MinGW distributions seem to lack some defines +#ifndef ERROR_NOT_ENOUGH_MEMORY +#define ERROR_NOT_ENOUGH_MEMORY 8L +#endif + #ifndef WSA_NOT_ENOUGH_MEMORY -#define WSA_NOT_ENOUGH_MEMORY 8L +#define WSA_NOT_ENOUGH_MEMORY (ERROR_NOT_ENOUGH_MEMORY) #endif namespace Nz diff --git a/src/Nazara/Network/Win32/SocketImpl.cpp b/src/Nazara/Network/Win32/SocketImpl.cpp index b410af93c..e7af5ff71 100644 --- a/src/Nazara/Network/Win32/SocketImpl.cpp +++ b/src/Nazara/Network/Win32/SocketImpl.cpp @@ -8,8 +8,8 @@ #include #include -#if defined(NAZARA_COMPILER_MINGW) && __GNUC__ < 5 // Some compilers (olders versions of MinGW) are lacking Mstcpip.h which defines the following struct/#define +#if (defined(__has_include) && !__has_include()) || (defined(NAZARA_COMPILER_MINGW) && !defined(__has_include)) struct tcp_keepalive { u_long onoff; From a8c1a2f488a69fb5b390d2dee9b94d5ba53f07db Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 26 Jan 2018 20:57:14 +0100 Subject: [PATCH 5/7] Network/Win32: Fix a parsing error when compiler doesn't support __has_include --- src/Nazara/Network/Win32/SocketImpl.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Nazara/Network/Win32/SocketImpl.cpp b/src/Nazara/Network/Win32/SocketImpl.cpp index e7af5ff71..55726a14f 100644 --- a/src/Nazara/Network/Win32/SocketImpl.cpp +++ b/src/Nazara/Network/Win32/SocketImpl.cpp @@ -8,8 +8,15 @@ #include #include -// Some compilers (olders versions of MinGW) are lacking Mstcpip.h which defines the following struct/#define -#if (defined(__has_include) && !__has_include()) || (defined(NAZARA_COMPILER_MINGW) && !defined(__has_include)) +// Some compilers (olders versions of MinGW) lack Mstcpip.h which defines some structs/defines +#if defined(__has_include) + #define NZ_HAS_MSTCPIP_HEADER __has_include() +#else + // If this version of MinGW doesn't support __has_include, assume it hasn't Mstcpip.h + #define NZ_HAS_MSTCPIP_HEADER !defined(NAZARA_COMPILER_MINGW) +#endif + +#if NZ_HAS_MSTCPIP_HEADER struct tcp_keepalive { u_long onoff; From 3afdbd214147429fff5e29dbb2c872a658a6fcea Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 28 Jan 2018 14:27:52 +0100 Subject: [PATCH 6/7] Fix typo --- src/Nazara/Network/Win32/SocketImpl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Nazara/Network/Win32/SocketImpl.cpp b/src/Nazara/Network/Win32/SocketImpl.cpp index 55726a14f..b14202cc7 100644 --- a/src/Nazara/Network/Win32/SocketImpl.cpp +++ b/src/Nazara/Network/Win32/SocketImpl.cpp @@ -8,7 +8,7 @@ #include #include -// Some compilers (olders versions of MinGW) lack Mstcpip.h which defines some structs/defines +// Some compilers (older versions of MinGW) lack Mstcpip.h which defines some structs/defines #if defined(__has_include) #define NZ_HAS_MSTCPIP_HEADER __has_include() #else From 7c1ffea19cb649dbcc2567deb2c0a93c16ff178d Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 28 Jan 2018 14:28:33 +0100 Subject: [PATCH 7/7] Core/Win32: Encapsulate internal struct --- src/Nazara/Core/Win32/ThreadImpl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Nazara/Core/Win32/ThreadImpl.cpp b/src/Nazara/Core/Win32/ThreadImpl.cpp index 134e5472a..4dd557536 100644 --- a/src/Nazara/Core/Win32/ThreadImpl.cpp +++ b/src/Nazara/Core/Win32/ThreadImpl.cpp @@ -11,6 +11,7 @@ namespace Nz { +#ifdef NAZARA_COMPILER_MSVC namespace { #pragma pack(push,8) @@ -23,6 +24,7 @@ namespace Nz }; #pragma pack(pop) } +#endif ThreadImpl::ThreadImpl(Functor* functor) {