소스 검색

cleanup of bulk packets

Silly how many times this is getting done, but hopefully this is for the better! :)
Image 4 년 전
부모
커밋
14ec3a32e7
1개의 변경된 파일5개의 추가작업 그리고 40개의 파일을 삭제
  1. 5 40
      EQ2/source/WorldServer/client.cpp

+ 5 - 40
EQ2/source/WorldServer/client.cpp

@@ -8260,44 +8260,18 @@ void Client::SendSpawnChanges(set<Spawn*>& spawns) {
 	int32 vis_size = 0;
 
 	int count = 0;
-	bool forceSend = false;
-	deque<EQ2Packet*> individualSpawns;
 
 	for (const auto& spawn : spawns) {
-		if (forceSend)
-		{
-			forceSend = false;
-			MakeSpawnChangePacket(info_changes, pos_changes, vis_changes, info_size, pos_size, vis_size);
-
-			for (auto& kv : info_changes) {
-				safe_delete_array(kv.second.data);
-			}
-			info_changes.clear();
-			for (auto& kv : pos_changes) {
-				safe_delete_array(kv.second.data);
-			}
-
-			pos_changes.clear();
-			for (auto& kv : vis_changes) {
-				safe_delete_array(kv.second.data);
-			}
-			vis_changes.clear();
-
-			info_size = 0;
-			pos_size = 0;
-			vis_size = 0;
-		}
-
 		int16 index = GetPlayer()->GetIndexForSpawn(spawn);
 		if (index == 0 || !GetPlayer()->WasSentSpawn(spawn->GetID()) || GetPlayer()->NeedsSpawnResent(spawn) || GetPlayer()->GetDistance(spawn) >= SEND_SPAWN_DISTANCE)
 			continue;
-		/*
-		if (spawn->IsWidget() || spawn->info_changed || spawn->vis_changed)
+		
+		if (spawn->vis_changed)
 		{
 			EQ2Packet* outapp = spawn->spawn_update_packet(GetPlayer(), GetVersion(), false, false);
-			individualSpawns.push_back(outapp);
+			QueuePacket(outapp);
 			continue;
-		}*/
+		}
 
 		if (spawn->info_changed) {
 			auto info_change = spawn->spawn_info_changes_ex(GetPlayer(), GetVersion());
@@ -8310,7 +8284,6 @@ void Client::SendSpawnChanges(set<Spawn*>& spawns) {
 				info_size += spawn->info_packet_size;
 
 				info_changes[index] = data;
-				forceSend = true;
 			}
 			count++;
 		}
@@ -8341,7 +8314,6 @@ void Client::SendSpawnChanges(set<Spawn*>& spawns) {
 				vis_size += spawn->vis_packet_size;
 
 				vis_changes[index] = data;
-				forceSend = true;
 			}
 			count++;
 		}
@@ -8365,13 +8337,6 @@ void Client::SendSpawnChanges(set<Spawn*>& spawns) {
 	for (auto& kv : vis_changes) {
 		safe_delete_array(kv.second.data);
 	}
-	/*
-	for (int i = 0; i < individualSpawns.size(); i++)
-	{
-		QueuePacket(individualSpawns[i]);
-	}*/
-
-	individualSpawns.clear();	
 }
 
 void Client::MakeSpawnChangePacket(map<int32, SpawnData> info_changes, map<int32, SpawnData> pos_changes, map<int32, SpawnData> vis_changes, int32 info_size, int32 pos_size, int32 vis_size)
@@ -8431,7 +8396,7 @@ void Client::MakeSpawnChangePacket(map<int32, SpawnData> info_changes, map<int32
 
 	//	DumpPacket(packet->pBuffer, packet->size);
 	if (packet) {
-		QueuePacket(packet, true);
+		QueuePacket(packet);
 	}
 
 	delete[] tmp;