mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-02-20 08:14:55 -05:00
Introduce data-driven opcode registry with canonical and alias sources: - Added Data/opcodes/canonical.json as the single canonical LogicalOpcode set. - Added Data/opcodes/aliases.json for cross-core naming aliases (CMaNGOS/AzerothCore/local legacy). Added generator and generated include fragments: - tools/gen_opcode_registry.py emits include/game/opcode_enum_generated.inc, include/game/opcode_names_generated.inc, and include/game/opcode_aliases_generated.inc. - include/game/opcode_table.hpp now consumes generated enum entries. - src/game/opcode_table.cpp now consumes generated name and alias tables. Loader canonicalization behavior: - OpcodeTable::nameToLogical canonicalizes incoming JSON opcode names via alias table before enum lookup, so implementation code stays stable while expansion maps can use different core spellings. Validation and build integration: - Added tools/validate_opcode_maps.py to validate canonical contract across expansions. - Added CMake targets opcodes-generate and opcodes-validate. - wowee target now depends on opcodes-generate so generated headers stay current. Validation/build run: - cmake -S . -B build - cmake --build build --target opcodes-generate opcodes-validate - cmake --build build -j32
2.3 KiB
2.3 KiB