mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-26 21:13:51 +00:00
Add multi-expansion support with data-driven protocol layer
Replace hardcoded WotLK protocol constants with a data-driven architecture supporting Classic 1.12.1, TBC 2.4.3, and WotLK 3.3.5a. Each expansion has JSON profiles for opcodes, update fields, and DBC layouts, plus C++ polymorphic packet parsers for binary format differences (movement flags, speed fields, transport data, spline format, char enum layout). Key components: - ExpansionRegistry: scans Data/expansions/*/expansion.json at startup - OpcodeTable: logical enum <-> wire values loaded from JSON - UpdateFieldTable: field indices loaded from JSON per expansion - DBCLayout: schema-driven DBC field lookups replacing magic numbers - PacketParsers: WotLK/TBC/Classic parsers with correct flag positions - Multi-manifest AssetManager: layered manifests with priority ordering - HDPackManager: overlay texture packs with expansion compatibility - Auth screen expansion picker replacing hardcoded version dropdown
This commit is contained in:
parent
aa16a687c2
commit
7092844b5e
51 changed files with 5258 additions and 887 deletions
29
Data/expansions/wotlk/update_fields.json
Normal file
29
Data/expansions/wotlk/update_fields.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"OBJECT_FIELD_ENTRY": 3,
|
||||
"UNIT_FIELD_TARGET_LO": 6,
|
||||
"UNIT_FIELD_TARGET_HI": 7,
|
||||
"UNIT_FIELD_HEALTH": 24,
|
||||
"UNIT_FIELD_POWER1": 25,
|
||||
"UNIT_FIELD_MAXHEALTH": 32,
|
||||
"UNIT_FIELD_MAXPOWER1": 33,
|
||||
"UNIT_FIELD_LEVEL": 54,
|
||||
"UNIT_FIELD_FACTIONTEMPLATE": 55,
|
||||
"UNIT_FIELD_FLAGS": 59,
|
||||
"UNIT_FIELD_FLAGS_2": 60,
|
||||
"UNIT_FIELD_DISPLAYID": 67,
|
||||
"UNIT_FIELD_MOUNTDISPLAYID": 69,
|
||||
"UNIT_NPC_FLAGS": 82,
|
||||
"UNIT_DYNAMIC_FLAGS": 147,
|
||||
"UNIT_END": 148,
|
||||
"PLAYER_FLAGS": 150,
|
||||
"PLAYER_XP": 634,
|
||||
"PLAYER_NEXT_LEVEL_XP": 635,
|
||||
"PLAYER_FIELD_COINAGE": 1170,
|
||||
"PLAYER_QUEST_LOG_START": 158,
|
||||
"PLAYER_FIELD_INV_SLOT_HEAD": 324,
|
||||
"PLAYER_FIELD_PACK_SLOT_1": 370,
|
||||
"PLAYER_SKILL_INFO_START": 636,
|
||||
"PLAYER_EXPLORED_ZONES_START": 1041,
|
||||
"GAMEOBJECT_DISPLAYID": 8,
|
||||
"ITEM_FIELD_STACK_COUNT": 14
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue