TBC: expansion-guard raw Mangos-method DBC field reads (mangos-one DBC alignment) - #4
Merged
Merged
Conversation
…uffix/Properties).nameSuffix->Name_lang, TaxiPath.ID->Id (One DBC align)
…mangos-TBC
DBC alignment renames ChrClasses.name/ChrRaces.name -> Name_lang and
TaxiNodes.map_id -> ContinentID on mangos-one (TBC). Extend the existing
per-expansion guards additively:
- ChrClasses/ChrRaces name: EXP_CLASSIC branch now also covers
(ELUNA_MANGOS && EXP_TBC) -> Name_lang; #else keeps name (other forks).
- TaxiNodes map_id: nested (ELUNA_MANGOS && EXP_TBC) -> ContinentID in the
shared non-CLASSIC #else; #else keeps map_id (Wrath+/cmangos/vmangos).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…s-TBC
DBC alignment renames on mangos-one (TBC): TaxiPathNode path/index/mapid/
x/y/z/actionFlag/delay, AreaTable area_name, SkillLine categoryId/id.
Extend the per-expansion guards additively:
- GlobalMethods CreateTaxiPath: promote mangos-TBC into the aligned
(EXP_CLASSIC) arm (PathID/NodeIndex/LocX/Y/Z/Flags/Delay), with a nested
(ELUNA_MANGOS && EXP_TBC) branch for nodeEntry->ContinentID vs map_id;
#else keeps old names for Wrath+/cmangos/vmangos.
- GetAreaName area_name and PlayerMethods SkillLine categoryId/id: EXP_CLASSIC
arm now also covers (ELUNA_MANGOS && EXP_TBC).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…s + SpellMethods) Extend the existing EXP_CLASSIC guards to also cover (ELUNA_MANGOS && EXP_TBC) so mangos-one reads SpellEntry->ID; #else keeps ->Id for Wrath+/cmangos/vmangos/Trinity. CreatureHooks SpellHit/SpellHitTarget TBC clause is ELUNA_MANGOS-gated (cross-emulator safe). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
MadMaxMangos
added a commit
that referenced
this pull request
Jul 9, 2026
…ignment) Rebased onto current master (which added the CLASSIC #2 and TBC #4 alignment arms). Adds mangos-two's WOTLK build-exact field reads beside the existing CLASSIC/TBC arms, in the same `ELUNA_MANGOS && ELUNA_EXPANSION == EXP_*` convention: - Extends the aligned arm of 16 guards to include EXP_WOTLK: Spell.Id->ID, AreaTrigger.id->ID, AreaTable.area_name->AreaName_lang, ChrClasses/ChrRaces. name->Name_lang, SkillLine.id/categoryId->ID/CategoryID, ItemRandom{Properties, Suffix}.nameSuffix->Name_lang, and the TaxiPathNode/TaxiNodes taxi-construction block in GlobalMethods.h. - New WOTLK arms where master had none: Vehicle.m_ID->ID (VehicleMethods) and TaxiPath.from/to/price->FromTaxiNode/ToTaxiNode/Cost (GlobalMethods). AuctionHouse (houseId) is left alone -- mangos-two did not align it. Additive-beside: CLASSIC/TBC/CATA/MISTS code paths are byte-for-byte unchanged. mangos-two builds clean + boot-assert PASS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merged
MadMaxMangos
added a commit
that referenced
this pull request
Jul 9, 2026
…ignment) (#5) Rebased onto current master (which added the CLASSIC #2 and TBC #4 alignment arms). Adds mangos-two's WOTLK build-exact field reads beside the existing CLASSIC/TBC arms, in the same `ELUNA_MANGOS && ELUNA_EXPANSION == EXP_*` convention: - Extends the aligned arm of 16 guards to include EXP_WOTLK: Spell.Id->ID, AreaTrigger.id->ID, AreaTable.area_name->AreaName_lang, ChrClasses/ChrRaces. name->Name_lang, SkillLine.id/categoryId->ID/CategoryID, ItemRandom{Properties, Suffix}.nameSuffix->Name_lang, and the TaxiPathNode/TaxiNodes taxi-construction block in GlobalMethods.h. - New WOTLK arms where master had none: Vehicle.m_ID->ID (VehicleMethods) and TaxiPath.from/to/price->FromTaxiNode/ToTaxiNode/Cost (GlobalMethods). AuctionHouse (houseId) is left alone -- mangos-two did not align it. Additive-beside: CLASSIC/TBC/CATA/MISTS code paths are byte-for-byte unchanged. mangos-two builds clean + boot-assert PASS. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
mangos-one (WoW TBC 2.4.3.8606) is aligning its DBC structs to build-exact
.dbdnames. The raw DBC field reads inmethods/Mangos/(and two cross-emulator hooks) need a TBC arm. All changes are additive: the existingEXP_CLASSICbranches are unchanged, and each new TBC arm is gated bydefined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_TBC, so cmangos / vmangos / TrinityCore and all non-TBC expansions are unaffected. The pattern is#if ELUNA_EXPANSION == EXP_CLASSIC || (defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_TBC)→ build-exact name,#else→ the old name.Four commits:
methods/Mangos: TBC guards forAuctionHouse.houseId→ID,ItemRandom(Suffix/Properties).nameSuffix→Name_lang,TaxiPath.ID→Id.ChrClasses/ChrRaces.name→Name_lang,TaxiNodes.map_id→ContinentID(incl. theGlobalMethodsCreateTaxiPath 3-way arm with a nestedmap_id↔ContinentIDguard).TaxiPathNode(path/index/mapid/x/y/z/actionFlag/delay),AreaTable.area_name→AreaName_lang,SkillLine.categoryId→CategoryID/id→ID.SpellEntry.Id→IDreads inSpellMethods.hand the two cross-emulatorCreatureHooks.cppsites (SpellHit/SpellHitTarget) — the TBC clause isELUNA_MANGOS-gated so non-mangos cores are untouched.Note for future reviewers: the Lua-facing registered method-name strings (e.g.
GetSpellFamilyFlags,GetStackAmount) intentionally keep their old spellings for Lua API stability — do not rename them to match the C++ struct-field renames.This change is