Files
WoWee/include/game/opcodes.hpp
Kelsi 90a1aa8a92 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
2026-02-12 22:56:36 -08:00

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