aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-10-28 00:52:19 +0100
committerShauren <shauren.trinity@gmail.com>2024-10-28 01:12:09 +0100
commit90db558697fb1253d9195e4d4743be80ca1968b7 (patch)
treeebb3c00004aaf54b2846358923c6568f5095276e
parentdf1788663673eb6157c3063acc9628280e213511 (diff)
Core/Objects: Eliminate unneccessary temporary objects and double map lookups when building SMSG_UPDATE_OBJECT
(cherry picked from commit 38a209276d9a6b3fb5e657711894a1b696933c59)
-rw-r--r--src/server/game/Entities/Object/Object.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 74cfa6e9bb6..f74b6668846 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -505,15 +505,7 @@ void Object::ClearUpdateMask(bool remove)
void Object::BuildFieldsUpdate(Player* player, UpdateDataMapType& data_map) const
{
- UpdateDataMapType::iterator iter = data_map.find(player);
-
- if (iter == data_map.end())
- {
- std::pair<UpdateDataMapType::iterator, bool> p = data_map.emplace(player, UpdateData());
- ASSERT(p.second);
- iter = p.first;
- }
-
+ UpdateDataMapType::iterator iter = data_map.try_emplace(player).first;
BuildValuesUpdateBlockForPlayer(&iter->second, iter->first);
}