From eed060e512475fc5c21026cdf04165503257a4b5 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sun, 19 Feb 2023 15:24:55 -0600 Subject: [PATCH] feat(db): add getter for num records --- src/db/WowClientDB.hpp | 6 ++++++ src/glue/CRealmList.cpp | 4 ++-- src/ui/ScriptFunctionsGlueScriptEvents.cpp | 2 +- src/ui/ScriptFunctionsRealmList.cpp | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/db/WowClientDB.hpp b/src/db/WowClientDB.hpp index 87c2de7..51495c4 100644 --- a/src/db/WowClientDB.hpp +++ b/src/db/WowClientDB.hpp @@ -18,8 +18,14 @@ class WowClientDB : public WowClientDB_Common, IDatabase { // Member functions T* GetRecordByIndex(int32_t index) const; + int32_t GetNumRecords(); }; +template +int32_t WowClientDB::GetNumRecords() { + return this->m_numRecords; +} + template T* WowClientDB::GetRecordByIndex(int32_t index) const { STORM_ASSERT(this->m_numRecords >= 0); diff --git a/src/glue/CRealmList.cpp b/src/glue/CRealmList.cpp index 1952faa..9525b5e 100644 --- a/src/glue/CRealmList.cpp +++ b/src/glue/CRealmList.cpp @@ -12,9 +12,9 @@ int32_t CRealmList::s_preferredCategory = -1; int32_t CRealmList::s_selectedCategory = -1; void CRealmList::Initialize() { - CRealmList::s_categories.SetCount(g_cfg_CategoriesDB.m_numRecords); + CRealmList::s_categories.SetCount(g_cfg_CategoriesDB.GetNumRecords()); - for (int32_t i = 0; i < g_cfg_CategoriesDB.m_numRecords; i++) { + for (int32_t i = 0; i < g_cfg_CategoriesDB.GetNumRecords(); i++) { auto m = SMemAlloc(sizeof(RealmCategory), __FILE__, __LINE__, 0x0); auto category = new (m) RealmCategory(); diff --git a/src/ui/ScriptFunctionsGlueScriptEvents.cpp b/src/ui/ScriptFunctionsGlueScriptEvents.cpp index 574a069..fb802c9 100644 --- a/src/ui/ScriptFunctionsGlueScriptEvents.cpp +++ b/src/ui/ScriptFunctionsGlueScriptEvents.cpp @@ -215,7 +215,7 @@ int32_t Script_GetServerName(lua_State* L) { auto down = true; if (selectedRealm) { - for (int32_t i = 0; i < g_cfg_ConfigsDB.m_numRecords; i++) { + for (int32_t i = 0; i < g_cfg_ConfigsDB.GetNumRecords(); i++) { auto config = g_cfg_ConfigsDB.GetRecordByIndex(i); if (config->m_realmType == selectedRealm->type) { diff --git a/src/ui/ScriptFunctionsRealmList.cpp b/src/ui/ScriptFunctionsRealmList.cpp index ab98551..11a9c26 100644 --- a/src/ui/ScriptFunctionsRealmList.cpp +++ b/src/ui/ScriptFunctionsRealmList.cpp @@ -137,7 +137,7 @@ int32_t Script_GetRealmInfo(lua_State* L) { int32_t realmIsPvp = 0; int32_t realmIsRp = 0; - for (int32_t i = 0; i < g_cfg_ConfigsDB.m_numRecords; i++) { + for (int32_t i = 0; i < g_cfg_ConfigsDB.GetNumRecords(); i++) { auto config = g_cfg_ConfigsDB.GetRecordByIndex(i); if (config->m_realmType == realmInfo->type) {