diff --git a/include/Nazara/Network/NetPacket.hpp b/include/Nazara/Network/NetPacket.hpp index 62be3e990..37003e14c 100644 --- a/include/Nazara/Network/NetPacket.hpp +++ b/include/Nazara/Network/NetPacket.hpp @@ -46,10 +46,10 @@ namespace Nz NetPacket& operator=(const NetPacket&) = delete; NetPacket& operator=(NetPacket&& packet); - static bool DecodeHeader(const void* data, UInt16* packetSize, UInt16* netCode); - static bool EncodeHeader(void* data, UInt16 packetSize, UInt16 netCode); + static bool DecodeHeader(const void* data, UInt32* packetSize, UInt16* netCode); + static bool EncodeHeader(void* data, UInt32 packetSize, UInt16 netCode); - static constexpr std::size_t HeaderSize = sizeof(UInt16) + sizeof(UInt16); //< PacketSize + NetCode + static constexpr std::size_t HeaderSize = sizeof(UInt32) + sizeof(UInt16); //< PacketSize + NetCode private: void OnEmptyStream() override; diff --git a/src/Nazara/Network/NetPacket.cpp b/src/Nazara/Network/NetPacket.cpp index 0dda7c864..4df6e0cae 100644 --- a/src/Nazara/Network/NetPacket.cpp +++ b/src/Nazara/Network/NetPacket.cpp @@ -45,7 +45,7 @@ namespace Nz NazaraAssert(m_netCode != NetCode_Invalid, "Invalid NetCode"); std::size_t size = m_buffer->GetSize(); - if (!EncodeHeader(m_buffer->GetBuffer(), static_cast(size), m_netCode)) + if (!EncodeHeader(m_buffer->GetBuffer(), static_cast(size), m_netCode)) { NazaraError("Failed to encode packet header"); return nullptr; @@ -64,7 +64,7 @@ namespace Nz * \param netCode Packet number */ - bool NetPacket::DecodeHeader(const void* data, UInt16* packetSize, UInt16* netCode) + bool NetPacket::DecodeHeader(const void* data, UInt32* packetSize, UInt16* netCode) { MemoryView stream(data, HeaderSize); @@ -83,7 +83,7 @@ namespace Nz * \param netCode Packet number */ - bool NetPacket::EncodeHeader(void* data, UInt16 packetSize, UInt16 netCode) + bool NetPacket::EncodeHeader(void* data, UInt32 packetSize, UInt16 netCode) { MemoryView stream(data, HeaderSize); diff --git a/src/Nazara/Network/TcpClient.cpp b/src/Nazara/Network/TcpClient.cpp index 9e2eb7e0c..56060b40e 100644 --- a/src/Nazara/Network/TcpClient.cpp +++ b/src/Nazara/Network/TcpClient.cpp @@ -244,7 +244,7 @@ namespace Nz NazaraAssert(m_pendingPacket.received <= NetPacket::HeaderSize, "Received more data than header size"); if (m_pendingPacket.received >= NetPacket::HeaderSize) { - UInt16 size; + UInt32 size; if (!NetPacket::DecodeHeader(m_pendingPacket.data.GetConstBuffer(), &size, &m_pendingPacket.netcode)) { m_lastError = SocketError_Packet; @@ -261,7 +261,7 @@ namespace Nz // We may have just received the header now if (m_pendingPacket.headerReceived) { - UInt16 packetSize = static_cast(m_pendingPacket.data.GetSize()); //< Total packet size + UInt32 packetSize = static_cast(m_pendingPacket.data.GetSize()); //< Total packet size if (packetSize == 0) { // Special case: our packet carry no data diff --git a/src/Nazara/Network/UdpSocket.cpp b/src/Nazara/Network/UdpSocket.cpp index c0a88eb88..a44ad3c14 100644 --- a/src/Nazara/Network/UdpSocket.cpp +++ b/src/Nazara/Network/UdpSocket.cpp @@ -182,7 +182,7 @@ namespace Nz return false; //< No datagram received Nz::UInt16 netCode; - Nz::UInt16 packetSize; + Nz::UInt32 packetSize; if (!NetPacket::DecodeHeader(packet->GetConstData(), &packetSize, &netCode)) { m_lastError = SocketError_Packet;