From 2fd2d1c079b45cf68883b01e280cdf93ec83a55f Mon Sep 17 00:00:00 2001 From: fallenoak Date: Mon, 29 Dec 2025 19:10:34 -0600 Subject: [PATCH] feat(db): add FactionTemplateRec --- src/db/Db.cpp | 2 ++ src/db/Db.hpp | 2 ++ src/db/rec/FactionTemplateRec.cpp | 51 +++++++++++++++++++++++++++++++ src/db/rec/FactionTemplateRec.hpp | 29 ++++++++++++++++++ 4 files changed, 84 insertions(+) create mode 100644 src/db/rec/FactionTemplateRec.cpp create mode 100644 src/db/rec/FactionTemplateRec.hpp diff --git a/src/db/Db.cpp b/src/db/Db.cpp index f596cf7..634082e 100644 --- a/src/db/Db.cpp +++ b/src/db/Db.cpp @@ -13,6 +13,7 @@ WowClientDB g_chrClassesDB; WowClientDB g_chrRacesDB; WowClientDB g_creatureDisplayInfoDB; WowClientDB g_creatureModelDataDB; +WowClientDB g_factionTemplateDB; WowClientDB g_itemDisplayInfoDB; WowClientDB g_itemVisualsDB; WowClientDB g_mapDB; @@ -36,6 +37,7 @@ void StaticDBLoadAll(void (*loadFn)(WowClientDB_Base*, const char*, int32_t)) { loadFn(&g_chrRacesDB, __FILE__, __LINE__); loadFn(&g_creatureDisplayInfoDB, __FILE__, __LINE__); loadFn(&g_creatureModelDataDB, __FILE__, __LINE__); + loadFn(&g_factionTemplateDB, __FILE__, __LINE__); loadFn(&g_itemDisplayInfoDB, __FILE__, __LINE__); loadFn(&g_itemVisualsDB, __FILE__, __LINE__); loadFn(&g_mapDB, __FILE__, __LINE__); diff --git a/src/db/Db.hpp b/src/db/Db.hpp index 70f353c..6d10eb3 100644 --- a/src/db/Db.hpp +++ b/src/db/Db.hpp @@ -14,6 +14,7 @@ #include "db/rec/ChrRacesRec.hpp" #include "db/rec/CreatureDisplayInfoRec.hpp" #include "db/rec/CreatureModelDataRec.hpp" +#include "db/rec/FactionTemplateRec.hpp" #include "db/rec/ItemDisplayInfoRec.hpp" #include "db/rec/ItemVisualsRec.hpp" #include "db/rec/MapRec.hpp" @@ -32,6 +33,7 @@ extern WowClientDB g_chrClassesDB; extern WowClientDB g_chrRacesDB; extern WowClientDB g_creatureDisplayInfoDB; extern WowClientDB g_creatureModelDataDB; +extern WowClientDB g_factionTemplateDB; extern WowClientDB g_itemDisplayInfoDB; extern WowClientDB g_itemVisualsDB; extern WowClientDB g_mapDB; diff --git a/src/db/rec/FactionTemplateRec.cpp b/src/db/rec/FactionTemplateRec.cpp new file mode 100644 index 0000000..958f91b --- /dev/null +++ b/src/db/rec/FactionTemplateRec.cpp @@ -0,0 +1,51 @@ +// DO NOT EDIT: generated by whoa-autocode +#include "db/rec/FactionTemplateRec.hpp" +#include "util/Locale.hpp" +#include "util/SFile.hpp" + +const char* FactionTemplateRec::GetFilename() { + return "DBFilesClient\\FactionTemplate.dbc"; +} + +uint32_t FactionTemplateRec::GetNumColumns() { + return 14; +} + +uint32_t FactionTemplateRec::GetRowSize() { + return 56; +} + +bool FactionTemplateRec::NeedIDAssigned() { + return false; +} + +int32_t FactionTemplateRec::GetID() { + return this->m_ID; +} + +void FactionTemplateRec::SetID(int32_t id) { + this->m_ID = id; +} + +bool FactionTemplateRec::Read(SFile* f, const char* stringBuffer) { + if ( + !SFile::Read(f, &this->m_ID, sizeof(this->m_ID), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_faction, sizeof(this->m_faction), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_flags, sizeof(this->m_flags), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_factionGroup, sizeof(this->m_factionGroup), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_friendGroup, sizeof(this->m_friendGroup), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_enemyGroup, sizeof(this->m_enemyGroup), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_enemies[0], sizeof(m_enemies[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_enemies[1], sizeof(m_enemies[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_enemies[2], sizeof(m_enemies[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_enemies[3], sizeof(m_enemies[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_friend[0], sizeof(m_friend[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_friend[1], sizeof(m_friend[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_friend[2], sizeof(m_friend[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_friend[3], sizeof(m_friend[0]), nullptr, nullptr, nullptr) + ) { + return false; + } + + return true; +} diff --git a/src/db/rec/FactionTemplateRec.hpp b/src/db/rec/FactionTemplateRec.hpp new file mode 100644 index 0000000..1fbf423 --- /dev/null +++ b/src/db/rec/FactionTemplateRec.hpp @@ -0,0 +1,29 @@ +// DO NOT EDIT: generated by whoa-autocode +#ifndef DB_REC_FACTION_TEMPLATE_REC_HPP +#define DB_REC_FACTION_TEMPLATE_REC_HPP + +#include + +class SFile; + +class FactionTemplateRec { + public: + int32_t m_ID; + int32_t m_faction; + int32_t m_flags; + int32_t m_factionGroup; + int32_t m_friendGroup; + int32_t m_enemyGroup; + int32_t m_enemies[4]; + int32_t m_friend[4]; + + 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