From 29bee10e11fd1200b16f0b25f5b692e2c768efae Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sat, 25 Oct 2025 22:43:51 -0500 Subject: [PATCH] feat(db): add CharacterFacialHairStylesRec --- src/db/Db.cpp | 2 + src/db/Db.hpp | 2 + src/db/rec/CharacterFacialHairStylesRec.cpp | 45 +++++++++++++++++++++ src/db/rec/CharacterFacialHairStylesRec.hpp | 26 ++++++++++++ 4 files changed, 75 insertions(+) create mode 100644 src/db/rec/CharacterFacialHairStylesRec.cpp create mode 100644 src/db/rec/CharacterFacialHairStylesRec.hpp diff --git a/src/db/Db.cpp b/src/db/Db.cpp index 8f252a8..9f0345d 100644 --- a/src/db/Db.cpp +++ b/src/db/Db.cpp @@ -5,6 +5,7 @@ WowClientDB g_achievementDB; WowClientDB g_areaTableDB; WowClientDB g_cfg_CategoriesDB; WowClientDB g_cfg_ConfigsDB; +WowClientDB g_characterFacialHairStylesDB; WowClientDB g_charHairGeosetsDB; WowClientDB g_charSectionsDB; WowClientDB g_chrClassesDB; @@ -22,6 +23,7 @@ void StaticDBLoadAll(void (*loadFn)(WowClientDB_Base*, const char*, int32_t)) { loadFn(&g_areaTableDB, __FILE__, __LINE__); loadFn(&g_cfg_CategoriesDB, __FILE__, __LINE__); loadFn(&g_cfg_ConfigsDB, __FILE__, __LINE__); + loadFn(&g_characterFacialHairStylesDB, __FILE__, __LINE__); loadFn(&g_charHairGeosetsDB, __FILE__, __LINE__); loadFn(&g_charSectionsDB, __FILE__, __LINE__); loadFn(&g_chrClassesDB, __FILE__, __LINE__); diff --git a/src/db/Db.hpp b/src/db/Db.hpp index 02c66ea..63188ca 100644 --- a/src/db/Db.hpp +++ b/src/db/Db.hpp @@ -6,6 +6,7 @@ #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/ChrClassesRec.hpp" @@ -18,6 +19,7 @@ extern WowClientDB g_achievementDB; extern WowClientDB g_areaTableDB; extern WowClientDB g_cfg_CategoriesDB; extern WowClientDB g_cfg_ConfigsDB; +extern WowClientDB g_characterFacialHairStylesDB; extern WowClientDB g_charHairGeosetsDB; extern WowClientDB g_charSectionsDB; extern WowClientDB g_chrClassesDB; diff --git a/src/db/rec/CharacterFacialHairStylesRec.cpp b/src/db/rec/CharacterFacialHairStylesRec.cpp new file mode 100644 index 0000000..7da10ea --- /dev/null +++ b/src/db/rec/CharacterFacialHairStylesRec.cpp @@ -0,0 +1,45 @@ +// DO NOT EDIT: generated by whoa-autocode +#include "db/rec/CharacterFacialHairStylesRec.hpp" +#include "util/Locale.hpp" +#include "util/SFile.hpp" + +const char* CharacterFacialHairStylesRec::GetFilename() { + return "DBFilesClient\\CharacterFacialHairStyles.dbc"; +} + +uint32_t CharacterFacialHairStylesRec::GetNumColumns() { + return 8; +} + +uint32_t CharacterFacialHairStylesRec::GetRowSize() { + return 32; +} + +bool CharacterFacialHairStylesRec::NeedIDAssigned() { + return true; +} + +int32_t CharacterFacialHairStylesRec::GetID() { + return this->m_generatedID; +} + +void CharacterFacialHairStylesRec::SetID(int32_t id) { + this->m_generatedID = id; +} + +bool CharacterFacialHairStylesRec::Read(SFile* f, const char* stringBuffer) { + if ( + !SFile::Read(f, &this->m_raceID, sizeof(this->m_raceID), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_sexID, sizeof(this->m_sexID), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_variationID, sizeof(this->m_variationID), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_geoset[0], sizeof(m_geoset[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_geoset[1], sizeof(m_geoset[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_geoset[2], sizeof(m_geoset[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_geoset[3], sizeof(m_geoset[0]), nullptr, nullptr, nullptr) + || !SFile::Read(f, &this->m_geoset[4], sizeof(m_geoset[0]), nullptr, nullptr, nullptr) + ) { + return false; + } + + return true; +} diff --git a/src/db/rec/CharacterFacialHairStylesRec.hpp b/src/db/rec/CharacterFacialHairStylesRec.hpp new file mode 100644 index 0000000..2ce63db --- /dev/null +++ b/src/db/rec/CharacterFacialHairStylesRec.hpp @@ -0,0 +1,26 @@ +// DO NOT EDIT: generated by whoa-autocode +#ifndef DB_REC_CHARACTER_FACIAL_HAIR_STYLES_REC_HPP +#define DB_REC_CHARACTER_FACIAL_HAIR_STYLES_REC_HPP + +#include + +class SFile; + +class CharacterFacialHairStylesRec { + public: + int32_t m_raceID; + int32_t m_sexID; + int32_t m_variationID; + int32_t m_geoset[5]; + 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