aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp14
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp93
-rw-r--r--src/server/game/Globals/ObjectMgr.h2
-rw-r--r--src/server/game/Texts/CreatureTextMgr.cpp5
4 files changed, 48 insertions, 66 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index ee6e0da0f4c..aaca0ffd1c4 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -2722,8 +2722,10 @@ void AchievementGlobalMgr::LoadRewardLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string subject = fields[2].GetString();
- std::string body = fields[3].GetString();
+
+ LocaleConstant locale = GetLocaleByName(localeName);
+ if (locale == LOCALE_enUS)
+ continue;
if (m_achievementRewards.find(id) == m_achievementRewards.end())
{
@@ -2732,12 +2734,8 @@ void AchievementGlobalMgr::LoadRewardLocales()
}
AchievementRewardLocale& data = m_achievementRewardLocales[id];
- LocaleConstant locale = GetLocaleByName(localeName);
- if (locale == LOCALE_enUS)
- continue;
-
- ObjectMgr::AddLocaleString(subject, locale, data.Subject);
- ObjectMgr::AddLocaleString(body, locale, data.Text);
+ ObjectMgr::AddLocaleString(fields[2].GetString(), locale, data.Subject);
+ ObjectMgr::AddLocaleString(fields[3].GetString(), locale, data.Text);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u achievement reward locale strings in %u ms.", uint32(m_achievementRewardLocales.size()), GetMSTimeDiffToNow(oldMSTime));
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 4f82235bfda..6380015ea2b 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -246,14 +246,14 @@ ObjectMgr::~ObjectMgr()
{
}
-void ObjectMgr::AddLocaleString(std::string const& value, LocaleConstant localeConstant, std::vector<std::string>& data)
+void ObjectMgr::AddLocaleString(std::string&& value, LocaleConstant localeConstant, std::vector<std::string>& data)
{
if (!value.empty())
{
if (data.size() <= size_t(localeConstant))
data.resize(localeConstant + 1);
- data[localeConstant] = value;
+ data[localeConstant] = std::move(value);
}
}
@@ -275,17 +275,13 @@ void ObjectMgr::LoadCreatureLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string name = fields[2].GetString();
- std::string title = fields[3].GetString();
-
- CreatureLocale& data = _creatureLocaleStore[id];
LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
- AddLocaleString(name, locale, data.Name);
- AddLocaleString(title, locale, data.Title);
-
+ CreatureLocale& data = _creatureLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.Name);
+ AddLocaleString(fields[3].GetString(), locale, data.Title);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u creature locale strings in %u ms", uint32(_creatureLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -310,16 +306,14 @@ void ObjectMgr::LoadGossipMenuItemsLocales()
uint16 menuId = fields[0].GetUInt16();
uint16 optionId = fields[1].GetUInt16();
std::string localeName = fields[2].GetString();
- std::string optionText = fields[3].GetString();
- std::string boxText = fields[4].GetString();
- GossipMenuItemsLocale& data = _gossipMenuItemsLocaleStore[MAKE_PAIR32(menuId, optionId)];
- LocaleConstant locale = GetLocaleByName(localeName);
+ LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
- AddLocaleString(optionText, locale, data.OptionText);
- AddLocaleString(boxText, locale, data.BoxText);
+ GossipMenuItemsLocale& data = _gossipMenuItemsLocaleStore[MAKE_PAIR32(menuId, optionId)];
+ AddLocaleString(fields[3].GetString(), locale, data.OptionText);
+ AddLocaleString(fields[4].GetString(), locale, data.BoxText);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u gossip_menu_option locale strings in %u ms", uint32(_gossipMenuItemsLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -343,12 +337,13 @@ void ObjectMgr::LoadPointOfInterestLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string name = fields[2].GetString();
- PointOfInterestLocale& data = _pointOfInterestLocaleStore[id];
LocaleConstant locale = GetLocaleByName(localeName);
+ if (locale == LOCALE_enUS)
+ continue;
- AddLocaleString(name, locale, data.Name);
+ PointOfInterestLocale& data = _pointOfInterestLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.Name);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u points_of_interest locale strings in %u ms", uint32(_pointOfInterestLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -2783,16 +2778,14 @@ void ObjectMgr::LoadItemLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string Name = fields[2].GetString();
- std::string Description = fields[3].GetString();
- ItemLocale& data = _itemLocaleStore[id];
- LocaleConstant locale = GetLocaleByName(localeName);
+ LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
- AddLocaleString(Name, locale, data.Name);
- AddLocaleString(Description, locale, data.Description);
+ ItemLocale& data = _itemLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.Name);
+ AddLocaleString(fields[3].GetString(), locale, data.Description);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u Item locale strings in %u ms", uint32(_itemLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -3421,14 +3414,13 @@ void ObjectMgr::LoadItemSetNameLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string Name = fields[2].GetString();
- ItemSetNameLocale& data = _itemSetNameLocaleStore[id];
- LocaleConstant locale = GetLocaleByName(localeName);
+ LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
- AddLocaleString(Name, locale, data.Name);
+ ItemSetNameLocale& data = _itemSetNameLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.Name);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded " UI64FMTD " Item set name locale strings in %u ms", uint64(_itemSetNameLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -5319,12 +5311,11 @@ void ObjectMgr::LoadQuestLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- QuestLocale& data = _questLocaleStore[id];
-
LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
+ QuestLocale& data = _questLocaleStore[id];
AddLocaleString(fields[2].GetString(), locale, data.Title);
AddLocaleString(fields[3].GetString(), locale, data.Details);
AddLocaleString(fields[4].GetString(), locale, data.Objectives);
@@ -5953,12 +5944,13 @@ void ObjectMgr::LoadPageTextLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string text = fields[2].GetString();
- PageTextLocale& data = _pageTextLocaleStore[id];
LocaleConstant locale = GetLocaleByName(localeName);
+ if (locale == LOCALE_enUS)
+ continue;
- AddLocaleString(text, locale, data.Text);
+ PageTextLocale& data = _pageTextLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.Text);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u PageText locale strings in %u ms", uint32(_pageTextLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -6214,11 +6206,11 @@ void ObjectMgr::LoadNpcTextLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- NpcTextLocale& data = _npcTextLocaleStore[id];
- LocaleConstant locale = GetLocaleByName(localeName);
+ LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
+ NpcTextLocale& data = _npcTextLocaleStore[id];
for (uint8 i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i)
{
AddLocaleString(fields[2 + i * 2].GetString(), locale, data.Text_0[i]);
@@ -6534,14 +6526,13 @@ void ObjectMgr::LoadQuestGreetingLocales()
}
std::string localeName = fields[2].GetString();
- std::string greeting = fields[3].GetString();
- QuestGreetingLocale& data = _questGreetingLocaleStore[MAKE_PAIR32(id, type)];
- LocaleConstant locale = GetLocaleByName(localeName);
+ LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
- AddLocaleString(greeting, locale, data.greeting);
+ QuestGreetingLocale& data = _questGreetingLocaleStore[MAKE_PAIR32(id, type)];
+ AddLocaleString(fields[3].GetString(), locale, data.greeting);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u quest greeting locale strings in %u ms", uint32(_questGreetingLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -7417,17 +7408,13 @@ void ObjectMgr::LoadGameObjectLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string name = fields[2].GetString();
- std::string castBarCaption = fields[3].GetString();
-
- GameObjectLocale& data = _gameObjectLocaleStore[id];
LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
- AddLocaleString(name, locale, data.Name);
- AddLocaleString(castBarCaption, locale, data.CastBarCaption);
-
+ GameObjectLocale& data = _gameObjectLocaleStore[id];
+ AddLocaleString(fields[2].GetString(), locale, data.Name);
+ AddLocaleString(fields[3].GetString(), locale, data.CastBarCaption);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u gameobject_template_locale strings in %u ms", uint32(_gameObjectLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -9783,8 +9770,10 @@ void ObjectMgr::LoadBroadcastTextLocales()
uint32 id = fields[0].GetUInt32();
std::string localeName = fields[1].GetString();
- std::string Text = fields[2].GetString();
- std::string Text1 = fields[3].GetString();
+
+ LocaleConstant locale = GetLocaleByName(localeName);
+ if (locale == LOCALE_enUS)
+ continue;
BroadcastTextContainer::iterator bct = _broadcastTextStore.find(id);
if (bct == _broadcastTextStore.end())
@@ -9793,12 +9782,8 @@ void ObjectMgr::LoadBroadcastTextLocales()
continue;
}
- LocaleConstant locale = GetLocaleByName(localeName);
- if (locale == LOCALE_enUS)
- continue;
-
- AddLocaleString(Text, locale, bct->second.Text);
- AddLocaleString(Text1, locale, bct->second.Text1);
+ AddLocaleString(fields[2].GetString(), locale, bct->second.Text);
+ AddLocaleString(fields[3].GetString(), locale, bct->second.Text1);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u broadcast text locales in %u ms", uint32(_broadcastTextStore.size()), GetMSTimeDiffToNow(oldMSTime));
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 9ac00872e13..f239897ffa2 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -1534,7 +1534,7 @@ class TC_GAME_API ObjectMgr
// for wintergrasp only
GraveyardContainer GraveyardStore;
- static void AddLocaleString(std::string const& value, LocaleConstant localeConstant, std::vector<std::string>& data);
+ static void AddLocaleString(std::string&& value, LocaleConstant localeConstant, std::vector<std::string>& data);
static inline void GetLocaleString(std::vector<std::string> const& data, LocaleConstant localeConstant, std::string& value)
{
if (data.size() > size_t(localeConstant) && !data[localeConstant].empty())
diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp
index d587aaf2670..9d7efaa71ac 100644
--- a/src/server/game/Texts/CreatureTextMgr.cpp
+++ b/src/server/game/Texts/CreatureTextMgr.cpp
@@ -193,14 +193,13 @@ void CreatureTextMgr::LoadCreatureTextLocales()
uint32 groupId = fields[1].GetUInt8();
uint32 id = fields[2].GetUInt8();
std::string localeName = fields[3].GetString();
- std::string text = fields[4].GetString();
- CreatureTextLocale& data = mLocaleTextMap[CreatureTextId(creatureId, groupId, id)];
LocaleConstant locale = GetLocaleByName(localeName);
if (locale == LOCALE_enUS)
continue;
- ObjectMgr::AddLocaleString(text, locale, data.Text);
+ CreatureTextLocale& data = mLocaleTextMap[CreatureTextId(creatureId, groupId, id)];
+ ObjectMgr::AddLocaleString(fields[4].GetString(), locale, data.Text);
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u creature localized texts in %u ms", uint32(mLocaleTextMap.size()), GetMSTimeDiffToNow(oldMSTime));