diff --git a/src/db/Db.cpp b/src/db/Db.cpp index ae9d7b5..f1a346f 100644 --- a/src/db/Db.cpp +++ b/src/db/Db.cpp @@ -4,6 +4,7 @@ WowClientDB g_achievementDB; WowClientDB g_cfg_CategoriesDB; WowClientDB g_cfg_ConfigsDB; +WowClientDB g_chrClassesDB; WowClientDB g_chrRacesDB; WowClientDB g_mapDB; @@ -15,6 +16,7 @@ void StaticDBLoadAll(void (*loadFn)(WowClientDB_Base*, const char*, int32_t)) { loadFn(&g_achievementDB, __FILE__, __LINE__); loadFn(&g_cfg_CategoriesDB, __FILE__, __LINE__); loadFn(&g_cfg_ConfigsDB, __FILE__, __LINE__); + loadFn(&g_chrClassesDB, __FILE__, __LINE__); loadFn(&g_chrRacesDB, __FILE__, __LINE__); loadFn(&g_mapDB, __FILE__, __LINE__); }; diff --git a/src/db/Db.hpp b/src/db/Db.hpp index 319722e..30265d8 100644 --- a/src/db/Db.hpp +++ b/src/db/Db.hpp @@ -5,12 +5,14 @@ #include "db/rec/AchievementRec.hpp" #include "db/rec/Cfg_CategoriesRec.hpp" #include "db/rec/Cfg_ConfigsRec.hpp" +#include "db/rec/ChrClassesRec.hpp" #include "db/rec/ChrRacesRec.hpp" #include "db/rec/MapRec.hpp" extern WowClientDB g_achievementDB; extern WowClientDB g_cfg_CategoriesDB; extern WowClientDB g_cfg_ConfigsDB; +extern WowClientDB g_chrClassesDB; extern WowClientDB g_chrRacesDB; extern WowClientDB g_mapDB; diff --git a/src/db/rec/ChrClassesRec.cpp b/src/db/rec/ChrClassesRec.cpp new file mode 100644 index 0000000..8001b35 --- /dev/null +++ b/src/db/rec/ChrClassesRec.cpp @@ -0,0 +1,120 @@ +// DO NOT EDIT: generated by whoa-autocode +#include "db/rec/ChrClassesRec.hpp" +#include "util/Locale.hpp" +#include "util/SFile.hpp" + +const char* ChrClassesRec::GetFilename() { + return "DBFilesClient\\ChrClasses.dbc"; +} + +uint32_t ChrClassesRec::GetNumColumns() { + return 60; +} + +uint32_t ChrClassesRec::GetRowSize() { + return 240; +} + +bool ChrClassesRec::NeedIDAssigned() { + return false; +} + +int32_t ChrClassesRec::GetID() { + return this->m_ID; +} + +void ChrClassesRec::SetID(int32_t id) { + this->m_ID = id; +} + +bool ChrClassesRec::Read(SFile* f, const char* stringBuffer) { + uint32_t petNameTokenOfs; + uint32_t nameOfs[16]; + uint32_t nameMask; + uint32_t nameFemaleOfs[16]; + uint32_t nameFemaleMask; + uint32_t nameMaleOfs[16]; + uint32_t nameMaleMask; + uint32_t filenameOfs; + + if ( + !SFile::Read(f, &this->m_ID, sizeof(this->m_ID), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_damageBonusStat, sizeof(this->m_damageBonusStat), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_displayPower, sizeof(this->m_displayPower), nullptr, nullptr, nullptr) + || !SFile::Read(f, &petNameTokenOfs, sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[0], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[1], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[2], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[3], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[4], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[5], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[6], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[7], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[8], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[9], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[10], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[11], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[12], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[13], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[14], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameOfs[15], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMask, sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[0], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[1], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[2], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[3], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[4], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[5], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[6], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[7], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[8], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[9], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[10], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[11], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[12], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[13], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[14], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleOfs[15], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameFemaleMask, sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[0], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[1], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[2], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[3], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[4], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[5], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[6], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[7], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[8], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[9], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[10], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[11], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[12], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[13], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[14], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleOfs[15], sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &nameMaleMask, sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &filenameOfs, sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_spellClassSet, sizeof(this->m_spellClassSet), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_flags, sizeof(this->m_flags), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_cinematicSequenceID, sizeof(this->m_cinematicSequenceID), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_requiredExpansion, sizeof(this->m_requiredExpansion), nullptr, nullptr, nullptr) + ) { + return false; + } + + if (stringBuffer) { + this->m_petNameToken = &stringBuffer[petNameTokenOfs]; + this->m_name = &stringBuffer[nameOfs[CURRENT_LANGUAGE]]; + this->m_nameFemale = &stringBuffer[nameFemaleOfs[CURRENT_LANGUAGE]]; + this->m_nameMale = &stringBuffer[nameMaleOfs[CURRENT_LANGUAGE]]; + this->m_filename = &stringBuffer[filenameOfs]; + } else { + this->m_petNameToken = ""; + this->m_name = ""; + this->m_nameFemale = ""; + this->m_nameMale = ""; + this->m_filename = ""; + } + + return true; +} diff --git a/src/db/rec/ChrClassesRec.hpp b/src/db/rec/ChrClassesRec.hpp new file mode 100644 index 0000000..cddd184 --- /dev/null +++ b/src/db/rec/ChrClassesRec.hpp @@ -0,0 +1,33 @@ +// DO NOT EDIT: generated by whoa-autocode +#ifndef DB_REC_CHR_CLASSES_REC_HPP +#define DB_REC_CHR_CLASSES_REC_HPP + +#include + +class SFile; + +class ChrClassesRec { + public: + int32_t m_ID; + int32_t m_damageBonusStat; + int32_t m_displayPower; + const char* m_petNameToken; + const char* m_name; + const char* m_nameFemale; + const char* m_nameMale; + const char* m_filename; + int32_t m_spellClassSet; + int32_t m_flags; + int32_t m_cinematicSequenceID; + int32_t m_requiredExpansion; + + static const char* GetFilename(); + static uint32_t GetNumColumns(); + static uint32_t GetRowSize(); + static bool NeedIDAssigned(); + int32_t GetID(); + void SetID(int32_t id); + bool Read(SFile* f, const char* stringBuffer); +}; + +#endif