Browse Source

Seq ack change

Additional changes to tie to issue #96. ACK's are ok, we needed to acknowledge the latest packet
Image 4 years ago
parent
commit
4075cf53b3
2 changed files with 6 additions and 3 deletions
  1. 0 3
      EQ2/source/common/EQPacket.cpp
  2. 6 0
      EQ2/source/common/EQStream.cpp

+ 0 - 3
EQ2/source/common/EQPacket.cpp

@@ -333,9 +333,6 @@ bool EQ2Packet::AppCombine(EQ2Packet* rhs){
 
 bool EQProtocolPacket::combine(const EQProtocolPacket *rhs)
 {
-	if (opcode == OP_Ack || rhs->opcode == OP_Ack)
-		return false;
-
 	bool result=false;
 	//if(dont_combine)
 	//	return false;

+ 6 - 0
EQ2/source/common/EQStream.cpp

@@ -1025,6 +1025,12 @@ void EQStream::AckPackets(uint16 seq)
 	SeqOrder ord = CompareSequence(SequencedBase, seq);
 	if (ord == SeqInOrder) {
 		//they are not acking anything new...
+
+		uint16 index = seq - SequencedBase;
+		if (SequencedQueue.size() > 0 && index < SequencedQueue.size())
+		{
+			SequencedQueue[index]->acked = true;
+		}
 		LogWrite(PACKET__DEBUG, 9, "Packet",  "Received an ack with no window advancement (seq %u)", seq);
 	}
 	else if (ord == SeqPast) {