diff --git a/Fonts/DAMAGE.ttf b/Fonts/DAMAGE.ttf deleted file mode 100644 index fb09813..0000000 Binary files a/Fonts/DAMAGE.ttf and /dev/null differ diff --git a/Fonts/FRIENDS.ttf b/Fonts/FRIENDS.ttf deleted file mode 100644 index 48dd635..0000000 Binary files a/Fonts/FRIENDS.ttf and /dev/null differ diff --git a/Fonts/OTHER_MORPHEUS.ttf b/Fonts/OTHER_MORPHEUS.ttf deleted file mode 100644 index 63b1c3b..0000000 Binary files a/Fonts/OTHER_MORPHEUS.ttf and /dev/null differ diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc index 1161d43..e8603c2 100644 --- a/Interface/AddOns/SVUI/SVUI.toc +++ b/Interface/AddOns/SVUI/SVUI.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI|r ## Notes: Supervillain UI [|cff9911FFCore Framework|r]. ## SavedVariables: SVUI_Global, SVUI_Errors diff --git a/Interface/AddOns/SVUI/assets/fonts/!DAMAGE.ttf b/Interface/AddOns/SVUI/assets/fonts/!DAMAGE.ttf new file mode 100644 index 0000000..fb09813 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/fonts/!DAMAGE.ttf differ diff --git a/Interface/AddOns/SVUI/data/defaults.lua b/Interface/AddOns/SVUI/data/defaults.lua index 273f131..545b149 100644 --- a/Interface/AddOns/SVUI/data/defaults.lua +++ b/Interface/AddOns/SVUI/data/defaults.lua @@ -793,7 +793,7 @@ SV.defaults["SVUnit"] = { { ["enable"] = true, ["width"] = 50, - ["camDistanceScale"] = 1.4, + ["camDistanceScale"] = 1.6, ["rotation"] = 0, ["style"] = "3DOVERLAY", }, @@ -973,7 +973,7 @@ SV.defaults["SVUnit"] = { ["width"] = 50, ["overlay"] = true, ["rotation"] = 0, - ["camDistanceScale"] = 1.4, + ["camDistanceScale"] = 1.6, ["style"] = "3DOVERLAY", }, ["buffs"] = diff --git a/Interface/AddOns/SVUI/framework/api/api_general.lua b/Interface/AddOns/SVUI/framework/api/api_general.lua index 7a20b63..a2d221f 100644 --- a/Interface/AddOns/SVUI/framework/api/api_general.lua +++ b/Interface/AddOns/SVUI/framework/api/api_general.lua @@ -164,6 +164,38 @@ end SECURE FADING ########################################################## ]]-- +local FRAMES_TO_HIDE = {}; +local FRAMES_TO_SHOW = {}; + +local FadeEventManager_OnEvent = function(self, event) + if(event == 'PLAYER_REGEN_ENABLED') then + self:UnregisterEvent("PLAYER_REGEN_ENABLED") + for frame in pairs(FRAMES_TO_HIDE) do + frame:Hide() + if(frame.___forcehidefunc) then + local _, catch = pcall(frame.___forcehidefunc, frame) + if(catch) then + frame.___forcehidefunc = nil + end + end + end + wipe(FRAMES_TO_HIDE) + for frame in pairs(FRAMES_TO_SHOW) do + frame:Show() + if(frame.___forceshowfunc) then + local _, catch = pcall(frame.___forceshowfunc, frame) + if(catch) then + frame.___forceshowfunc = nil + end + end + end + wipe(FRAMES_TO_SHOW) + end +end + +local FadeEventManager = CreateFrame('Frame') +FadeEventManager:SetScript("OnEvent", FadeEventManager_OnEvent) + local SecureFade_OnUpdate = function(self, elasped) local frame = self.owner; if(frame) then @@ -181,19 +213,33 @@ local SecureFade_OnUpdate = function(self, elasped) state[4] = 0 frame:SetAlpha(state[2]) local canfade = (not InCombatLockdown()) or (InCombatLockdown() and (not frame:IsProtected())) - if(frame.___fadehide and canfade) then - frame:Hide() - end + if(frame.___fadehide) then + if(canfade) then + frame:Hide() + if(frame.___fadefunc) then + local _, catch = pcall(frame.___fadefunc, frame) + if(not catch) then + frame.___fadefunc = nil + end + end - if(frame.___fadefunc) then - local _, catch = pcall(frame.___fadefunc, frame) - if(not catch) then - frame.___fadefunc = nil + self.Running = false; + self:SetScript("OnUpdate", nil); + else + FRAMES_TO_HIDE[frame] = true; + FadeEventManager:RegisterEvent("PLAYER_REGEN_ENABLED"); + end + else + if(frame.___fadefunc) then + local _, catch = pcall(frame.___fadefunc, frame) + if(not catch) then + frame.___fadefunc = nil + end end - end - self.Running = false; - self:SetScript("OnUpdate", nil); + self.Running = false; + self:SetScript("OnUpdate", nil); + end end end end @@ -204,16 +250,24 @@ local SecureFadeIn = function(self, duration, alphaStart, alphaEnd) local timer = duration or 0.1; local canfade = (not InCombatLockdown()) or (InCombatLockdown() and (not self:IsProtected())) - if(canfade and not self:IsShown()) then + if((not self:IsShown()) and canfade) then self:Show() end + if((not self:IsShown()) and (not canfade)) then + FRAMES_TO_SHOW[self] = true + end + if(self:IsShown() and self:GetAlpha() == alpha2) then return end if(not self.___fadehandler) then self.___fadehandler = CreateFrame("Frame", nil) self.___fadehandler.owner = self; end if(not self.___fademode or (self.___fademode and self.___fademode == "OUT")) then + if(FRAMES_TO_HIDE[self]) then + FRAMES_TO_HIDE[self] = nil + end + self.___fademode = "IN"; self.___fadehide = false; self.___fadefunc = nil; @@ -244,6 +298,10 @@ local SecureFadeOut = function(self, duration, alphaStart, alphaEnd, hideOnFinis self.___fadehandler.owner = self; end if(not self.___fademode or (self.___fademode and self.___fademode == "IN")) then + if(FRAMES_TO_SHOW[self]) then + FRAMES_TO_SHOW[self] = nil + end + self.___fademode = "OUT"; self.___fadehide = hideOnFinished; self.___fadefunc = nil; @@ -264,8 +322,14 @@ local SecureFadeOut = function(self, duration, alphaStart, alphaEnd, hideOnFinis end end -local SecureFadeCallback = function(self, callback) - self.___fadefunc = callback; +local SecureFadeCallback = function(self, callback, onForceHide, onForceShow) + if(onForceHide) then + self.___forcehidefunc = callback; + elseif(onForceShow) then + self.___forceshowfunc = callback; + else + self.___fadefunc = callback; + end end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI/framework/api/api_style.lua b/Interface/AddOns/SVUI/framework/api/api_style.lua index 29d59b7..35d497d 100644 --- a/Interface/AddOns/SVUI/framework/api/api_style.lua +++ b/Interface/AddOns/SVUI/framework/api/api_style.lua @@ -623,6 +623,17 @@ TEMPLATE_METHODS["HeavyButton"] = function(self, inverse, inverted, styleName) end end; +TEMPLATE_METHODS["Action"] = function(self, inverse, padding, x, y, shadowAlpha, mutedCooldown) + if(not self or (self and self.Panel)) then return end + padding = padding or 1 + local underlay = (not inverse) + CreatePanelTemplate(self, "Slot", underlay, true, padding, x, y) + CreateButtonPanel(self, nil, nil, mutedCooldown) + if(shadowAlpha) then + self.Panel.Shadow:SetAttribute("shadowAlpha", shadowAlpha) + end +end; + TEMPLATE_METHODS["Slot"] = function(self, inverse, padding, x, y, shadowAlpha, mutedCooldown) if(not self or (self and self.Panel)) then return end padding = padding or 1 diff --git a/Interface/AddOns/SVUI/framework/docks/dock_core.lua b/Interface/AddOns/SVUI/framework/docks/dock_core.lua index c3e10d5..bb7d1b3 100644 --- a/Interface/AddOns/SVUI/framework/docks/dock_core.lua +++ b/Interface/AddOns/SVUI/framework/docks/dock_core.lua @@ -109,6 +109,18 @@ _G.ToggleSuperDockLeft = function(self, button) GameTooltip:Hide() if(button and IsAltKeyDown()) then SV:StaticPopup_Show('RESETDOCKS_CHECK') + elseif(button and button == 'RightButton') then + ButtonSound() + local userSize = SV.db.Dock.dockLeftHeight + if(not SV.cache.Docks.LeftExpanded) then + SV.cache.Docks.LeftExpanded = true + Dock.BottomLeft.Window:SetHeight(userSize + 300) + else + SV.cache.Docks.LeftExpanded = nil + Dock.BottomLeft.Window:SetHeight(userSize) + end + Dock.BottomLeft.Bar:Update() + Dock:UpdateDockBackdrops() else if SV.cache.Docks.LeftFaded then SV.cache.Docks.LeftFaded = nil; @@ -130,6 +142,18 @@ _G.ToggleSuperDockRight = function(self, button) GameTooltip:Hide() if(button and IsAltKeyDown()) then SV:StaticPopup_Show('RESETDOCKS_CHECK') + elseif(button and button == 'RightButton') then + ButtonSound() + local userSize = SV.db.Dock.dockRightHeight + if(not SV.cache.Docks.RightExpanded) then + SV.cache.Docks.RightExpanded = true + Dock.BottomRight.Window:SetHeight(userSize + 300) + else + SV.cache.Docks.RightExpanded = nil + Dock.BottomRight.Window:SetHeight(userSize) + end + Dock.BottomRight.Bar:Update() + Dock:UpdateDockBackdrops() else if SV.cache.Docks.RightFaded then SV.cache.Docks.RightFaded = nil; @@ -360,6 +384,8 @@ local DockButton_OnEnter = function(self, ...) GameTooltip:ClearLines() local tipText = self:GetAttribute("tipText") GameTooltip:AddDoubleLine("[Left-Click]", tipText, 0, 1, 0, 1, 1, 1) + local tipExtraText = self:GetAttribute("tipExtraText") + GameTooltip:AddDoubleLine("[Right-Click]", tipExtraText, 0, 1, 0, 1, 1, 1) GameTooltip:AddLine(" ") GameTooltip:AddDoubleLine("[Alt + Click]", "Reset Dock Buttons", 0, 0.5, 1, 0.5, 1, 0.5) GameTooltip:Show() @@ -885,9 +911,15 @@ function Dock:GetDimensions(location) if(location:find("Left")) then width = SV.db.Dock.dockLeftWidth; height = SV.db.Dock.dockLeftHeight; + if(SV.cache.Docks.LeftExpanded) then + height = height + 300 + end else width = SV.db.Dock.dockRightWidth; height = SV.db.Dock.dockRightHeight; + if(SV.cache.Docks.RightExpanded) then + height = height + 300 + end end return width, height; @@ -914,6 +946,7 @@ function Dock:NewDocklet(location, globalName, readableName, texture, onclick) frame.Enable = DockletEnable; frame.Relocate = DockletRelocate; frame.GetButtonSize = DockletButtonSize; + frame:FadeCallback(function() newParent.Bar:Cycle() newParent.Bar:GetDefault() end, false, true) newParent.Bar.Data.Windows[globalName] = frame; @@ -1069,6 +1102,14 @@ function Dock:Initialize() SV.cache.Docks.RightFaded = false end + if(not SV.cache.Docks.LeftExpanded) then + SV.cache.Docks.LeftExpanded = false + end + + if(not SV.cache.Docks.RightExpanded) then + SV.cache.Docks.RightExpanded = false + end + if(not SV.cache.Docks.Order) then SV.cache.Docks.Order = {} end diff --git a/Interface/AddOns/SVUI/framework/docks/docks.xml b/Interface/AddOns/SVUI/framework/docks/docks.xml index f1f0a14..a462e25 100644 --- a/Interface/AddOns/SVUI/framework/docks/docks.xml +++ b/Interface/AddOns/SVUI/framework/docks/docks.xml @@ -47,8 +47,8 @@ <Anchor point="BOTTOMLEFT" relativeTo="$parent" /> </Anchors> <Attributes> - <Attribute name="tipText" type="string" value="Toggle Docks" /> - <Attribute name="tipExtraText" type="string" value="Left Dock Options" /> + <Attribute name="tipText" type="string" value="Toggle Left Dock" /> + <Attribute name="tipExtraText" type="string" value="Expand Left Dock" /> <Attribute name="hasDropDown" type="boolean" value="true" /> </Attributes> <Layers> @@ -119,8 +119,8 @@ <Anchor point="BOTTOMRIGHT" relativeTo="$parent" /> </Anchors> <Attributes> - <Attribute name="tipText" type="string" value="Toggle Docks" /> - <Attribute name="tipExtraText" type="string" value="Right Dock Options" /> + <Attribute name="tipText" type="string" value="Toggle Right Dock" /> + <Attribute name="tipExtraText" type="string" value="Expand Right Dock" /> <Attribute name="hasDropDown" type="boolean" value="true" /> </Attributes> <Layers> diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua index 455f997..05039c8 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua @@ -95,7 +95,7 @@ local BlendedSound_Effect = function(self) for i = 1, channels do key = random(1, #bank[i]); sound = bank[i][key]; - PlaySoundFile(sound) + PlaySoundFile(sound); end end diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua index 5ae10b2..0c8a2e5 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua @@ -94,7 +94,14 @@ function lib:ExecuteTimer(timeOutFunction, duration, idCheck) end end return false -end +end + +function lib:RemoveTimer(id) + if(TimerQueue[id]) then + TimerQueue[id] = nil + TimerCount = TimerCount - 1; + end +end function lib:ExecuteLoop(timeOutFunction, duration, idCheck) if(type(duration) == "number" and type(timeOutFunction) == "function") then diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc index a873882..ca846d8 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc @@ -2,7 +2,7 @@ ## Title: oUF ActionPanel ## Notes: Adds a backing to all unit frames that provides many utilities. ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc index 892e4ea..ebc502e 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc @@ -2,7 +2,7 @@ ## Title: oUF Afflicted ## Notes: Adds Custom Debuff Highlighting to oUF. ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc index af81155..1f961f9 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc @@ -2,7 +2,7 @@ ## Title: oUF Gladiator ## Notes: Adds PvP trinket status and spec icons to oUF frames. ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc index 3296a71..76370db 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc @@ -2,7 +2,7 @@ ## Title: oUF Mage Magic ## Notes: Adds support for mage spell indicators to oUF. ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Dependencies: oUF oUF_MageMagic.lua \ No newline at end of file diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua index 53f9bbb..5f5b994 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua @@ -23,7 +23,7 @@ local SetPortraitTexture = _G.SetPortraitTexture; local parent, ns = ... local oUF = ns.oUF -local Update = function(self, event, unit) +local Update = function(self, event, unit, forced) if(not unit or not UnitIsUnit(self.unit, unit)) then return end local portrait = self.Portrait @@ -33,6 +33,7 @@ local Update = function(self, event, unit) local guid = UnitGUID(unit) local camera = portrait.UserCamDistance or 1 local rotate = portrait.UserRotation + if(not UnitExists(unit) or not UnitIsConnected(unit) or not UnitIsVisible(unit)) then portrait:SetCamDistanceScale(1) portrait:SetPortraitZoom(0) @@ -44,12 +45,12 @@ local Update = function(self, event, unit) if portrait.UpdateColor then portrait:UpdateColor(0.25,0.25,0.25) end - elseif(portrait.guid ~= guid or event == 'UNIT_MODEL_CHANGED') then + elseif((forced) or (portrait.guid ~= guid) or (event == 'UNIT_MODEL_CHANGED')) then + portrait:ClearModel() + portrait:SetUnit(unit) portrait:SetCamDistanceScale(camera) portrait:SetPortraitZoom(1) portrait:SetPosition(0,0,0) - portrait:ClearModel() - portrait:SetUnit(unit) portrait.guid = guid if(rotate and portrait:GetFacing() ~= rotate / 60) then diff --git a/Interface/AddOns/SVUI/packages/bar/SVBar.lua b/Interface/AddOns/SVUI/packages/bar/SVBar.lua index f6a3f87..6f246a4 100644 --- a/Interface/AddOns/SVUI/packages/bar/SVBar.lua +++ b/Interface/AddOns/SVUI/packages/bar/SVBar.lua @@ -175,7 +175,7 @@ local function SaveActionButton(parent) end MOD:FixKeybindText(parent) MOD.ButtonCache[parent] = true - parent:SetStylePanel("Slot", 2, 0, 0, 0.75, true) + parent:SetStylePanel("Action", 2, 0, 0, 0.75, true) parent:SetCheckedTexture("") end @@ -1149,7 +1149,7 @@ do else auto:Hide() end - if (isActive and actionName ~= "PET_ACTION_FOLLOW") then + if (isActive and actionName ~= "PET_ACTION_FOLLOW") then button:SetChecked(true) checked:SetAlpha(1) button:SetBackdropBorderColor(0.4, 0.8, 0) diff --git a/Interface/AddOns/SVUI/packages/bar/components/micro.lua b/Interface/AddOns/SVUI/packages/bar/components/micro.lua index 5508551..69be5a3 100644 --- a/Interface/AddOns/SVUI/packages/bar/components/micro.lua +++ b/Interface/AddOns/SVUI/packages/bar/components/micro.lua @@ -151,6 +151,7 @@ function MOD:UpdateMicroButtons() end function MOD:InitializeMicroBar() + if(not SV.db.SVBar.Micro.enable) then return end local buttonSize = SV.db.SVBar.Micro.buttonsize or 30; local spacing = SV.db.SVBar.Micro.buttonspacing or 1; local barWidth = (buttonSize + spacing) * 13; diff --git a/Interface/AddOns/SVUI/packages/quest/SVQuest.xml b/Interface/AddOns/SVUI/packages/quest/SVQuest.xml index f1d7730..36df400 100644 --- a/Interface/AddOns/SVUI/packages/quest/SVQuest.xml +++ b/Interface/AddOns/SVUI/packages/quest/SVQuest.xml @@ -1,5 +1,5 @@ <Ui xmlns="http://www.blizzard.com/wow/ui/"> - <Frame name="SVUI_QuestItemBar" parent="UIParent" hidden="true"> + <Frame name="SVUI_QuestItemBar" parent="UIParent"> <Size x="32" y="160"/> <Anchors> <Anchor point="BOTTOMRIGHT" x="-250" y="60"/> diff --git a/Interface/AddOns/SVUI/packages/quest/components/active.lua b/Interface/AddOns/SVUI/packages/quest/components/active.lua index 13b31ec..4450c35 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/active.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/active.lua @@ -216,9 +216,11 @@ local SetActiveData = function(self, title, level, icon, questID, questLogIndex, if(objective_rows > 0) then objective_block:SetHeightToScale(fill_height); objective_block:FadeIn(); + fill_height = fill_height + ((INNER_HEIGHT + 4) + (LARGE_INNER_HEIGHT)); + else + fill_height = fill_height + LARGE_INNER_HEIGHT + 12; end - fill_height = fill_height + ((INNER_HEIGHT + 4) + (LARGE_ROW_HEIGHT + 8)); block:SetHeightToScale(fill_height); MOD.Docklet.ScrollFrame.ScrollBar:SetValue(0); @@ -230,16 +232,8 @@ local SetActiveData = function(self, title, level, icon, questID, questLogIndex, end block.Badge.Icon:SetTexture(icon); - -- local link, texture, _, showCompleted = GetQuestLogSpecialItemInfo(questLogIndex) - - -- if(link) then - -- MOD.QuestItem:SetUsage(link, texture) - -- elseif(MOD.QuestItem:IsShown()) then - -- MOD.QuestItem:ClearUsage() - -- end - - if(self.Block.Badge.PostUpdate) then - self.Block.Badge:PostUpdate(questID) + if(block.Badge.PostUpdate) then + block.Badge:PostUpdate(questID) end self:RefreshHeight() @@ -335,37 +329,7 @@ function MOD:InitializeActive() local block = CreateFrame("Frame", nil, active) block:SetPointToScale("TOPLEFT", active, "TOPLEFT", 2, -4); block:SetPointToScale("TOPRIGHT", active, "TOPRIGHT", -2, -4); - block:SetHeightToScale(LARGE_ROW_HEIGHT); - - block.Top = CreateFrame("Frame", nil, block) - block.Top:SetPoint("TOPLEFT", block, "TOPLEFT", 2, -2); - block.Top:SetPoint("TOPRIGHT", block, "TOPRIGHT", -2, -2); - block.Top:SetHeightToScale(INNER_HEIGHT); - - block.Top.Text = block.Top:CreateFontString(nil,"OVERLAY") - block.Top.Text:SetPoint("TOPLEFT", block.Top, "TOPLEFT", 2, 0); - block.Top.Text:SetPoint("BOTTOMLEFT", block.Top, "BOTTOMLEFT", 2, 0); - block.Top.Text:SetFontObject(SVUI_Font_Quest_Header); - block.Top.Text:SetJustifyH('LEFT') - block.Top.Text:SetTextColor(0.28,0.75,1) - block.Top.Text:SetText("Active") - - block.CloseButton = CreateFrame("Button", nil, block.Top, "UIPanelCloseButton") - block.CloseButton:RemoveTextures() - block.CloseButton:SetStylePanel("Button", nil, 1, -7, -7, nil, "red") - block.CloseButton:SetFrameLevel(block.CloseButton:GetFrameLevel() + 4) - block.CloseButton:SetNormalTexture([[Interface\AddOns\SVUI\assets\artwork\Icons\CLOSE-BUTTON]]) - block.CloseButton:HookScript("OnEnter", CloseButton_OnEnter) - block.CloseButton:HookScript("OnLeave", CloseButton_OnLeave) - block.CloseButton:SetPointToScale("TOPRIGHT", block.Top, "TOPRIGHT", 8, 8); - block.CloseButton:RegisterForClicks("LeftButtonUp", "RightButtonUp") - block.CloseButton.Parent = active; - block.CloseButton:SetScript("OnClick", ActiveButton_OnClick) - - block.Top.Divider = block.Top:CreateTexture(nil, 'BACKGROUND'); - block.Top.Divider:SetPoint("TOPLEFT", block.Top.Text, "TOPRIGHT", -10, 0); - block.Top.Divider:SetPoint("BOTTOMRIGHT", block.Top, "BOTTOMRIGHT", 0, 0); - block.Top.Divider:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DROPDOWN-DIVIDER]]); + block:SetHeightToScale(LARGE_INNER_HEIGHT); block.Button = CreateFrame("Button", nil, block) block.Button:SetPointToScale("TOPLEFT", block, "TOPLEFT", 0, 0); @@ -378,8 +342,20 @@ function MOD:InitializeActive() block.Button:SetScript("OnEnter", ActiveButton_OnEnter) block.Button:SetScript("OnLeave", ActiveButton_OnLeave) + block.CloseButton = CreateFrame("Button", nil, block.Button, "UIPanelCloseButton") + block.CloseButton:RemoveTextures() + block.CloseButton:SetStylePanel("Button", nil, 1, -7, -7, nil, "red") + block.CloseButton:SetFrameLevel(block.Button:GetFrameLevel() + 4) + block.CloseButton:SetNormalTexture([[Interface\AddOns\SVUI\assets\artwork\Icons\CLOSE-BUTTON]]) + block.CloseButton:HookScript("OnEnter", CloseButton_OnEnter) + block.CloseButton:HookScript("OnLeave", CloseButton_OnLeave) + block.CloseButton:SetPointToScale("TOPRIGHT", block.Button, "TOPRIGHT", 4, 4); + block.CloseButton:RegisterForClicks("LeftButtonUp", "RightButtonUp") + block.CloseButton.Parent = active; + block.CloseButton:SetScript("OnClick", ActiveButton_OnClick) + block.Badge = CreateFrame("Frame", nil, block.Button) - block.Badge:SetPointToScale("TOPLEFT", block.Top, "BOTTOMLEFT", 4, -4); + block.Badge:SetPointToScale("TOPLEFT", block.Button, "TOPLEFT", 4, -4); block.Badge:SetSizeToScale((LARGE_INNER_HEIGHT - 4), (LARGE_INNER_HEIGHT - 4)); block.Badge:SetStylePanel("!_Frame", "Inset") @@ -387,15 +363,12 @@ function MOD:InitializeActive() block.Badge.Icon:SetAllPointsIn(block.Badge); block.Badge.Icon:SetTexture(QUEST_ICON) block.Badge.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) - if(SV.AddQuestCompass) then - SV:AddQuestCompass(block, block.Badge, (LARGE_INNER_HEIGHT - 4)) - end - block.Header = CreateFrame("Frame", nil, block.Button) - block.Header:SetPointToScale("TOPLEFT", block.Badge, "TOPRIGHT", 4, -1); - block.Header:SetPointToScale("TOPRIGHT", block.Top, "BOTTOMRIGHT", -4, 0); - block.Header:SetHeightToScale(INNER_HEIGHT); - block.Header:SetStylePanel("Frame", "Lite") + block.Header = CreateFrame("Frame", nil, block) + block.Header:SetPoint("TOPLEFT", block.Badge, "TOPRIGHT", 4, 0); + block.Header:SetPoint("TOPRIGHT", block.Button, "TOPRIGHT", -24, -4); + block.Header:SetHeightToScale(INNER_HEIGHT - 2); + block.Header:SetStylePanel("Frame") block.Header.Level = block.Header:CreateFontString(nil,"OVERLAY") block.Header.Level:SetFontObject(SVUI_Font_Quest); @@ -412,9 +385,24 @@ function MOD:InitializeActive() block.Header.Text:SetPointToScale("TOPLEFT", block.Header.Level, "TOPRIGHT", 4, 0); block.Header.Text:SetPointToScale("BOTTOMRIGHT", block.Header, "BOTTOMRIGHT", 0, 0); + block.Details = CreateFrame("Frame", nil, block.Header) + block.Details:SetPointToScale("TOPLEFT", block.Header, "BOTTOMLEFT", 0, -2); + block.Details:SetPointToScale("TOPRIGHT", block.Header, "BOTTOMRIGHT", 0, -2); + + if(SV.AddQuestCompass) then + block.Details:SetHeightToScale(INNER_HEIGHT - 4); + SV:AddQuestCompass(block, block.Badge) + block.Badge.Compass.Range:ClearAllPoints() + block.Badge.Compass.Range:SetPointToScale("TOPLEFT", block.Details, "TOPLEFT", 4, 0); + block.Badge.Compass.Range:SetPointToScale("BOTTOMLEFT", block.Details, "BOTTOMLEFT", 4, 0); + block.Badge.Compass.Range:SetJustifyH("LEFT"); + else + block.Details:SetHeightToScale(1); + end + block.Objectives = MOD:NewObjectiveHeader(block); - block.Objectives:SetPointToScale("TOPLEFT", block.Header, "BOTTOMLEFT", 0, -2); - block.Objectives:SetPointToScale("TOPRIGHT", block.Header, "BOTTOMRIGHT", 0, -2); + block.Objectives:SetPointToScale("TOPLEFT", block.Details, "BOTTOMLEFT", 0, -2); + block.Objectives:SetPointToScale("TOPRIGHT", block.Details, "BOTTOMRIGHT", 0, -2); block.Objectives:SetHeightToScale(1); active.Block = block; diff --git a/Interface/AddOns/SVUI/packages/quest/components/quests.lua b/Interface/AddOns/SVUI/packages/quest/components/quests.lua index 79e5360..e9f75e0 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/quests.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/quests.lua @@ -187,7 +187,6 @@ do end local Button_ClearItem = function(self) - --self:FadeOut() if(InCombatLockdown()) then self.attribute = nil; self:RegisterEvent('PLAYER_REGEN_ENABLED'); @@ -328,6 +327,24 @@ function ItemBar:Reset() end end +local function HideItemBarButtons() + local maxIndex = #ItemBar.Buttons; + for i = 1, maxIndex do + local button = ItemBar.Buttons[i]; + button:FadeOut(0.1, 1, 0, true); + end + ItemBar:FadeOut(0.1, 1, 0, true) +end + +local function ShowItemBarButtons() + local maxIndex = #ItemBar.Buttons; + for link, index in pairs(ACTIVE_ITEMS) do + local button = ItemBar.Buttons[index]; + button:FadeIn(); + end + ItemBar:FadeIn(); +end + function ItemBar:Update() if(InCombatLockdown()) then self:RegisterEvent("PLAYER_REGEN_ENABLED") @@ -962,6 +979,7 @@ local AddOneQuest = function(self, questID) end local ResetQuestBlock = function(self) + if(not self:IsVisible()) then return end for x = 1, #self.Rows do local row = self.Rows[x] if(row) then @@ -1003,9 +1021,7 @@ CORE FUNCTIONS ########################################################## ]]-- function MOD:UpdateObjectives(event, ...) - -- print('<-----QUESTS') - -- print(event) - -- print(...) + if(not self.Headers["Quests"]:IsVisible()) then return end if(event == "ZONE_CHANGED_NEW_AREA") then if(not WorldMapFrame:IsShown() and GetCVarBool("questPOI")) then SetMapToCurrentZone(); @@ -1087,6 +1103,25 @@ end SV.Events:On("QUEST_UPVALUES_UPDATED", "UpdateQuestLocals", UpdateQuestLocals); +local ticker; +local _hook_QuestDock_OnShow = function(self) + if(not self:IsShown()) then return end + if(not ticker) then + ticker = SV.Timers:ExecuteTimer(ShowItemBarButtons, 1) + end + MOD.Headers["Quests"]:Reset() + MOD.Headers["Quests"]:Refresh() +end + +local _hook_QuestDock_OnHide = function(self) + if(self:IsShown()) then return end + if(ticker) then + SV.Timers:RemoveTimer(ticker) + ticker = nil + end + HideItemBarButtons() +end + function MOD:InitializeQuests() local barWidth = 32; local barHeight = barWidth * 5; @@ -1094,12 +1129,13 @@ function MOD:InitializeQuests() ItemBar:SetPointToScale("TOPRIGHT", SV.Dock.BottomRight, "TOPLEFT", -4, 0); ItemBar:SetWidth(barWidth); ItemBar:SetHeight(barHeight); - ItemBar:SetStylePanel("Frame") SV.Mentalo:Add(ItemBar, L["Quest Items"]); for i = 1, 5 do ItemBar.Buttons[i] = CreateQuestItemButton(i) end - --ItemBar:Update() + + self.Docklet:HookScript("OnShow", _hook_QuestDock_OnShow) + self.Docklet:HookScript("OnHide", _hook_QuestDock_OnHide) local scrollChild = self.Docklet.ScrollFrame.ScrollChild; local quests = CreateFrame("Frame", nil, scrollChild) @@ -1147,10 +1183,12 @@ function MOD:InitializeQuests() self:RegisterEvent("ZONE_CHANGED_NEW_AREA", self.UpdateObjectives); self:RegisterEvent("ZONE_CHANGED", self.UpdateObjectives); - ItemBar:Reset(); + --ItemBar:Reset(); CacheQuestHeaders() self.Headers["Quests"]:Reset() self.Headers["Quests"]:Refresh() WorldMapFrame:HookScript("OnHide", _hook_WorldMapFrameOnHide) + + ItemBar:Show() end \ No newline at end of file diff --git a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua index 73ebd5a..90bffd3 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua @@ -109,7 +109,8 @@ local SetScenarioData = function(self, title, stageName, currentStage, numStages if(duration > 0 and elapsed <= duration and not (failed or completed)) then objective_rows = objective_block:SetTimer(objective_rows, duration, elapsed); fill_height = fill_height + (INNER_HEIGHT + 2); - elseif(description and description ~= '') then + end + if(description and description ~= '') then objective_rows = objective_block:SetInfo(objective_rows, description, completed, failed); fill_height = fill_height + (INNER_HEIGHT + 2); end @@ -363,7 +364,7 @@ function MOD:InitializeScenarios() block:SetPointToScale("TOPLEFT", scenario, "TOPLEFT", 2, -2); block:SetPointToScale("TOPRIGHT", scenario, "TOPRIGHT", -2, -2); block:SetHeight(1); - block:SetStylePanel("HeavyButton", "Lite"); + block:SetStylePanel("Frame", "Lite"); block.Badge = CreateFrame("Frame", nil, block) block.Badge:SetPointToScale("TOPLEFT", block, "TOPLEFT", 4, -4); diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua index 60deeec..cc5683f 100644 --- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua +++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua @@ -383,6 +383,7 @@ end function MOD:RefreshUnitLayout(frame, template) local db = SV.db.SVUnit[template] if(not db) then return end + local TOP_ANCHOR1, TOP_ANCHOR2, TOP_MODIFIER = "TOPRIGHT", "TOPLEFT", 1; local BOTTOM_ANCHOR1, BOTTOM_ANCHOR2, BOTTOM_MODIFIER = "BOTTOMLEFT", "BOTTOMRIGHT", -1; if(ReversedUnit[template]) then @@ -700,7 +701,7 @@ function MOD:RefreshUnitLayout(frame, template) if(PORTRAIT_OVERLAY) then if(PORTRAIT_STYLE == '3D') then PORTRAIT_GRIP:SetFrameLevel(frame.ActionPanel:GetFrameLevel()) - PORTRAIT_GRIP:SetCamDistanceScale(db.portrait.camDistanceScale) + PORTRAIT_GRIP:ForceUpdate() elseif(PORTRAIT_STYLE == '2D') then PORTRAIT_GRIP.anchor:SetFrameLevel(frame.ActionPanel:GetFrameLevel()) end @@ -713,7 +714,7 @@ function MOD:RefreshUnitLayout(frame, template) PORTRAIT_GRIP.Panel:Show() if(PORTRAIT_STYLE == '3D') then PORTRAIT_GRIP:SetFrameLevel(frame.ActionPanel:GetFrameLevel()) - PORTRAIT_GRIP:SetCamDistanceScale(db.portrait.camDistanceScale) + PORTRAIT_GRIP:ForceUpdate() elseif(PORTRAIT_STYLE == '2D') then PORTRAIT_GRIP.anchor:SetFrameLevel(frame.ActionPanel:GetFrameLevel()) end @@ -759,14 +760,18 @@ function MOD:RefreshUnitLayout(frame, template) castbar:SetSize(adjustedWidth, lazerScale) end - if castbar.Spark and db.castbar.spark then - castbar.Spark:Show() - castbar.Spark:SetSize(sparkSize, sparkSize) - if castbar.Spark[1] and castbar.Spark[2] then - castbar.Spark[1]:SetAllPoints(castbar.Spark) - castbar.Spark[2]:SetAllPointsIn(castbar.Spark, 4, 4) + if castbar.Spark then + if(db.castbar.spark) then + castbar.Spark:Show() + castbar.Spark:SetSize(sparkSize, sparkSize) + if castbar.Spark[1] and castbar.Spark[2] then + castbar.Spark[1]:SetAllPoints(castbar.Spark) + castbar.Spark[2]:SetAllPointsIn(castbar.Spark, 4, 4) + end + castbar.Spark.SetHeight = SV.fubar + else + castbar.Spark:Hide() end - castbar.Spark.SetHeight = SV.fubar end castbar:SetFrameStrata("HIGH") if castbar.Holder then diff --git a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua index cec92a2..07938e1 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua @@ -401,12 +401,6 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText) bg:SetTexture(1, 1, 1, 1) bg:SetGradientAlpha("VERTICAL", 0, 0, 0, 0, 0, 0, 0, 0.7) - -- local effectFrame = CreateFrame("PlayerModel", nil, info) - -- effectFrame:SetAllPoints(info) - -- effectFrame:SetCamDistanceScale(0.5) - -- effectFrame:SetPortraitZoom(0) - -- effectFrame:SetModel([[Spells\Monk_travelingmist_missile.m2]]) - frame.TextGrip = CreateFrame("Frame", nil, info) frame.TextGrip:SetFrameStrata("LOW") frame.TextGrip:SetFrameLevel(20) diff --git a/Interface/AddOns/SVUI/system/media.lua b/Interface/AddOns/SVUI/system/media.lua index 02e73db..4c219b8 100644 --- a/Interface/AddOns/SVUI/system/media.lua +++ b/Interface/AddOns/SVUI/system/media.lua @@ -53,8 +53,7 @@ local NAMEPLATE_FONT = _G.NAMEPLATE_FONT local CHAT_FONT_HEIGHTS = _G.CHAT_FONT_HEIGHTS local STANDARD_TEXT_FONT = _G.STANDARD_TEXT_FONT local UNIT_NAME_FONT = _G.UNIT_NAME_FONT -local DAMAGE_TEXT_FONT = _G.DAMAGE_TEXT_FONT -local CUSTOM_CLASS_COLORS = _G.CUSTOM_CLASS_COLORS +local CUSTOM_CLASS_COLORS = _G.CUSTOM_CLASS_COLORS local RAID_CLASS_COLORS = _G.RAID_CLASS_COLORS local UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = _G.UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT @@ -64,6 +63,24 @@ if(GetLocale() ~= "enUS") then end --[[ ########################################################## +FORCIBLY CHANGE THE GAME WORLD COMBAT TEXT FONT +########################################################## +]]-- +local SVUI_DAMAGE_FONT = "Interface\\AddOns\\SVUI\\assets\\fonts\\!DAMAGE.ttf"; +local SVUI_DAMAGE_FONTSIZE = 32; + +local function ForceDamageFont() + DAMAGE_TEXT_FONT = SVUI_DAMAGE_FONT + --COMBAT_TEXT_HEIGHT = SVUI_DAMAGE_FONTSIZE; + COMBAT_TEXT_CRIT_SCALE_TIME = 0.7; + COMBAT_TEXT_SPACING = 15; + COMBAT_TEXT_Y_SCALE = 1.5; + COMBAT_TEXT_X_SCALE = 1.5; +end + +ForceDamageFont(); +--[[ +########################################################## DEFINE SOUND EFFECTS ########################################################## ]]-- @@ -400,38 +417,13 @@ end hooksecurefunc("FCF_ResetChatWindows", UpdateChatFontSizes) -local function UpdateCombatFontSizes() - local fontFile = "Interface\\AddOns\\SVUI\\assets\\fonts\\Combat.ttf" - _G.DAMAGE_TEXT_FONT = fontFile - _G.NUM_COMBAT_TEXT_LINES = 20; - _G.COMBAT_TEXT_SCROLLSPEED = 1.0; - _G.COMBAT_TEXT_FADEOUT_TIME = 1.0; - _G.COMBAT_TEXT_HEIGHT = 18; - _G.COMBAT_TEXT_CRIT_MAXHEIGHT = 2.0; - _G.COMBAT_TEXT_CRIT_MINHEIGHT = 1.2; - _G.COMBAT_TEXT_CRIT_SCALE_TIME = 0.7; - _G.COMBAT_TEXT_CRIT_SHRINKTIME = 0.2; - _G.COMBAT_TEXT_TO_ANIMATE = {}; - _G.COMBAT_TEXT_STAGGER_RANGE = 20; - _G.COMBAT_TEXT_SPACING = 7; - _G.COMBAT_TEXT_MAX_OFFSET = 130; - _G.COMBAT_TEXT_LOW_HEALTH_THRESHOLD = 0.2; - _G.COMBAT_TEXT_LOW_MANA_THRESHOLD = 0.2; - _G.COMBAT_TEXT_LOCATIONS = {}; - - local fName, fHeight, fFlags = CombatTextFont:GetFont() - CombatTextFont:SetFont(fontFile, fHeight, fFlags) -end - local function ChangeGlobalFonts() local fontsize = SV.db.font.default.size; STANDARD_TEXT_FONT = LSM:Fetch("font", SV.db.font.default.file); UNIT_NAME_FONT = LSM:Fetch("font", SV.db.font.caps.file); - DAMAGE_TEXT_FONT = LSM:Fetch("font", SV.db.font.combat.file); NAMEPLATE_FONT = STANDARD_TEXT_FONT UpdateChatFontSizes() UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = fontsize - --UpdateCombatFontSizes() end --[[ ########################################################## @@ -629,6 +621,7 @@ local function UpdateAllFontTemplates() for template, _ in pairs(ManagedFonts) do UpdateFontTemplate(template) end + ChangeGlobalFonts(); end local function UpdateFontGroup(...) @@ -641,8 +634,6 @@ end SV.Events:On("SVUI_ALLFONTS_UPDATED", "UpdateAllFontTemplates", UpdateAllFontTemplates); SV.Events:On("SVUI_FONTGROUP_UPDATED", "UpdateFontGroup", UpdateFontGroup); - ---UpdateCombatFontSizes() --[[ ########################################################## MEDIA UPDATES diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc index 3260cd1..9e9e30f 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI |r|cffFFEF00Chat-O-Matic|r ## Notes: Supervillain UI [|cff9911FFVarious Chat Gadgets|r] ## SavedVariables: ChatOMatic_Data diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc index 07a1a60..df01bb5 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI |r|cffFFEF00Config-O-Matic|r ## Notes: Supervillain UI [|cff9911FFConfig Options|r] ## RequiredDeps: SVUI diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua index 29f3444..4476550 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua @@ -577,7 +577,11 @@ local function BarConfigLoader() enable = { order = 1, type = "toggle", - name = L["Enable"] + name = L["Enable"], + set = function(key, value) + MOD:ChangeDBVar(value, key[#key], "Micro"); + SV:StaticPopup_Show("RL_CLIENT") + end, }, mouseover = { order = 2, diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua index d9cf246..46c5dd5 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua @@ -36,7 +36,7 @@ local _, ns = ...; local AceGUIWidgetLSMlists = AceGUIWidgetLSMlists; local FONT_INFO = { - {"System Dialog", 1, "The most commonly used fonts.", + {"System Dialog", 1, "The most commonly used fonts. Changing these will require reloading the UI.", { ["default"] = { order = 1, @@ -296,8 +296,12 @@ local function GenerateFontGroup() return SV.db.font[template][key[#key]] end, set = function(key,value) - SV.db.font[template][key[#key]] = value; - SV.Events:Trigger("SVUI_FONTGROUP_UPDATED", template); + SV.db.font[template][key[#key]] = value; + if(groupCount == 1) then + SV:StaticPopup_Show("RL_CLIENT") + else + SV.Events:Trigger("SVUI_FONTGROUP_UPDATED", template); + end end, args = { description = { diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua index 0c882a3..76923a9 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua @@ -728,7 +728,7 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) local k = { order = 400, type = "group", - name = L["Name"], + name = L['Name'], get = function(key) return SV.db.SVUnit[unitName]["name"][key[#key]] end, @@ -736,9 +736,49 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) MOD:ChangeDBVar(value, key[#key], unitName, "name"); updateFunction(MOD, unitName, count) end, + disabled = function() + if(SV.db.SVUnit[unitName].grid and SV.db.SVUnit[unitName].grid.enable) then + return true + end + return false + end, args = { - commonGroup = { + description = { order = 1, + name = function() + if(SV.db.SVUnit[unitName].grid and SV.db.SVUnit[unitName].grid.enable) then + return L['Name Options Disabled While in Grid Mode'] + end + return '' + end, + type = "description", + width = "full", + }, + enable = { + type = "toggle", + order = 2, + name = L["Unit Name Enabled"], + get = function(key) + return SV.db.SVUnit[unitName]["name"].tags ~= "" + end, + set = function(key, value) + MOD:ChangeDBVar(value, key[#key], unitName, "formatting"); + local tag = "" + if(value == true) then + tag = SV.db.SVUnit[unitName]["formatting"].name_colored and "[name:color]" or ""; + + local length = SV.db.SVUnit[unitName]["formatting"].name_length; + tag = tag .. "[name:" .. length .. "]" + local lvl = SV.db.SVUnit[unitName]["formatting"].smartlevel and "[smartlevel]" or ""; + tag = tag .. lvl + end + + MOD:ChangeDBVar(tag, "tags", unitName, "name"); + updateFunction(MOD, unitName, count) + end, + }, + commonGroup = { + order = 3, type = "group", guiInline = true, name = L["Base Settings"], @@ -807,7 +847,7 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) } }, formatGroup = { - order = 100, + order = 5, type = "group", guiInline = true, name = L["Text Settings"], @@ -904,7 +944,7 @@ function ns:SetPortraitConfigGroup(updateFunction, unitName, count) order = 3, type = "group", guiInline = true, - name = L["3D Settings"], + name = L["3D Settings (Reload required to take affect)"], disabled = function() return SV.db.SVUnit[unitName]["portrait"].style == "2D" end, args = { rotation = { diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc index 32d50dc..8d03e52 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI |r|cffFFEF00Craft-O-Matic|r ## Notes: Supervillain UI [|cff9911FFProfession Tools|r]. ## SavedVariablesPerCharacter: CraftOMatic_Profile, CraftOMatic_Cache diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc index 5e26d3b..72763f2 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI |r|cffFFEF00Fight-O-Matic|r ## Notes: Supervillain UI [|cff9911FFPvP Tools|r]. ## SavedVariablesPerCharacter: FightOMatic_Profile, FightOMatic_Cache diff --git a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc index 9ec692a..479e952 100644 --- a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc +++ b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI |r|cffFFEF00Log-O-Matic|r ## Notes: Supervillain UI [|cff9911FFData Logging|r]. ## SavedVariables: LogOMatic_Data diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc index 4590d5e..328e883 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc +++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch, Azilroka, Sortokk -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI |r|cffFFEF00Style-O-Matic|r ## Notes: Supervillain UI [|cff9911FFAddon Skins|r]. ## SavedVariables: StyleOMatic_Global diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua index fc5e3b6..afaad1c 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua @@ -56,17 +56,6 @@ local function StyleTextureIcon(frame) end end -local function StyleItemIcon(item) - if((not item) or (not item.Icon)) then return end - item.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) - if(not item.IconSlot) then - item.IconSlot = CreateFrame("Frame", nil, item) - item.IconSlot:SetAllPointsOut(item.Icon) - item.IconSlot:SetStylePanel("Icon") - item.Icon:SetParent(item.IconSlot) - end -end - local function StyleListItem(item) if(not item) then return; end if(item.Icon) then @@ -82,7 +71,7 @@ local function StyleListItem(item) item.Icon:SetDesaturated(false) if(not item.IconSlot) then item.IconSlot = CreateFrame("Frame", nil, item) - item.IconSlot:SetAllPointsOut(item.Icon) + item.IconSlot:SetAllPoints(item.Icon) item.IconSlot:SetStylePanel("Icon") item.Icon:SetParent(item.IconSlot) end @@ -268,12 +257,14 @@ end local function StyleListButtons(listButtons) for i = 1, #listButtons do local frame = listButtons[i]; - if(frame.Icon and (not frame.Panel)) then + if(frame.Icon) then local size = frame:GetHeight() - 6 - local texture = frame.Icon:GetTexture() - frame:RemoveTextures() - frame:SetStylePanel("!_Frame", 'Blackout', true, 3) - frame.Icon:SetTexture(texture) + if(not frame.Panel) then + local texture = frame.Icon:GetTexture() + frame:RemoveTextures() + frame:SetStylePanel("!_Frame", 'Blackout', true, 3) + frame.Icon:SetTexture(texture) + end frame.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) frame.Icon:ClearAllPoints() frame.Icon:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -3, -3) @@ -283,6 +274,10 @@ local function StyleListButtons(listButtons) end end +local _hook_GarrisonMissionFrame_CheckRewardButtons = function(rewards) + StyleRewardButtons(rewards); +end + local function StyleUpdateRewards() local self = GarrisonMissionFrame local missionButtons = self.MissionTab.MissionList.listScroll.buttons; @@ -294,6 +289,30 @@ local function StyleUpdateRewards() StyleRewardButtons(self.MissionComplete.BonusRewards.Rewards); end +local _hook_GarrisonMissionButton_SetRewards = function(self, rewards, numRewards) + if (numRewards > 0) then + local index = 1; + for id, reward in pairs(rewards) do + local frame = self.Rewards[index]; + if(frame.Icon) then + local size = frame:GetHeight() - 6 + if(not frame.Panel) then + local texture = frame.Icon:GetTexture() + frame:RemoveTextures() + frame:SetStylePanel("!_Frame", 'Blackout', true, 3) + frame.Icon:SetTexture(texture) + end + frame.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) + frame.Icon:ClearAllPoints() + frame.Icon:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -3, -3) + frame.Icon:SetSize(size, size) + frame.Icon:SetDesaturated(false) + end + index = index + 1; + end + end +end + local function LoadGarrisonStyle() if PLUGIN.db.blizzard.enable ~= true then return @@ -475,7 +494,7 @@ local function LoadGarrisonStyle() hooksecurefunc("GarrisonFollowerButton_AddAbility", _hook_AddAbility) hooksecurefunc("GarrisonFollowerButton_SetCounterButton", _hook_SetCounterButton) - hooksecurefunc("GarrisonMissionList_UpdateMissions", StyleUpdateRewards) + hooksecurefunc("GarrisonMissionList_Update", StyleUpdateRewards) hooksecurefunc("GarrisonCapacitiveDisplayFrame_Update", _hook_ReagentUpdate) hooksecurefunc("GarrisonFollowerList_Update", _hook_GarrisonFollowerListUpdate) hooksecurefunc("GarrisonMissionFrame_SetFollowerPortrait", _hook_GarrisonMissionFrame_SetFollowerPortrait) @@ -487,6 +506,8 @@ local function LoadGarrisonStyle() hooksecurefunc("GarrisonBuildingList_SelectTab", _hook_GarrisonBuildingListUpdate) hooksecurefunc("GarrisonBuildingInfoBox_ShowFollowerPortrait", _hook_GarrisonBuildingInfoBoxFollowerPortrait) hooksecurefunc("GarrisonFollowerTooltipTemplate_SetGarrisonFollower", _hook_GarrisonFollowerTooltipTemplate_SetGarrisonFollower) + hooksecurefunc("GarrisonMissionButton_SetRewards", _hook_GarrisonMissionButton_SetRewards) + hooksecurefunc("GarrisonMissionFrame_CheckRewardButtons", _hook_GarrisonMissionFrame_CheckRewardButtons) if(GarrisonCapacitiveDisplayFrame.StartWorkOrderButton) then diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua index 5c95a02..568193f 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua @@ -189,6 +189,7 @@ local QuestTracker_OnUpdate = function(self, elapsed) self.throttle = 4 self.Arrow:SetAlpha(0) self.BG:SetVertexColor(0.1,0.1,0.1,0) + self.Range:SetTextColor(1,1,1,1) else self.throttle = 0.02 local range = floor(distance) @@ -198,14 +199,18 @@ local QuestTracker_OnUpdate = function(self, elapsed) self.BG:SetAlpha(1) if(range > 100) then self.BG:SetVertexColor(0.8,0.1,0.1,1) + self.Range:SetTextColor(1,0.5,0.5,1) elseif(range > 40) then self.BG:SetVertexColor(0.8,0.8,0.1,1) + self.Range:SetTextColor(1,1,0.5,1) else self.BG:SetVertexColor(0.1,0.8,0.1,1) + self.Range:SetTextColor(0.5,1,0.5,1) end - self.Range:SetText(range) + self.Range:SetText("Distance: " .. range .. " Yards") else self.BG:SetVertexColor(0.1,0.1,0.1,0) + self.Range:SetTextColor(1,1,1,1) self.Arrow:SetAlpha(0) self.BG:SetAlpha(0) self.Range:SetText("") @@ -233,7 +238,7 @@ local StartTrackingQuest = function(self, questID) end end -function SV:AddQuestCompass(parent, anchor, size) +function SV:AddQuestCompass(parent, anchor) if anchor.Compass then return end local compass = CreateFrame("Frame", nil, parent) compass:SetAllPoints(anchor) @@ -247,7 +252,7 @@ function SV:AddQuestCompass(parent, anchor, size) compass.Arrow:SetTexture([[Interface\AddOns\SVUI_TrackOMatic\artwork\QUEST-COMPASS-ARROW]]) compass.Range = compass:CreateFontString(nil, 'ARTWORK') compass.Range:SetPoint("CENTER", compass, "CENTER", 0, 0) - compass.Range:SetFont(SV.Media.font.default, 10, "OUTLINE") + compass.Range:SetFontObject(SVUI_Font_Quest); compass.Range:SetTextColor(1, 1, 1, 0.75) compass.Spin = Rotate_Arrow diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc index 66664e7..a167451 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.18 +## Version: 5.4.19 ## Title: |cffFF9900SVUI |r|cffFFEF00Track-O-Matic|r ## Notes: Supervillain UI [|cff9911FFRaid & Party Member Tracking|r]. ## SavedVariables: TrackOMatic_Global