diff --git a/crates/benilla-app/assets/ui/GameMenuFrame.xml b/crates/benilla-app/assets/ui/GameMenuFrame.xml
index d0b5c3b3..11e68d61 100644
--- a/crates/benilla-app/assets/ui/GameMenuFrame.xml
+++ b/crates/benilla-app/assets/ui/GameMenuFrame.xml
@@ -109,9 +109,6 @@
LOGOUT = LOGOUT or "Logout"
EXIT_GAME = EXIT_GAME or "Exit Game"
RETURN_TO_GAME = RETURN_TO_GAME or "Return to Game"
- CAMP_TIMER = CAMP_TIMER or "%d %s until logout"
- QUIT_TIMER = QUIT_TIMER or "%d %s until exit"
- QUIT_NOW = QUIT_NOW or "Exit now"
CANCEL = CANCEL or "Cancel"
-- One label setter for a button with nothing behind it yet (Edit Mode and Support): set
@@ -122,74 +119,10 @@
button:Disable()
end
- -- ── The two logout dialogs (spec: StaticPopup.lua l.564-600) ────────────────────────────
- -- Both are countdown dialogs: their `text` is a format string the popup engine's per-tick
- -- branch fills with the remaining time (StaticPopup_OnUpdate's which-list already names CAMP
- -- and QUIT), so they open blank and count down. `timeout = 20` matches the server's own
- -- logout timer (vmangos `WorldSession::LogoutRequest` → 20 s), which is what the countdown
- -- is displaying — the client is not the authority here, it is narrating the server's clock.
- --
- -- The asymmetry between them is the spec's: CAMP offers only Cancel (the commented-out
- -- CAMP_NOW/ForceLogout button is dead in 1.12 — "uncomment once forced logouts are completely
- -- implemented"), while QUIT offers Exit now + Cancel, because a force-quit needs no server
- -- round trip.
- --
- -- Both entries below are written scalars-first, handlers-last, so the dialog's SHAPE reads
- -- before its behaviour does.
-
- -- Dismissing a running countdown means "I didn't mean it": call the logout off. Only while
- -- it is still RUNNING, though — the popup engine zeroes `timeleft` before hiding a dialog
- -- that expired, so reaching zero leaves the logout alone. (Backwards, and every logout in
- -- the field is cancelled by its own dialog at t=0 and the character never leaves.) One
- -- function because both dialogs mean exactly this; `this` is the popup frame, which the
- -- engine has bound around the handler.
- local function CancelLogoutIfStillCounting()
- if this.timeleft > 0 then
- CancelLogout()
- end
- end
-
- StaticPopupDialogs["CAMP"] = {
- text = CAMP_TIMER,
- button1 = CANCEL,
- timeout = 20,
- whileDead = 1,
- hideOnEscape = 1,
- OnAccept = function()
- CancelLogout()
- end,
- OnHide = CancelLogoutIfStillCounting,
- }
-
- StaticPopupDialogs["QUIT"] = {
- text = QUIT_TIMER,
- button1 = QUIT_NOW,
- button2 = CANCEL,
- timeout = 20,
- whileDead = 1,
- hideOnEscape = 1,
- -- A force-quit needs no server round trip, so the countdown it was narrating is over
- -- the moment the button is pressed: zero `timeleft` so the OnHide below stands down.
- OnAccept = function()
- ForceQuit()
- this.timeleft = 0
- end,
- OnHide = CancelLogoutIfStillCounting,
- }
-
- -- The camp/quit event driver. The ref handles these three in UIParent's own OnEvent
- -- (UIParent.lua l.304-315); benilla has no UIParent frame, so this is a dedicated hidden
- -- listener — the BenillaDeleteItemConfirmDriver shape.
- function BenillaLogoutDriver_OnEvent()
- if event == "PLAYER_CAMPING" then
- StaticPopup_Show("CAMP")
- elseif event == "PLAYER_QUITING" then
- StaticPopup_Show("QUIT")
- elseif event == "LOGOUT_CANCEL" then
- StaticPopup_Hide("CAMP")
- StaticPopup_Hide("QUIT")
- end
- end
+ -- The CAMP/QUIT dialogs and the three-event driver MOVED OUT, to UiPanels.xml — the
+ -- reference's own homes for both (StaticPopup.lua l.564/586; UIParent.lua l.304-315).
+ -- They were here only because this is where they were first needed, and 1751 moving them
+ -- is one less thing to carry when this window follows them onto the chain.
]]>
-
-
-
-
-
- self:RegisterEvent("PLAYER_CAMPING")
- self:RegisterEvent("PLAYER_QUITING")
- self:RegisterEvent("LOGOUT_CANCEL")
-
- BenillaLogoutDriver_OnEvent()
-
-
diff --git a/crates/benilla-app/assets/ui/GossipFrame.xml b/crates/benilla-app/assets/ui/GossipFrame.xml
deleted file mode 100644
index d9c2f592..00000000
--- a/crates/benilla-app/assets/ui/GossipFrame.xml
+++ /dev/null
@@ -1,568 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GossipFrame_OnLoad()
- GossipFrame_OnEvent()
-
- BenillaGossipFrame_OnUpdate()
-
- PlaySound("igQuestListOpen")
- CloseGossip(); PlaySound("igQuestListClose")
-
-
-
diff --git a/crates/benilla-app/assets/ui/MerchantFrame.xml b/crates/benilla-app/assets/ui/MerchantFrame.xml
deleted file mode 100644
index 3df57f39..00000000
--- a/crates/benilla-app/assets/ui/MerchantFrame.xml
+++ /dev/null
@@ -1,1170 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MerchantFrame_OnLoad()
- MerchantFrame_OnEvent()
-
-
- if MerchantFrame.itemHover then
- if IsControlKeyDown() then
- ShowInspectCursor()
- else
- ShowMerchantSellCursor(MerchantFrame.itemHover)
- end
- end
-
-
- OpenBackpack(); PlaySound("igCharacterInfoOpen")
-
- CloseMerchant(); CloseBackpack(); HideRepairCursor(); ResetCursor(); MerchantFrame.itemHover = nil; PlaySound("igCharacterInfoClose")
-
-
-
diff --git a/crates/benilla-app/assets/ui/PartyFrame.xml b/crates/benilla-app/assets/ui/PartyFrame.xml
index 2857e589..56966fe2 100644
--- a/crates/benilla-app/assets/ui/PartyFrame.xml
+++ b/crates/benilla-app/assets/ui/PartyFrame.xml
@@ -31,87 +31,20 @@
real job is the timeout/override/escape paths.
-->