diff --git a/crates/benilla-app/assets/ui/ActionBar.xml b/crates/benilla-app/assets/ui/ActionBar.xml deleted file mode 100644 index bd210cb5..00000000 --- a/crates/benilla-app/assets/ui/ActionBar.xml +++ /dev/null @@ -1,2047 +0,0 @@ - - - - - - - - - ActionButton_OnEvent() - BenillaActionButton_OnClick(self) - BenillaActionButton_OnDragStart(self) - BenillaActionButton_OnReceiveDrag(self) - ActionButton_OnUpdate(arg1) - BenillaActionButton_OnEnter(self) - if GameTooltip then GameTooltip:Hide() end - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BenillaExpBarOverlay_OnLoad() - - - - - - - BenillaExpBar_OnLoad(self) - BenillaExpBar_OnEvent(self) - BenillaExpBar_OnEnter(self) - BenillaExpBar_OnLeave(self) - ExhaustionTick_OnUpdate(arg1) - - if this:IsShown() and TextStatusBar_OnValueChanged then - TextStatusBar_OnValueChanged() - end - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BenillaActionButton_OnLoad(self, 1) - - - - BenillaActionButton_OnLoad(self, 2) - - - - BenillaActionButton_OnLoad(self, 3) - - - - BenillaActionButton_OnLoad(self, 4) - - - - BenillaActionButton_OnLoad(self, 5) - - - - BenillaActionButton_OnLoad(self, 6) - - - - BenillaActionButton_OnLoad(self, 7) - - - - BenillaActionButton_OnLoad(self, 8) - - - - BenillaActionButton_OnLoad(self, 9) - - - - BenillaActionButton_OnLoad(self, 10) - - - - BenillaActionButton_OnLoad(self, 11) - - - - BenillaActionButton_OnLoad(self, 12) - - - - - - - - - - this:RegisterEvent("PLAYER_ENTERING_WORLD") - this:RegisterEvent("BAG_UPDATE") - - MainMenuBar_UpdateKeyRing() - - - - - - - - - - - - - - - - - - - - - - BenillaPerformanceBar_OnLoad(self) - BenillaPerformanceBar_OnUpdate(self, arg1) - - - - - BenillaActionBar_OnLoad(self) - BenillaActionBar_OnEvent(self) - - - - - - - - - - - - - - - - - - - - - - - - - - - BenillaActionButton_OnLoad(self, 1) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 2) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 3) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 4) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 5) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 6) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 7) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 8) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 9) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 10) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 11) self.isBonus = 1 - - - - BenillaActionButton_OnLoad(self, 12) self.isBonus = 1 - - - - BenillaBonusBar_OnLoad(self) - BonusActionBar_OnUpdate(arg1) - - - - - - diff --git a/crates/benilla-app/assets/ui/MicroMenu.xml b/crates/benilla-app/assets/ui/MicroMenu.xml index b0c77503..9ecd108f 100644 --- a/crates/benilla-app/assets/ui/MicroMenu.xml +++ b/crates/benilla-app/assets/ui/MicroMenu.xml @@ -85,6 +85,13 @@ - - - - - - - - - - - BenillaActionButton_OnLoad(self, 1, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 2, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 3, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 4, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 5, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 6, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 7, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 8, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 9, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 10, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 11, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - BenillaActionButton_OnLoad(self, 12, BENILLA_MULTIBAR_BOTTOMLEFT_BASE, "MULTIACTIONBAR1BUTTON") - - - - - - - - - - - - - - BenillaActionButton_OnLoad(self, 1, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 2, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 3, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 4, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 5, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 6, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 7, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 8, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 9, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 10, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 11, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - BenillaActionButton_OnLoad(self, 12, BENILLA_MULTIBAR_BOTTOMRIGHT_BASE, "MULTIACTIONBAR2BUTTON") - - - - - - - - - - - - - - - BenillaActionButton_OnLoad(self, 1, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 2, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 3, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 4, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 5, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 6, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 7, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 8, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 9, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 10, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 11, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - BenillaActionButton_OnLoad(self, 12, BENILLA_MULTIBAR_RIGHT_BASE, "MULTIACTIONBAR3BUTTON") - - - - - - - - - - - - - BenillaActionButton_OnLoad(self, 1, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 2, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 3, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 4, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 5, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 6, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 7, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 8, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 9, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 10, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 11, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - BenillaActionButton_OnLoad(self, 12, BENILLA_MULTIBAR_LEFT_BASE, "MULTIACTIONBAR4BUTTON") - - - - diff --git a/crates/benilla-app/assets/ui/OptionsFrame.xml b/crates/benilla-app/assets/ui/OptionsFrame.xml index 7aa4871e..9ee7e028 100644 --- a/crates/benilla-app/assets/ui/OptionsFrame.xml +++ b/crates/benilla-app/assets/ui/OptionsFrame.xml @@ -190,6 +190,111 @@ - - - - - - - - - - - - - - - - - - - - - - - BenillaShapeshiftButton_OnClick(self) - BenillaShapeshiftButton_OnEnter(self) - BenillaShapeshiftButton_OnLeave(self) - - - - - - - - - - - - - - - - - - - - BenillaShapeshiftButton_OnLoad(self, 1) - - - - BenillaShapeshiftButton_OnLoad(self, 2) - - - - BenillaShapeshiftButton_OnLoad(self, 3) - - - - BenillaShapeshiftButton_OnLoad(self, 4) - - - - BenillaShapeshiftButton_OnLoad(self, 5) - - - - BenillaShapeshiftButton_OnLoad(self, 6) - - - - BenillaShapeshiftButton_OnLoad(self, 7) - - - - BenillaShapeshiftButton_OnLoad(self, 8) - - - - BenillaShapeshiftButton_OnLoad(self, 9) - - - - BenillaShapeshiftButton_OnLoad(self, 10) - - - - ShapeshiftBar_OnLoad() - ShapeshiftBar_OnEvent() - - UIParent_ManageFramePositions() - UIParent_ManageFramePositions() - - - diff --git a/crates/benilla-app/assets/ui/UIParent.xml b/crates/benilla-app/assets/ui/UIParent.xml index 7d9d9705..ebfead66 100644 --- a/crates/benilla-app/assets/ui/UIParent.xml +++ b/crates/benilla-app/assets/ui/UIParent.xml @@ -74,8 +74,8 @@ XML anchor: every layout pass re-anchors it to a base offset plus per-bar deltas - either bottom multibar, the pet/stance bar, the reputation watch bar - fired from those bars' OnShow/OnHide (ref BonusActionBarFrame.xml:350-355 et al.) and applied once at - startup. The loader's post-load call (ui_script/mod.rs) is our startup seam; the stance - bar's OnShow/OnHide (StanceBar.xml) is the one live re-fire today. + startup. The loader's post-load call (ui_script/mod.rs) is our startup seam; the pet + bar's OnShow/OnHide and the options rows' setters (1938) are the live re-fires today. Departures, each named: - Lua 5.1 dialect (the 1.12 client ran 5.0): pairs() iteration, table.insert for @@ -207,7 +207,7 @@ -- `CMSG_SET_ACTIONBAR_TOGGLES` and waits for the field to come back (wow-re -- `system/ui/scratch/action-bar-toggles.md` §5: the setter's every store is into its own -- stack frame, and nothing in the binary fires on a change to that byte). So the live UI - -- state is the four Lua globals `MultiBars.xml` owns, and `GetActionBarToggles()` is read + -- state is the four Lua globals stock `MultiActionBars.lua` reads, and `GetActionBarToggles()` is read -- exactly ONCE, here, to seed them. Reading it again later would fight the optimistic -- value the options rows just set and lose a round trip's worth of clicks. -- @@ -810,6 +810,12 @@ -- while the stance bar is up starts 20px past the last stance button. That case is -- rare but real — a possessed or charmed unit gives a pet bar to a class that also -- has forms. + -- Update shapeshift bar appearance — ref UIParent.lua l.1705-1732, the reference's own + -- arm of this pass: with the bottom-left bar up the stance bar loses its shelf (end + -- caps + middle strip) and its rings shrink to 50; otherwise the shelf shows (the + -- middle only past two forms) and the rings are 64. Stock BonusActionBarFrame.lua + -- carries a `ShapeshiftBar_UpdatePosition` with the same body that nothing calls; the + -- pass IS the caller. (Our StanceBar.xml did this through a listener until 1938.) local bottomLeftUp = MultiBarBottomLeft and MultiBarBottomLeft:IsShown() if ( SlidingActionBarTexture0 and SlidingActionBarTexture1 ) then if ( bottomLeftUp ) then @@ -820,6 +826,28 @@ SlidingActionBarTexture1:Show() end end + if ( ShapeshiftBarFrame ) then + local numForms = GetNumShapeshiftForms and GetNumShapeshiftForms() or 0 + if ( bottomLeftUp ) then + ShapeshiftBarLeft:Hide() + ShapeshiftBarRight:Hide() + ShapeshiftBarMiddle:Hide() + for i=1, numForms do + getglobal("ShapeshiftButton"..i.."NormalTexture"):SetWidth(50) + getglobal("ShapeshiftButton"..i.."NormalTexture"):SetHeight(50) + end + else + if ( numForms > 2 ) then + ShapeshiftBarMiddle:Show() + end + ShapeshiftBarLeft:Show() + ShapeshiftBarRight:Show() + for i=1, numForms do + getglobal("ShapeshiftButton"..i.."NormalTexture"):SetWidth(64) + getglobal("ShapeshiftButton"..i.."NormalTexture"):SetHeight(64) + end + end + end if ( PetActionBarFrame ) then PETACTIONBAR_XPOS = 36 local forms = GetNumShapeshiftForms and GetNumShapeshiftForms() or 0 diff --git a/crates/benilla-app/assets/ui/UiPanels.xml b/crates/benilla-app/assets/ui/UiPanels.xml index aa92c6c3..32e4f5d0 100644 --- a/crates/benilla-app/assets/ui/UiPanels.xml +++ b/crates/benilla-app/assets/ui/UiPanels.xml @@ -24,6 +24,11 @@ its comment names the reference row it stands in for. -->