aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2023-11-15 21:12:51 +0100
committerOvahlord <dreadkiller@gmx.de>2023-11-15 21:12:51 +0100
commit04632fa1c34e5daae0d467612fd4fd77d1fa21e7 (patch)
tree1493cb13aaa8395a396de09fb46c6628a8ffa0a9
parente06fd6bd5ad3a0d4bfc7ff23dcc3c4ba815ccd42 (diff)
Core/DataStores: load GlyphSlot.db2
-rw-r--r--sql/updates/hotfixes/3.4.x/2023_11_15_02_hotfixes.sql24
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.cpp4
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.h3
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h12
-rw-r--r--src/server/game/DataStores/DB2Stores.cpp1
-rw-r--r--src/server/game/DataStores/DB2Structure.h7
6 files changed, 51 insertions, 0 deletions
diff --git a/sql/updates/hotfixes/3.4.x/2023_11_15_02_hotfixes.sql b/sql/updates/hotfixes/3.4.x/2023_11_15_02_hotfixes.sql
new file mode 100644
index 00000000000..fa42068b854
--- /dev/null
+++ b/sql/updates/hotfixes/3.4.x/2023_11_15_02_hotfixes.sql
@@ -0,0 +1,24 @@
+--
+-- Table structure for table `glyph_slot`
+--
+
+DROP TABLE IF EXISTS `glyph_slot`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `glyph_slot` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `Tooltip` int(11) NOT NULL DEFAULT '0',
+ `Type` int(10) unsigned NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `glyph_slot`
+--
+
+LOCK TABLES `glyph_slot` WRITE;
+/*!40000 ALTER TABLE `glyph_slot` DISABLE KEYS */;
+/*!40000 ALTER TABLE `glyph_slot` ENABLE KEYS */;
+UNLOCK TABLES;
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp
index 389015f59ae..9662753ccc6 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.cpp
+++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp
@@ -707,6 +707,10 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_GLYPH_BINDABLE_SPELL, "SELECT ID, SpellID, GlyphPropertiesID FROM glyph_bindable_spell WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_GLYPH_BINDABLE_SPELL, "SELECT MAX(ID) + 1 FROM glyph_bindable_spell", CONNECTION_SYNCH);
+ // GlyphSlot.db2
+ PrepareStatement(HOTFIX_SEL_GLYPH_SLOT, "SELECT ID, Tooltip, Type FROM glyph_slot WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
+ PREPARE_MAX_ID_STMT(HOTFIX_SEL_GLYPH_SLOT, "SELECT MAX(ID) + 1 FROM glyph_slot", CONNECTION_SYNCH);
+
// GlyphProperties.db2
PrepareStatement(HOTFIX_SEL_GLYPH_PROPERTIES, "SELECT ID, SpellID, GlyphType, GlyphExclusiveCategoryID, SpellIconFileDataID, GlyphSlotFlags"
" FROM glyph_properties WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h
index 0496323703e..a81f7046a39 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.h
+++ b/src/server/database/Database/Implementation/HotfixDatabase.h
@@ -407,6 +407,9 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_GLYPH_BINDABLE_SPELL,
HOTFIX_SEL_GLYPH_BINDABLE_SPELL_MAX_ID,
+ HOTFIX_SEL_GLYPH_SLOT,
+ HOTFIX_SEL_GLYPH_SLOT_MAX_ID,
+
HOTFIX_SEL_GLYPH_PROPERTIES,
HOTFIX_SEL_GLYPH_PROPERTIES_MAX_ID,
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index 74a9d0a298c..80c81958373 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -2173,6 +2173,18 @@ struct GlyphBindableSpellLoadInfo
static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphBindableSpellMeta::Instance, HOTFIX_SEL_GLYPH_BINDABLE_SPELL };
};
+struct GlyphSlotLoadInfo
+{
+ static constexpr DB2FieldMeta Fields[3] =
+ {
+ { false, FT_INT, "ID" },
+ { true, FT_INT, "Tooltip" },
+ { false, FT_INT, "Type" },
+ };
+
+ static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphSlotMeta::Instance, HOTFIX_SEL_GLYPH_SLOT };
+};
+
struct GlyphPropertiesLoadInfo
{
static constexpr DB2FieldMeta Fields[6] =
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp
index fb11be6e8ea..d47477319be 100644
--- a/src/server/game/DataStores/DB2Stores.cpp
+++ b/src/server/game/DataStores/DB2Stores.cpp
@@ -151,6 +151,7 @@ DB2Storage<GarrSiteLevelPlotInstEntry> sGarrSiteLevelPlotInstStore("Gar
DB2Storage<GarrTalentTreeEntry> sGarrTalentTreeStore("GarrTalentTree.db2", &GarrTalentTreeLoadInfo::Instance);
DB2Storage<GemPropertiesEntry> sGemPropertiesStore("GemProperties.db2", &GemPropertiesLoadInfo::Instance);
DB2Storage<GlyphBindableSpellEntry> sGlyphBindableSpellStore("GlyphBindableSpell.db2", &GlyphBindableSpellLoadInfo::Instance);
+DB2Storage<GlyphSlotEntry> sGlyphSlotStore("GlyphSlot.db2", &GlyphSlotLoadInfo::Instance);
DB2Storage<GlyphPropertiesEntry> sGlyphPropertiesStore("GlyphProperties.db2", &GlyphPropertiesLoadInfo::Instance);
DB2Storage<GlyphRequiredSpecEntry> sGlyphRequiredSpecStore("GlyphRequiredSpec.db2", &GlyphRequiredSpecLoadInfo::Instance);
DB2Storage<GossipNPCOptionEntry> sGossipNPCOptionStore("GossipNPCOption.db2", &GossipNpcOptionLoadInfo::Instance);
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index 1b8c798039a..1af31d98744 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -1833,6 +1833,13 @@ struct GlyphBindableSpellEntry
uint32 GlyphPropertiesID;
};
+struct GlyphSlotEntry
+{
+ uint32 ID;
+ int32 Tooltip;
+ uint32 Type;
+};
+
struct GlyphPropertiesEntry
{
uint32 ID;