From ed3b9ac6284fd0c134df505c1dc95098a2e5689a Mon Sep 17 00:00:00 2001 From: fallenoak Date: Thu, 30 Oct 2025 20:27:18 -0500 Subject: [PATCH] feat(db): add ItemVisualsRec --- src/db/Db.cpp | 2 ++ src/db/Db.hpp | 4 +++- src/db/rec/ItemVisualsRec.cpp | 43 +++++++++++++++++++++++++++++++++++ src/db/rec/ItemVisualsRec.hpp | 23 +++++++++++++++++++ 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 src/db/rec/ItemVisualsRec.cpp create mode 100644 src/db/rec/ItemVisualsRec.hpp diff --git a/src/db/Db.cpp b/src/db/Db.cpp index cff275b..ca1e2ea 100644 --- a/src/db/Db.cpp +++ b/src/db/Db.cpp @@ -13,6 +13,7 @@ WowClientDB g_chrRacesDB; WowClientDB g_creatureDisplayInfoDB; WowClientDB g_creatureModelDataDB; WowClientDB g_itemDisplayInfoDB; +WowClientDB g_itemVisualsDB; WowClientDB g_mapDB; void LoadDB(WowClientDB_Base* db, const char* filename, int32_t linenumber) { @@ -32,6 +33,7 @@ void StaticDBLoadAll(void (*loadFn)(WowClientDB_Base*, const char*, int32_t)) { loadFn(&g_creatureDisplayInfoDB, __FILE__, __LINE__); loadFn(&g_creatureModelDataDB, __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 20c89bf..fb08b67 100644 --- a/src/db/Db.hpp +++ b/src/db/Db.hpp @@ -6,14 +6,15 @@ #include "db/rec/AreaTableRec.hpp" #include "db/rec/Cfg_CategoriesRec.hpp" #include "db/rec/Cfg_ConfigsRec.hpp" -#include "db/rec/CharacterFacialHairStylesRec.hpp" #include "db/rec/CharHairGeosetsRec.hpp" #include "db/rec/CharSectionsRec.hpp" +#include "db/rec/CharacterFacialHairStylesRec.hpp" #include "db/rec/ChrClassesRec.hpp" #include "db/rec/ChrRacesRec.hpp" #include "db/rec/CreatureDisplayInfoRec.hpp" #include "db/rec/CreatureModelDataRec.hpp" #include "db/rec/ItemDisplayInfoRec.hpp" +#include "db/rec/ItemVisualsRec.hpp" #include "db/rec/MapRec.hpp" extern WowClientDB g_achievementDB; @@ -28,6 +29,7 @@ extern WowClientDB g_chrRacesDB; extern WowClientDB g_creatureDisplayInfoDB; extern WowClientDB g_creatureModelDataDB; extern WowClientDB g_itemDisplayInfoDB; +extern WowClientDB g_itemVisualsDB; extern WowClientDB g_mapDB; void ClientDBInitialize(); diff --git a/src/db/rec/ItemVisualsRec.cpp b/src/db/rec/ItemVisualsRec.cpp new file mode 100644 index 0000000..56a6b96 --- /dev/null +++ b/src/db/rec/ItemVisualsRec.cpp @@ -0,0 +1,43 @@ +// DO NOT EDIT: generated by whoa-autocode +#include "db/rec/ItemVisualsRec.hpp" +#include "util/Locale.hpp" +#include "util/SFile.hpp" + +const char* ItemVisualsRec::GetFilename() { + return "DBFilesClient\\ItemVisuals.dbc"; +} + +uint32_t ItemVisualsRec::GetNumColumns() { + return 6; +} + +uint32_t ItemVisualsRec::GetRowSize() { + return 24; +} + +bool ItemVisualsRec::NeedIDAssigned() { + return false; +} + +int32_t ItemVisualsRec::GetID() { + return this->m_ID; +} + +void ItemVisualsRec::SetID(int32_t id) { + this->m_ID = id; +} + +bool ItemVisualsRec::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_slot[0], sizeof(m_slot[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_slot[1], sizeof(m_slot[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_slot[2], sizeof(m_slot[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_slot[3], sizeof(m_slot[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_slot[4], sizeof(m_slot[0]), nullptr, nullptr, nullptr) + ) { + return false; + } + + return true; +} diff --git a/src/db/rec/ItemVisualsRec.hpp b/src/db/rec/ItemVisualsRec.hpp new file mode 100644 index 0000000..b1dbb04 --- /dev/null +++ b/src/db/rec/ItemVisualsRec.hpp @@ -0,0 +1,23 @@ +// DO NOT EDIT: generated by whoa-autocode +#ifndef DB_REC_ITEM_VISUALS_REC_HPP +#define DB_REC_ITEM_VISUALS_REC_HPP + +#include + +class SFile; + +class ItemVisualsRec { + public: + int32_t m_ID; + int32_t m_slot[5]; + + 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