aboutsummaryrefslogtreecommitdiff
path: root/src
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 00:52:19 +0100
commit38a209276d9a6b3fb5e657711894a1b696933c59 (patch)
treebc2ca0e08b742876a27ea9f6e916f39f66b32e0b /src
parentee54ade3975748bf373162b2397328852dec6701 (diff)
Core/Objects: Eliminate unneccessary temporary objects and double map lookups when building SMSG_UPDATE_OBJECT
Diffstat (limited to 'src')
-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 37b9d11c79d..0bd953001e8 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -821,15 +821,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(player->GetMapId()));
- ASSERT(p.second);
- iter = p.first;
- }
-
+ UpdateDataMapType::iterator iter = data_map.try_emplace(player, player->GetMapId()).first;
BuildValuesUpdateBlockForPlayer(&iter->second, iter->first);
}