From 5e660e75a1ac0177093177d61e548deed73894a2 Mon Sep 17 00:00:00 2001 From: kiforsbe Date: Sat, 24 Aug 2024 13:29:44 +0200 Subject: [PATCH] Working for Retail --- UnitFramesImproved.lua | 29 +++----------------------- UnitFramesImproved.toc | 2 +- UnitFramesImproved_Retail.lua | 38 ++++++++++++++++++++++------------ UnitFramesImproved_Vanilla.lua | 14 +------------ 4 files changed, 30 insertions(+), 53 deletions(-) diff --git a/UnitFramesImproved.lua b/UnitFramesImproved.lua index fa3b662..048d50b 100644 --- a/UnitFramesImproved.lua +++ b/UnitFramesImproved.lua @@ -62,7 +62,7 @@ end -- Common Functions function UnitFramesImproved_UpdateTextStringWithValues(statusFrame, textString, value, valueMin, valueMax) - if (statusFrame.LeftText and statusFrame.RightText) then + if (false and statusFrame.LeftText and statusFrame.RightText) then --if not InCombatLockdown() then if (textString) then statusFrame.LeftText:SetText("") @@ -76,31 +76,8 @@ function UnitFramesImproved_UpdateTextStringWithValues(statusFrame, textString, end if ( ( tonumber(valueMax) ~= valueMax or valueMax > 0 ) and not ( statusFrame.pauseUpdates ) ) then - statusFrame:Show(); - - if ( (statusFrame.cvar and GetCVar(statusFrame.cvar) == "1" and statusFrame.textLockable) or statusFrame.forceShow ) then - textString:Show(); - elseif ( statusFrame.lockShow > 0 and (not statusFrame.forceHideText) ) then - textString:Show(); - else - textString:SetText(""); - textString:Hide(); - return; - end - - local valueDisplay = value; - local valueMaxDisplay = valueMax; - -- Modern WoW always breaks up large numbers, whereas Classic never did. - -- We'll remove breaking-up by default for Classic, but add a flag to reenable it. - if ( statusFrame.breakUpLargeNumbers ) then - if ( statusFrame.capNumericDisplay ) then - valueDisplay = UnitFramesImproved:AbbreviateLargeNumbers(value); - valueMaxDisplay = UnitFramesImproved:AbbreviateLargeNumbers(valueMax); - else - valueDisplay = BreakUpLargeNumbers(value); - valueMaxDisplay = BreakUpLargeNumbers(valueMax); - end - end + local valueDisplay = UnitFramesImproved:AbbreviateLargeNumbers(value); + local valueMaxDisplay = UnitFramesImproved:AbbreviateLargeNumbers(valueMax); local textDisplay = GetCVar("statusTextDisplay"); if ( value and valueMax > 0 and ( (textDisplay ~= "NUMERIC" and textDisplay ~= "NONE") or statusFrame.showPercentage ) and not statusFrame.showNumeric) then diff --git a/UnitFramesImproved.toc b/UnitFramesImproved.toc index cc15630..cce90aa 100644 --- a/UnitFramesImproved.toc +++ b/UnitFramesImproved.toc @@ -19,5 +19,5 @@ Libs\AceEvent-3.0\AceEvent-3.0.xml #@end-no-lib-strip@ HelperFunctions.lua -UnitFramesImproved_Retail.lua UnitFramesImproved.lua +UnitFramesImproved_Retail.lua diff --git a/UnitFramesImproved_Retail.lua b/UnitFramesImproved_Retail.lua index f572b47..2b45f09 100644 --- a/UnitFramesImproved_Retail.lua +++ b/UnitFramesImproved_Retail.lua @@ -1,10 +1,4 @@ --- Set up the chunk arguments to use between each chunk of the addon -local chunkArgs = ... - --- Assign a local reference to the addon -local UnitFramesImproved = chunkArgs.addon - --- Stylers +-- Stylers for Retail function UnitFramesImproved:Style_PlayerFrame() if not InCombatLockdown() then local healthBar = PlayerFrame.PlayerFrameContent.PlayerFrameContentMain.HealthBarsContainer.HealthBar @@ -14,15 +8,24 @@ function UnitFramesImproved:Style_PlayerFrame() healthBar:SetStatusBarTexture("UI-HUD-UnitFrame-Player-PortraitOff-Bar-Health-Status", TextureKitConstants.UseAtlasSize) healthBar:SetStatusBarDesaturated(true) + -- Set fonts sizes for healthBar + UnitFramesImproved:SetFontSize(healthBar.TextString, 12) + UnitFramesImproved:SetFontSize(healthBar.LeftText, 12) + UnitFramesImproved:SetFontSize(healthBar.RightText, 12) + + -- Force show text + PlayerFrame.textLockable = true + PlayerFrame.forceShow = true + -- Status text hook - hooksecurefunc(healthBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues); - hooksecurefunc(manaBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues); + hooksecurefunc(healthBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues) + hooksecurefunc(manaBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues) -- Force an update as at least on my install, it isn't updating on load healthBar:UpdateTextString(); -- Force update of the status bar coloring - UnitFramesImproved:UpdateStatusBarColor(healthBar) + UnitFramesImproved:UpdateStatusBarColor(PlayerFrame) end end @@ -35,12 +38,21 @@ function UnitFramesImproved:Style_TargetFrame(frame) healthBar.HealthBarTexture:SetAtlas("UI-HUD-UnitFrame-Target-PortraitOn-Bar-Health-Status", TextureKitConstants.UseAtlasSize) healthBar:SetStatusBarDesaturated(true) + -- Set fonts sizes for healthBar + UnitFramesImproved:SetFontSize(healthBar.TextString, 12) + UnitFramesImproved:SetFontSize(healthBar.LeftText, 12) + UnitFramesImproved:SetFontSize(healthBar.RightText, 12) + + -- Force show text + frame.textLockable = true + frame.forceShow = true + -- Status text hook - hooksecurefunc(healthBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues); - hooksecurefunc(manaBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues); + hooksecurefunc(healthBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues) + hooksecurefunc(manaBar, "UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues) -- Force update of the status bar coloring - UnitFramesImproved:UpdateStatusBarColor(healthBar) + UnitFramesImproved:UpdateStatusBarColor(frame) end end diff --git a/UnitFramesImproved_Vanilla.lua b/UnitFramesImproved_Vanilla.lua index aa855ed..7fd3af3 100644 --- a/UnitFramesImproved_Vanilla.lua +++ b/UnitFramesImproved_Vanilla.lua @@ -1,4 +1,4 @@ --- Stylers +-- Stylers for Vanilla function UnitFramesImproved:Style_PlayerFrame() PlayerFrameHealthBar.healthbar = PlayerFrameHealthBar @@ -26,12 +26,6 @@ function UnitFramesImproved:Style_PlayerFrame() PlayerFrameTexture:SetTexture("Interface\\Addons\\UnitFramesImproved\\Textures\\UI-TargetingFrame") PlayerStatusTexture:SetTexture("Interface\\Addons\\UnitFramesImproved\\Textures\\UI-Player-Status") - -- Ensure that numeric display is capped - healthBar.breakUpLargeNumbers = true - healthBar.capNumericDisplay = true - manaBar.breakUpLargeNumbers = true - manaBar.capNumericDisplay = true - -- Status text hook (used by all the statusbars!) hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", UnitFramesImproved_UpdateTextStringWithValues) @@ -122,12 +116,6 @@ function UnitFramesImproved:Style_TargetFrame(frame) else frame.pvpIcon:Hide(); end - - -- Ensure that numeric display is capped - healthBar.breakUpLargeNumbers = true - healthBar.capNumericDisplay = true - manaBar.breakUpLargeNumbers = true - manaBar.capNumericDisplay = true end end