mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-02-20 00:04:23 -05:00
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
15 lines
352 B
C++
15 lines
352 B
C++
#pragma once
|
|
|
|
#include "game/opcode_table.hpp"
|
|
|
|
namespace wowee {
|
|
namespace game {
|
|
|
|
// Backwards-compatibility alias: existing code uses Opcode::X which now maps
|
|
// to LogicalOpcode::X (the expansion-agnostic logical enum).
|
|
// Wire values are resolved at runtime via OpcodeTable.
|
|
using Opcode = LogicalOpcode;
|
|
|
|
} // namespace game
|
|
} // namespace wowee
|