From c133d37705799b201ab7437edaa487c5cd1f1b3b Mon Sep 17 00:00:00 2001 From: fallenoak Date: Fri, 6 Feb 2026 06:23:28 -0600 Subject: [PATCH] feat(db): add PaperDollItemFrameRec --- src/db/Db.cpp | 2 ++ src/db/Db.hpp | 2 ++ src/db/rec/PaperDollItemFrameRec.cpp | 51 ++++++++++++++++++++++++++++ src/db/rec/PaperDollItemFrameRec.hpp | 25 ++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 src/db/rec/PaperDollItemFrameRec.cpp create mode 100644 src/db/rec/PaperDollItemFrameRec.hpp diff --git a/src/db/Db.cpp b/src/db/Db.cpp index ea8a8d1..5d08340 100644 --- a/src/db/Db.cpp +++ b/src/db/Db.cpp @@ -18,6 +18,7 @@ WowClientDB g_factionTemplateDB; WowClientDB g_itemDisplayInfoDB; WowClientDB g_itemVisualsDB; WowClientDB g_mapDB; +WowClientDB g_paperDollItemFrameDB; WowClientDB g_soundEntriesDB; WowClientDB g_soundEntriesAdvancedDB; @@ -43,6 +44,7 @@ void StaticDBLoadAll(void (*loadFn)(WowClientDB_Base*, const char*, int32_t)) { loadFn(&g_itemDisplayInfoDB, __FILE__, __LINE__); loadFn(&g_itemVisualsDB, __FILE__, __LINE__); loadFn(&g_mapDB, __FILE__, __LINE__); + loadFn(&g_paperDollItemFrameDB, __FILE__, __LINE__); loadFn(&g_soundEntriesDB, __FILE__, __LINE__); loadFn(&g_soundEntriesAdvancedDB, __FILE__, __LINE__); }; diff --git a/src/db/Db.hpp b/src/db/Db.hpp index 75421d9..2eddf58 100644 --- a/src/db/Db.hpp +++ b/src/db/Db.hpp @@ -19,6 +19,7 @@ #include "db/rec/ItemDisplayInfoRec.hpp" #include "db/rec/ItemVisualsRec.hpp" #include "db/rec/MapRec.hpp" +#include "db/rec/PaperDollItemFrameRec.hpp" #include "db/rec/SoundEntriesRec.hpp" #include "db/rec/SoundEntriesAdvancedRec.hpp" @@ -39,6 +40,7 @@ extern WowClientDB g_factionTemplateDB; extern WowClientDB g_itemDisplayInfoDB; extern WowClientDB g_itemVisualsDB; extern WowClientDB g_mapDB; +extern WowClientDB g_paperDollItemFrameDB; extern WowClientDB g_soundEntriesDB; extern WowClientDB g_soundEntriesAdvancedDB; diff --git a/src/db/rec/PaperDollItemFrameRec.cpp b/src/db/rec/PaperDollItemFrameRec.cpp new file mode 100644 index 0000000..87a0d5b --- /dev/null +++ b/src/db/rec/PaperDollItemFrameRec.cpp @@ -0,0 +1,51 @@ +// DO NOT EDIT: generated by whoa-autocode +#include "db/rec/PaperDollItemFrameRec.hpp" +#include "util/Locale.hpp" +#include "util/SFile.hpp" + +const char* PaperDollItemFrameRec::GetFilename() { + return "DBFilesClient\\PaperDollItemFrame.dbc"; +} + +uint32_t PaperDollItemFrameRec::GetNumColumns() { + return 3; +} + +uint32_t PaperDollItemFrameRec::GetRowSize() { + return 12; +} + +bool PaperDollItemFrameRec::NeedIDAssigned() { + return true; +} + +int32_t PaperDollItemFrameRec::GetID() { + return this->m_generatedID; +} + +void PaperDollItemFrameRec::SetID(int32_t id) { + this->m_generatedID = id; +} + +bool PaperDollItemFrameRec::Read(SFile* f, const char* stringBuffer) { + uint32_t itemButtonNameOfs; + uint32_t slotIconOfs; + + if ( + !SFile::Read(f, &itemButtonNameOfs, sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &slotIconOfs, sizeof(uint32_t), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_slotNumber, sizeof(this->m_slotNumber), nullptr, nullptr, nullptr) + ) { + return false; + } + + if (stringBuffer) { + this->m_itemButtonName = &stringBuffer[itemButtonNameOfs]; + this->m_slotIcon = &stringBuffer[slotIconOfs]; + } else { + this->m_itemButtonName = ""; + this->m_slotIcon = ""; + } + + return true; +} diff --git a/src/db/rec/PaperDollItemFrameRec.hpp b/src/db/rec/PaperDollItemFrameRec.hpp new file mode 100644 index 0000000..7ecc87d --- /dev/null +++ b/src/db/rec/PaperDollItemFrameRec.hpp @@ -0,0 +1,25 @@ +// DO NOT EDIT: generated by whoa-autocode +#ifndef DB_REC_PAPER_DOLL_ITEM_FRAME_REC_HPP +#define DB_REC_PAPER_DOLL_ITEM_FRAME_REC_HPP + +#include + +class SFile; + +class PaperDollItemFrameRec { + public: + const char* m_itemButtonName; + const char* m_slotIcon; + int32_t m_slotNumber; + int32_t m_generatedID; + + 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