mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-04-19 03:20:11 +03:00
feat(db): load realm categories db
This commit is contained in:
parent
c00028c214
commit
8745a5102d
@ -2,6 +2,7 @@
|
||||
#include "db/WowClientDB_Base.hpp"
|
||||
|
||||
WowClientDB<AchievementRec> g_achievementDB;
|
||||
WowClientDB<Cfg_CategoriesRec> g_cfg_CategoriesDB;
|
||||
|
||||
void LoadDB(WowClientDB_Base* db, const char* filename, int32_t linenumber) {
|
||||
db->Load(filename, linenumber);
|
||||
@ -9,6 +10,7 @@ void LoadDB(WowClientDB_Base* db, const char* filename, int32_t linenumber) {
|
||||
|
||||
void StaticDBLoadAll(void (*loadFn)(WowClientDB_Base*, const char*, int32_t)) {
|
||||
loadFn(&g_achievementDB, __FILE__, __LINE__);
|
||||
loadFn(&g_cfg_CategoriesDB, __FILE__, __LINE__);
|
||||
};
|
||||
|
||||
void ClientDBInitialize() {
|
||||
|
@ -2,9 +2,11 @@
|
||||
#define DB_DB_HPP
|
||||
|
||||
#include "db/rec/AchievementRec.hpp"
|
||||
#include "db/rec/Cfg_CategoriesRec.hpp"
|
||||
#include "db/WowClientDB.hpp"
|
||||
|
||||
extern WowClientDB<AchievementRec> g_achievementDB;
|
||||
extern WowClientDB<Cfg_CategoriesRec> g_cfg_CategoriesDB;
|
||||
|
||||
void ClientDBInitialize();
|
||||
|
||||
|
45
src/db/rec/Cfg_CategoriesRec.cpp
Normal file
45
src/db/rec/Cfg_CategoriesRec.cpp
Normal file
@ -0,0 +1,45 @@
|
||||
#include "db/rec/Cfg_CategoriesRec.hpp"
|
||||
#include "util/SFile.hpp"
|
||||
|
||||
const char* Cfg_CategoriesRec::GetFilename() {
|
||||
return "DBFilesClient\\Cfg_Categories.dbc";
|
||||
}
|
||||
|
||||
bool Cfg_CategoriesRec::Read(SFile* f, const char* stringBuffer) {
|
||||
uint32_t nameOfs[16];
|
||||
uint32_t nameMask;
|
||||
|
||||
if (
|
||||
!SFile::Read(f, &this->m_ID, sizeof(this->m_ID), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &this->m_localeMask, sizeof(this->m_localeMask), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &this->m_createCharsetMask, sizeof(this->m_createCharsetMask), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &this->m_flags, sizeof(this->m_flags), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[0], sizeof(nameOfs[0]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[1], sizeof(nameOfs[1]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[2], sizeof(nameOfs[2]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[3], sizeof(nameOfs[3]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[4], sizeof(nameOfs[4]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[5], sizeof(nameOfs[5]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[6], sizeof(nameOfs[6]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[7], sizeof(nameOfs[7]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[8], sizeof(nameOfs[8]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[9], sizeof(nameOfs[9]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[10], sizeof(nameOfs[10]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[11], sizeof(nameOfs[11]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[12], sizeof(nameOfs[12]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[13], sizeof(nameOfs[13]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[14], sizeof(nameOfs[14]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameOfs[15], sizeof(nameOfs[15]), nullptr, nullptr, nullptr)
|
||||
|| !SFile::Read(f, &nameMask, sizeof(nameMask), nullptr, nullptr, nullptr)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (stringBuffer) {
|
||||
this->m_name = &stringBuffer[nameOfs[0]];
|
||||
} else {
|
||||
this->m_name = "";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
23
src/db/rec/Cfg_CategoriesRec.hpp
Normal file
23
src/db/rec/Cfg_CategoriesRec.hpp
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef DB_REC_CFG_CATEGORIES_REC_HPP
|
||||
#define DB_REC_CFG_CATEGORIES_REC_HPP
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
class SFile;
|
||||
|
||||
class Cfg_CategoriesRec {
|
||||
public:
|
||||
static constexpr uint32_t columnCount = 21;
|
||||
static constexpr uint32_t rowSize = 84;
|
||||
|
||||
uint32_t m_ID;
|
||||
uint32_t m_localeMask;
|
||||
uint32_t m_createCharsetMask;
|
||||
uint32_t m_flags;
|
||||
const char *m_name;
|
||||
|
||||
static const char* GetFilename();
|
||||
bool Read(SFile* f, const char* stringBuffer);
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user