diff --git a/crates/benilla-app/assets/ui/CombatText.xml b/crates/benilla-app/assets/ui/CombatText.xml
deleted file mode 100644
index 76ab35d8..00000000
--- a/crates/benilla-app/assets/ui/CombatText.xml
+++ /dev/null
@@ -1,723 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CombatText_OnLoad()
- CombatText_OnEvent(event)
- CombatText_OnUpdate(arg1)
-
-
-
diff --git a/crates/benilla-app/assets/ui/MoneyFrame.xml b/crates/benilla-app/assets/ui/MoneyFrame.xml
deleted file mode 100644
index 355dc1e7..00000000
--- a/crates/benilla-app/assets/ui/MoneyFrame.xml
+++ /dev/null
@@ -1,659 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- MoneyFrame_OnLoad()
- MoneyFrame_OnEvent()
- MoneyFrame_UpdateMoney()
- BenillaMoneyFrame_OnHide()
-
-
-
-
-
-
-
-
-
-
-
-
- SmallMoneyFrame_OnLoad()
- MoneyFrame_OnEvent()
- MoneyFrame_UpdateMoney()
- BenillaMoneyFrame_OnHide()
-
-
-
diff --git a/crates/benilla-app/assets/ui/OptionsFrame.xml b/crates/benilla-app/assets/ui/OptionsFrame.xml
index 532d863f..a7d03169 100644
--- a/crates/benilla-app/assets/ui/OptionsFrame.xml
+++ b/crates/benilla-app/assets/ui/OptionsFrame.xml
@@ -220,6 +220,50 @@
RegisterForSave("QUEST_FADING_DISABLE")
AUTO_QUEST_WATCH = "1"
RegisterForSave("AUTO_QUEST_WATCH")
+ -- Combat text uvars (ref UIOptionsFrame.lua l.135-152, verbatim). They lived in our
+ -- CombatText.xml while that file stood in for the addon; the addon is the reference's
+ -- own `Blizzard_CombatText` off the chain now, LoadOnDemand as the reference ships it,
+ -- so its option family's defaults sit where the reference keeps them (1964).
+ SHOW_COMBAT_TEXT = "0"
+ RegisterForSave("SHOW_COMBAT_TEXT")
+ COMBAT_TEXT_SHOW_LOW_HEALTH_MANA = "1"
+ RegisterForSave("COMBAT_TEXT_SHOW_LOW_HEALTH_MANA")
+ COMBAT_TEXT_SHOW_AURAS = "1"
+ RegisterForSave("COMBAT_TEXT_SHOW_AURAS")
+ COMBAT_TEXT_SHOW_AURA_FADE = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_AURA_FADE")
+ COMBAT_TEXT_SHOW_COMBAT_STATE = "1"
+ RegisterForSave("COMBAT_TEXT_SHOW_COMBAT_STATE")
+ COMBAT_TEXT_SHOW_DODGE_PARRY_MISS = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_DODGE_PARRY_MISS")
+ COMBAT_TEXT_SHOW_RESISTANCES = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_RESISTANCES")
+ COMBAT_TEXT_SHOW_REPUTATION = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_REPUTATION")
+ COMBAT_TEXT_SHOW_REACTIVES = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_REACTIVES")
+ COMBAT_TEXT_SHOW_FRIENDLY_NAMES = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_FRIENDLY_NAMES")
+ COMBAT_TEXT_SHOW_COMBO_POINTS = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_COMBO_POINTS")
+ COMBAT_TEXT_SHOW_MANA = "0"
+ RegisterForSave("COMBAT_TEXT_SHOW_MANA")
+ COMBAT_TEXT_FLOAT_MODE = "1"
+ RegisterForSave("COMBAT_TEXT_FLOAT_MODE")
+ COMBAT_TEXT_SHOW_HONOR_GAINED = "1"
+ RegisterForSave("COMBAT_TEXT_SHOW_HONOR_GAINED")
+
+ -- The family's apply, ref UIOptionsFrame_Save l.371-376 verbatim: the addon is
+ -- LoadOnDemand, so turning the master on loads it, and the update runs only once it is
+ -- there. Every combat-text row's `applyFunc` is this (1964).
+ function CombatText_UpdateOrLoad()
+ if ( SHOW_COMBAT_TEXT == "1" ) then
+ UIParentLoadAddOn("Blizzard_CombatText")
+ end
+ if ( CombatText_UpdateDisplayedMessages ) then
+ CombatText_UpdateDisplayedMessages()
+ end
+ end
-- CHAT_LOCKED / REMOVE_CHAT_DELAY — the chat window's two uvars, the reference's own
-- UIOptionsFrame.lua l.96-99 defaults ("0" and "0"), read every frame by
-- FloatingChatFrame.lua's FCF_Get_ChatLocked and FCF_OnUpdate since the chat window went
@@ -1073,6 +1117,11 @@
end
function OptionsFrame_ApplySavedSettings()
+ -- ref UIOptionsFrame_OnEvent's VARIABLES_LOADED arm, l.224-226: the combat text
+ -- addon loads at login when the saved master is on (1964).
+ if ( SHOW_COMBAT_TEXT == "1" ) then
+ UIParentLoadAddOn("Blizzard_CombatText")
+ end
local ran = {}
for key, rows in pairs(OPTIONS_PAGE_ROWS) do
for _, rkey in ipairs(rows) do
@@ -2792,7 +2841,7 @@
OptionsGlobalRow_OnLoad(self, "SHOW_COMBAT_TEXT",
"Enable Floating Combat Text", "OPTION_TOOLTIP_SHOW_COMBAT_TEXT")
- self.applyFunc = "CombatText_UpdateDisplayedMessages" -- by NAME, resolved when applied: this file loads before its definer now (1938)
+ self.applyFunc = "CombatText_UpdateOrLoad" -- by NAME, resolved when applied: this file loads before its definer now (1938)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MoneyInputFrame_SetMode(this, "compact")
- MoneyInputFrame_SetOnvalueChangedFunc(this, TradeFrame_UpdateMoney)
-
-
-
-
-
-
-
- SmallMoneyFrame_OnLoad(); MoneyFrame_SetType("TARGET_TRADE");
-
-
-
- TradeFrame_OnLoad()
- TradeFrame_OnEvent()
- TradeFrame_OnShow(); PlaySound("igCharacterInfoOpen")
- TradeFrame_OnHide(); PlaySound("igCharacterInfoClose")
-
-
-
diff --git a/crates/benilla-app/assets/ui/UIParent.xml b/crates/benilla-app/assets/ui/UIParent.xml
index 124f45a5..7038f3b6 100644
--- a/crates/benilla-app/assets/ui/UIParent.xml
+++ b/crates/benilla-app/assets/ui/UIParent.xml
@@ -75,6 +75,12 @@
this:RegisterEvent("CONFIRM_TALENT_WIPE")
this:RegisterEvent("CONFIRM_BINDER")
this:RegisterEvent("CONFIRM_SUMMON")
+ -- The dialog engine's verbs (1963): the feeds behind these exist now.
+ this:RegisterEvent("INSTANCE_BOOT_START")
+ this:RegisterEvent("INSTANCE_BOOT_STOP")
+ this:RegisterEvent("CONFIRM_PET_UNLEARN")
+ this:RegisterEvent("AREA_SPIRIT_HEALER_IN_RANGE")
+ this:RegisterEvent("AREA_SPIRIT_HEALER_OUT_OF_RANGE")
UIParent_OnEvent(event)