From 6cd78a520a61ba59ecf721f47fc5ac9166b139e5 Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 16 Nov 2011 10:31:38 +0100 Subject: Core/World * Update character name cache after player rename * Add character name data for characters loaded with PlayerDump Closes #3653 Closes #3970 --- src/server/game/World/World.cpp | 14 +++++++++----- src/server/game/World/World.h | 6 +++--- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'src/server/game/World') diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 408db187aae..8aca4563b91 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2869,7 +2869,7 @@ void World::LoadCharacterNameData() sLog->outString("Loaded name data for %u characters", count); } -void World::AddCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race, uint8 playerClass) +void World::AddCharacterNameData(uint32 guid, std::string const& name, uint8 gender, uint8 race, uint8 playerClass) { CharacterNameData& data = _characterNameDataMap[guid]; data.m_name = name; @@ -2878,18 +2878,22 @@ void World::AddCharacterNameData(uint32 guid, const std::string& name, uint8 gen data.m_class = playerClass; } -void World::UpdateCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race) +void World::UpdateCharacterNameData(uint32 guid, std::string const& name, uint8 gender /*= GENDER_NONE*/, uint8 race /*= RACE_NONE*/) { std::map::iterator itr = _characterNameDataMap.find(guid); if (itr == _characterNameDataMap.end()) return; + itr->second.m_name = name; - itr->second.m_gender = gender; - if(race != RACE_NONE) + + if (gender != GENDER_NONE) + itr->second.m_gender = gender; + + if (race != RACE_NONE) itr->second.m_race = race; } -const CharacterNameData* World::GetCharacterNameData(uint32 guid) const +CharacterNameData const* World::GetCharacterNameData(uint32 guid) const { std::map::const_iterator itr = _characterNameDataMap.find(guid); if (itr != _characterNameDataMap.end()) diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index b493b8b0c7b..f643ae60287 100755 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -738,9 +738,9 @@ class World bool isEventKillStart; - const CharacterNameData* GetCharacterNameData(uint32 guid) const; - void AddCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race, uint8 playerClass); - void UpdateCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race = RACE_NONE); + CharacterNameData const* GetCharacterNameData(uint32 guid) const; + void AddCharacterNameData(uint32 guid, std::string const& name, uint8 gender, uint8 race, uint8 playerClass); + void UpdateCharacterNameData(uint32 guid, std::string const& name, uint8 gender = GENDER_NONE, uint8 race = RACE_NONE); void DeleteCharaceterNameData(uint32 guid) { _characterNameDataMap.erase(guid); } uint32 GetCleaningFlags() const { return m_CleaningFlags; } -- cgit v1.2.3