framexml: six rows of the chain's own toc the manifest never had
benilla loads `assets/ui/benilla.toc`, not the player's `Interface\FrameXML\FrameXML.toc`, so a row the chain carries and the manifest omits is silently absent — no read, no warning, just a missing global or template surfacing as somebody else's error. Diffing the two found 29 such rows. Six of them land here. `Turtle_ArenaUI\Turtle_ArenaUITemplates.xml` is the one that was costing four errors per inspect: `Blizzard_InspectUI\InspectArenaFrame.xml` inherits `ArenaTeamTemplate` from it and then reads `$parentText`, `$parentDetails` and nine `$parentDetails*` children by name, so all three team-button OnLoads and `InspectArenaFrame_OnShow` raised on nil. `Globals.lua` publishes `print`, `TURTLE_WOW_VERSION`, `TW_CLASS_TOKEN`, `Turtle_AvailableChallenges`, `GAME_YELLOW` and the realm's three `ADDON_MSG_*_DELIMITER`s. `Overrides.lua` is Turtle's two-continent map. `Hooks.lua` is the realm's tooltip layer: the guild line, the shift-click hint and `FixSetInspect`. `ChronoboonTimers.lua` and `SpellChatLinks.lua` are self-contained. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn
This commit is contained in:
@@ -17,6 +17,16 @@ Interface\FrameXML\Fonts.xml
|
||||
|
||||
# Second, not first as in the reference, because entry 0 must be Fonts.xml.
|
||||
Interface\FrameXML\GlobalStrings.lua
|
||||
# TurtleWoW's own two rows after GlobalStrings (its `FrameXML.toc` 11-12), both the client half of
|
||||
# server-side systems. `Globals.lua` publishes `print`, `TURTLE_WOW_VERSION`, `TW_CLASS_TOKEN`,
|
||||
# `Turtle_AvailableChallenges`, `GAME_YELLOW` and the three `ADDON_MSG_*_DELIMITER`s that every
|
||||
# `CHAT_MSG_ADDON` protocol on this realm splits on; it also re-declares `sizeof`/`explode`/`wipe`/
|
||||
# `trim`, which our UI stdlib seeds for a chain that lacks the file, and the chain's own copy wins
|
||||
# here, as in the reference. `Overrides.lua` is Turtle's two-continent map: `CONTINENTS_LENGTH = 2`
|
||||
# and a `GetMapContinents` wrapper that returns exactly Kalimdor and Azeroth, dropping any further
|
||||
# row the chain's `WorldMapContinent.dbc` carries.
|
||||
Interface\FrameXML\Globals.lua
|
||||
Interface\FrameXML\Overrides.lua
|
||||
# `Localize()` runs at load and overwrites GlobalStrings keys, so this follows them.
|
||||
Interface\FrameXML\Localization.xml
|
||||
# `GetText` is a Lua global, not an engine binding: the client's `0x703bf0` calls it.
|
||||
@@ -170,6 +180,17 @@ Interface\FrameXML\LFT\LFT.lua
|
||||
Interface\FrameXML\LFT\LFTTemplates.xml
|
||||
Interface\FrameXML\LFT\LFT.xml
|
||||
Interface\FrameXML\OctoLFTBlinkPause\OctoLFTBlinkPause.lua
|
||||
# TurtleWoW's own three loose rows (its `FrameXML.toc` 103-105), all Lua over verbs that already
|
||||
# exist. `Hooks.lua` is the realm's tooltip layer: the guild line under a player's name (gated on
|
||||
# its own `TOOLTIP_GUILD_NAMES` CVar), the shift-click hint while a trade, auction or mail window
|
||||
# is up, and `FixSetInspect`, which recolours an inspected or transmogrified item's set lines by
|
||||
# what the unit actually wears — the reason a set bonus reads gray on this realm without it.
|
||||
# `ChronoboonTimers.lua` adds the Chronoboon Displacer's stored-buff lines to its bag tooltip;
|
||||
# `SpellChatLinks.lua` answers the realm's `TW_CHAT_MSG_WHISPER` spell/talent link protocol, so a
|
||||
# linked spell in chat opens a tooltip instead of nothing.
|
||||
Interface\FrameXML\Hooks.lua
|
||||
Interface\FrameXML\ChronoboonTimers.lua
|
||||
Interface\FrameXML\SpellChatLinks.lua
|
||||
# TurtleWoW's own FrameXML additions, in the reference `FrameXML.toc` order (patch-3.mpq). These
|
||||
# are the client half of Turtle's custom systems: `Turtle_TransmogUI` hooks `GOSSIP_SHOW`, hides
|
||||
# the stock gossip frame for its NPCs and drives the transmog window over `TW_TRANSMOG` addon
|
||||
@@ -186,6 +207,15 @@ Interface\FrameXML\Turtle_TransmogUI\Turtle_TransmogUITemplates.xml
|
||||
Interface\FrameXML\Turtle_TransmogUI\Turtle_TransmogUI.xml
|
||||
Interface\FrameXML\Turtle_ShopUI\Turtle_ShopUITemplates.xml
|
||||
Interface\FrameXML\Turtle_ShopUI\Turtle_ShopUI.xml
|
||||
# Turtle's arena templates, the one row of its `# Arena` block (its `FrameXML.toc` 108-112) that
|
||||
# stands alone: it inherits nothing but stock fonts and declares no handler of its own at load.
|
||||
# `Blizzard_InspectUI`'s own `InspectArenaFrame.xml` inherits `ArenaTeamTemplate` for its three
|
||||
# team buttons and then reads `$parentText`, `$parentDetails` and nine `$parentDetails*` children
|
||||
# by name, so without this row the inspect window raised four times per inspect — three OnLoads
|
||||
# and `InspectArenaFrame_OnShow`. The other four rows (`Turtle_ArenaUI.lua` and the arena, queue
|
||||
# and registrar windows) are the same pattern as the Inspect-Talents and Guild-Bank UIs above:
|
||||
# they need the arena verbs built first, so they are not loaded here yet.
|
||||
Interface\FrameXML\Turtle_ArenaUI\Turtle_ArenaUITemplates.xml
|
||||
# Turtle's honour/arena merchant (Stormwind armoury PvP gear, the Custom_Merchant NPCs): it hooks
|
||||
# `GOSSIP_SHOW`, hides the gossip frame for an NPC whose greeting is `CUSTOM_MERCHANT_TRIGGER` and
|
||||
# fills over `TW_Merchant` addon messages. Without it that trigger text is what the stock gossip
|
||||
|
||||
Reference in New Issue
Block a user