Quellcode durchsuchen

oop fix for AppCombined packet creation in handling embedded packets subset

Emagi vor 1 Jahr
Ursprung
Commit
d093f5d3dd
1 geänderte Dateien mit 5 neuen und 4 gelöschten Zeilen
  1. 5 4
      EQ2/source/common/EQStream.cpp

+ 5 - 4
EQ2/source/common/EQStream.cpp

@@ -54,7 +54,7 @@
 #include "Log.h"
 
 
-//#define DEBUG_EMBEDDED_PACKETS 1
+#define DEBUG_EMBEDDED_PACKETS 1
 uint16 EQStream::MaxWindowSize=2048;
 
 void EQStream::init(bool resetSession) {
@@ -185,16 +185,17 @@ EQProtocolPacket* EQStream::ProcessEncryptedPacket(EQProtocolPacket *p){
 	return ret;
 }
 
-bool EQStream::ProcessEmbeddedPacket(uchar* pBuffer, int16 length) {
+bool EQStream::ProcessEmbeddedPacket(uchar* pBuffer, int16 length,int8 opcode) {
 	if(!pBuffer)
 		return false;
 
 	MCombineQueueLock.lock();
-	EQProtocolPacket* newpacket = ProcessEncryptedData(pBuffer, length, OP_Packet);
+	EQProtocolPacket* newpacket = ProcessEncryptedData(pBuffer, length, opcode);
 	MCombineQueueLock.unlock();
 	
 	if (newpacket) {
 #ifdef DEBUG_EMBEDDED_PACKETS
+		printf("Opcode: %u\n", newpacket->opcode);
 		DumpPacket(newpacket->pBuffer, newpacket->size);
 #endif
 	
@@ -402,7 +403,7 @@ void EQStream::ProcessPacket(EQProtocolPacket *p, EQProtocolPacket* lastp)
 #endif
 						if(!HandleEmbeddedPacket(p, processed + offset, subpacket_length)){
 							uchar* buffer = (p->pBuffer + processed + offset);
-							ProcessEmbeddedPacket(buffer, subpacket_length);
+							ProcessEmbeddedPacket(buffer, subpacket_length, OP_AppCombined);
 						}
 					}
 					processed+=subpacket_length+offset;