- Barotrauma's projects are in the Barotrauma directory - All libraries are in the Libraries directory - MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?) - NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred - Removed Content/effects.mgfx as it didn't seem to be used anywhere - Removed some references to Subsurface directory - Renamed Launcher2 to Launcher
34 lines
808 B
C#
34 lines
808 B
C#
using System;
|
|
|
|
namespace Lidgren.Network
|
|
{
|
|
internal sealed class NetUnreliableSequencedReceiver : NetReceiverChannelBase
|
|
{
|
|
private int m_lastReceivedSequenceNumber = -1;
|
|
|
|
public NetUnreliableSequencedReceiver(NetConnection connection)
|
|
: base(connection)
|
|
{
|
|
}
|
|
|
|
internal override void ReceiveMessage(NetIncomingMessage msg)
|
|
{
|
|
int nr = msg.m_sequenceNumber;
|
|
|
|
// ack no matter what
|
|
m_connection.QueueAck(msg.m_receivedMessageType, nr);
|
|
|
|
int relate = NetUtility.RelativeSequenceNumber(nr, m_lastReceivedSequenceNumber + 1);
|
|
if (relate < 0)
|
|
{
|
|
m_connection.m_statistics.MessageDropped();
|
|
m_peer.LogVerbose("Received message #" + nr + " DROPPING DUPLICATE");
|
|
return; // drop if late
|
|
}
|
|
|
|
m_lastReceivedSequenceNumber = nr;
|
|
m_peer.ReleaseMessage(msg);
|
|
}
|
|
}
|
|
}
|