diff --git a/crates/benilla-app/assets/ui/benilla.toc b/crates/benilla-app/assets/ui/benilla.toc index d08351aa..402d8b3e 100644 --- a/crates/benilla-app/assets/ui/benilla.toc +++ b/crates/benilla-app/assets/ui/benilla.toc @@ -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