Files
WoWee/Data/expansions/turtle
Kelsi c55a703835 fix(dbc): add Faction.Name field to all expansion layouts
item_tooltip_renderer.cpp:378 queries Faction.dbc Name field to
resolve faction IDs to localized names for the 'Requires X Reputation'
line in item tooltips. None of the four dbc_layouts.json defined a
Name entry under Faction; the code's ternary fallback (20u) only
fired when the entire Faction layout was null. With the layout
present, (*layout)['Name'] returned DBC_FIELD_INVALID (0xFFFFFFFF)
and dbc->getString(r, 0xFFFFFFFF) read out of bounds.

Result: s_factionNames never populated → every item with a reputation
requirement displayed 'Unknown Faction'.

Canonical Name column index per Faction.dbc DBC format strings
(string offset to the English-locale entry):

  Vanilla 1.12:  19   (cmangos-classic DBCfmt.h FactionEntryfmt:
                       "niiiiiiiiiiiiiiiiiissssssssxxxxxxxxxx")
  TBC 2.4.3:     23   (cmangos-tbc SQLStorages.cpp FactionEntryfmt:
                       "iiiiiiiiiiiiiiiiiiiffiissssssssssssssss")
  WotLK 3.3.5a:  23   (TrinityCore 3.3.5 DBCfmt.h FactionEntryfmt:
                       "niiiiiiiiiiiiiiiiiiffiissssssssssssssssxxxxxxxxxxxxxxxxxx")

Note: in 1.12 the row layout omits ReputationFlags[4] that TBC/WotLK
added, so the Name string offset moves from 19 → 23 across the
TBC bump.

Same root-cause pattern as bd5e9aa2 and 50e31ab0 (DBC field referenced
by code but missing from layout JSON → operator[] sentinel beats
the ternary fallback).
2026-05-15 02:25:41 -07:00
..