diff --git a/ChangeLog.md b/ChangeLog.md index 6ec9c8c54..39d2b3431 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -124,7 +124,8 @@ Nazara Engine: - Added StackVector class - ⚠️ Removed Vector[2|3]::Distancef method and made Distance method templated - Added Vector2::Distance static method -- ⚠️ Fixed compilation error on MSVC with flag /permissive- on CullingList class +- ⚠️ Fixed compilation errors on MSVC with flag /permissive- on CullingList class +- Fixed bug in ENet implementation causing legit reliable packets to be dropped on sequence number overflow Nazara Development Kit: - Added ImageWidget (#139) diff --git a/src/Nazara/Network/ENetPeer.cpp b/src/Nazara/Network/ENetPeer.cpp index 38189361b..a26423bb4 100644 --- a/src/Nazara/Network/ENetPeer.cpp +++ b/src/Nazara/Network/ENetPeer.cpp @@ -347,7 +347,7 @@ namespace Nz { IncomingCommmand& incomingCommand = *currentCommand; - if (incomingCommand.fragmentsRemaining > 0 || incomingCommand.reliableSequenceNumber != (channel.incomingReliableSequenceNumber + 1)) + if (incomingCommand.fragmentsRemaining > 0 || incomingCommand.reliableSequenceNumber != Nz::UInt16(channel.incomingReliableSequenceNumber + 1)) break; channel.incomingReliableSequenceNumber = incomingCommand.reliableSequenceNumber;