diff options
author | Matan Shukry <matanshukry@gmail.com> | 2021-04-29 21:18:08 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-04-29 21:18:08 +0200 |
commit | cd8edc68951dbd771d437a3824c6d06706242323 (patch) | |
tree | d81273c2d6812093a078b51a3b9a205f4903e95a /src | |
parent | 8e6821648b96e4ae8e495b1adc0c15855eea9633 (diff) |
Core/DataStores: Load LanguageWords.db2 and Languages.db2 for future use
Diffstat (limited to 'src')
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.cpp | 9 | ||||
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.h | 7 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 29 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 4 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Stores.h | 2 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 13 |
6 files changed, 64 insertions, 0 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp index d88740249e3..f21bd71baa4 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.cpp +++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp @@ -910,6 +910,15 @@ void HotfixDatabaseConnection::DoPrepareStatements() " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_KEYCHAIN, "SELECT MAX(ID) + 1 FROM keychain", CONNECTION_SYNCH); + // LanguageWords.db2 + PrepareStatement(HOTFIX_SEL_LANGUAGE_WORDS, "SELECT ID, Word, LanguageID FROM language_words WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PREPARE_MAX_ID_STMT(HOTFIX_SEL_LANGUAGE_WORDS, "SELECT MAX(ID) + 1 FROM language_words", CONNECTION_SYNCH); + + // Languages.db2 + PrepareStatement(HOTFIX_SEL_LANGUAGES, "SELECT Name, ID FROM languages WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PREPARE_MAX_ID_STMT(HOTFIX_SEL_LANGUAGES, "SELECT MAX(ID) + 1 FROM languages", CONNECTION_SYNCH); + PREPARE_LOCALE_STMT(HOTFIX_SEL_LANGUAGES, "SELECT ID, Name_lang FROM languages_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); + // LfgDungeons.db2 PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name, Description, TypeID, Subtype, Faction, IconTextureFileID, RewardsBgTextureFileID, " "PopupBgTextureFileID, ExpansionLevel, MapID, DifficultyID, MinGear, GroupID, OrderIndex, RequiredPlayerConditionId, RandomID, ScenarioID, " diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h index c3071db7754..443ad2ae744 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.h +++ b/src/server/database/Database/Implementation/HotfixDatabase.h @@ -528,6 +528,13 @@ enum HotfixDatabaseStatements : uint32 HOTFIX_SEL_KEYCHAIN, HOTFIX_SEL_KEYCHAIN_MAX_ID, + HOTFIX_SEL_LANGUAGE_WORDS, + HOTFIX_SEL_LANGUAGE_WORDS_MAX_ID, + + HOTFIX_SEL_LANGUAGES, + HOTFIX_SEL_LANGUAGES_MAX_ID, + HOTFIX_SEL_LANGUAGES_LOCALE, + HOTFIX_SEL_LFG_DUNGEONS, HOTFIX_SEL_LFG_DUNGEONS_MAX_ID, HOTFIX_SEL_LFG_DUNGEONS_LOCALE, diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 8db5938725f..ee9ccc26255 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -3398,6 +3398,35 @@ struct KeychainLoadInfo } }; +struct LanguageWordsLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Word" }, + { false, FT_INT, "LanguageID" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, LanguageWordsMeta::Instance(), HOTFIX_SEL_LANGUAGE_WORDS); + return &loadInfo; + } +}; + +struct LanguagesLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, LanguagesMeta::Instance(), HOTFIX_SEL_LANGUAGES); + return &loadInfo; + } +}; + struct LfgDungeonsLoadInfo { static DB2LoadInfo const* Instance() diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index 584070d1dac..81e848bb87d 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -193,6 +193,8 @@ DB2Storage<ItemSpecEntry> sItemSpecStore("ItemSpec.db2", I DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore("ItemSpecOverride.db2", ItemSpecOverrideLoadInfo::Instance()); DB2Storage<ItemXBonusTreeEntry> sItemXBonusTreeStore("ItemXBonusTree.db2", ItemXBonusTreeLoadInfo::Instance()); DB2Storage<KeychainEntry> sKeychainStore("Keychain.db2", KeychainLoadInfo::Instance()); +DB2Storage<LanguageWordsEntry> sLanguageWordsStore("LanguageWords.db2", LanguageWordsLoadInfo::Instance()); +DB2Storage<LanguagesEntry> sLanguagesStore("Languages.db2", LanguagesLoadInfo::Instance()); DB2Storage<LFGDungeonsEntry> sLFGDungeonsStore("LFGDungeons.db2", LfgDungeonsLoadInfo::Instance()); DB2Storage<LightEntry> sLightStore("Light.db2", LightLoadInfo::Instance()); DB2Storage<LiquidTypeEntry> sLiquidTypeStore("LiquidType.db2", LiquidTypeLoadInfo::Instance()); @@ -729,6 +731,8 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul LOAD_DB2(sItemSpecOverrideStore); LOAD_DB2(sItemXBonusTreeStore); LOAD_DB2(sKeychainStore); + LOAD_DB2(sLanguageWordsStore); + LOAD_DB2(sLanguagesStore); LOAD_DB2(sLFGDungeonsStore); LOAD_DB2(sLightStore); LOAD_DB2(sLiquidTypeStore); diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index 9563257b501..47ff813c03d 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -147,6 +147,8 @@ TC_GAME_API extern DB2Storage<ItemSetSpellEntry> sItemSetSpel TC_GAME_API extern DB2Storage<ItemSparseEntry> sItemSparseStore; TC_GAME_API extern DB2Storage<ItemSpecEntry> sItemSpecStore; TC_GAME_API extern DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore; +TC_GAME_API extern DB2Storage<LanguageWordsEntry> sLanguageWordsStore; +TC_GAME_API extern DB2Storage<LanguagesEntry> sLanguagesStore; TC_GAME_API extern DB2Storage<LFGDungeonsEntry> sLFGDungeonsStore; TC_GAME_API extern DB2Storage<LiquidTypeEntry> sLiquidTypeStore; TC_GAME_API extern DB2Storage<LockEntry> sLockStore; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index ea90e59d02c..5322e12cb2b 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -2110,6 +2110,19 @@ struct KeychainEntry uint8 Key[KEYCHAIN_SIZE]; }; +struct LanguageWordsEntry +{ + uint32 ID; + char const* Word; + uint32 LanguageID; +}; + +struct LanguagesEntry +{ + LocalizedString Name; + uint32 ID; +}; + struct LFGDungeonsEntry { uint32 ID; |