diff --git a/Interface/AddOns/SVUI/AddOns - Shortcut.lnk b/Interface/AddOns/SVUI/AddOns - Shortcut.lnk new file mode 100644 index 0000000..cacefdf Binary files /dev/null and b/Interface/AddOns/SVUI/AddOns - Shortcut.lnk differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-BOTTOM.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-BOTTOM.blp new file mode 100644 index 0000000..51331f3 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-BOTTOM.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-LEFT.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-LEFT.blp new file mode 100644 index 0000000..7e50514 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-LEFT.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-RIGHT.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-RIGHT.blp new file mode 100644 index 0000000..f19b684 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-RIGHT.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-TOP.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-TOP.blp new file mode 100644 index 0000000..8ce4798 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Plate/PLATE-TOP.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-BOTTOM-OVERLAY.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-BOTTOM-OVERLAY.blp new file mode 100644 index 0000000..d13c9bc Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-BOTTOM-OVERLAY.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-BOTTOM.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-BOTTOM.blp new file mode 100644 index 0000000..d56e49a Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-BOTTOM.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-LEFT-OVERLAY.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-LEFT-OVERLAY.blp new file mode 100644 index 0000000..32679b9 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-LEFT-OVERLAY.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-LEFT.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-LEFT.blp new file mode 100644 index 0000000..4953e7d Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-LEFT.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-RIGHT-OVERLAY.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-RIGHT-OVERLAY.blp new file mode 100644 index 0000000..04b8e22 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-RIGHT-OVERLAY.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-RIGHT.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-RIGHT.blp new file mode 100644 index 0000000..d766a16 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-RIGHT.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-TOP-OVERLAY.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-TOP-OVERLAY.blp new file mode 100644 index 0000000..2382659 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-TOP-OVERLAY.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-TOP.blp b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-TOP.blp new file mode 100644 index 0000000..d1cc8c5 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/Tooltip/TT-TOP.blp differ diff --git a/Interface/AddOns/SVUI/packages/plates/SVPlate.lua b/Interface/AddOns/SVUI/packages/plates/SVPlate.lua index c8f1357..8fb3e52 100644 --- a/Interface/AddOns/SVUI/packages/plates/SVPlate.lua +++ b/Interface/AddOns/SVUI/packages/plates/SVPlate.lua @@ -69,6 +69,10 @@ local PlateRegistry, VisiblePlates = {}, {}; local WorldFrameUpdateHook, UpdatePlateElements, PlateForge; local BLIZZ_PLATE, SVUI_PLATE, PLATE_REF, PLATE_ARGS, PLATE_AURAS, PLATE_AURAICONS, PLATE_GRIP, PLATE_REALNAME; local CURRENT_TARGET_NAME, TARGET_CHECKS; +local PLATE_TOP = [[Interface\Addons\SVUI\assets\artwork\Template\Plate\PLATE-TOP]] +local PLATE_BOTTOM = [[Interface\Addons\SVUI\assets\artwork\Template\Plate\PLATE-BOTTOM]] +local PLATE_RIGHT = [[Interface\Addons\SVUI\assets\artwork\Template\Plate\PLATE-RIGHT]] +local PLATE_LEFT = [[Interface\Addons\SVUI\assets\artwork\Template\Plate\PLATE-LEFT]] --[[ Quick explaination of what Im doing with all of these locals... Unlike many of the other modules, SVPlates has to continuously @@ -213,31 +217,81 @@ local function SetPlateBorder(plate, point) point.backdrop:SetDrawLayer("BORDER", -4) point.backdrop:SetAllPoints(point) point.backdrop:SetTexture(SuperVillain.Media.bar.default) - point.backdrop:SetVertexColor(0.1,0.1,0.1) + point.backdrop:SetVertexColor(0.1,0.1,0.1) + point.bordertop = plate:CreateTexture(nil, "BORDER") point.bordertop:SetPoint("TOPLEFT", point, "TOPLEFT", -noscalemult, noscalemult) point.bordertop:SetPoint("TOPRIGHT", point, "TOPRIGHT", noscalemult, noscalemult) point.bordertop:SetHeight(noscalemult) point.bordertop:SetTexture(0,0,0) point.bordertop:SetDrawLayer("BORDER", 1) + point.borderbottom = plate:CreateTexture(nil, "BORDER") point.borderbottom:SetPoint("BOTTOMLEFT", point, "BOTTOMLEFT", -noscalemult, -noscalemult) point.borderbottom:SetPoint("BOTTOMRIGHT", point, "BOTTOMRIGHT", noscalemult, -noscalemult) point.borderbottom:SetHeight(noscalemult) point.borderbottom:SetTexture(0,0,0) point.borderbottom:SetDrawLayer("BORDER", 1) + point.borderleft = plate:CreateTexture(nil, "BORDER") point.borderleft:SetPoint("TOPLEFT", point, "TOPLEFT", -noscalemult, noscalemult) point.borderleft:SetPoint("BOTTOMLEFT", point, "BOTTOMLEFT", noscalemult, -noscalemult) point.borderleft:SetWidth(noscalemult) point.borderleft:SetTexture(0,0,0) point.borderleft:SetDrawLayer("BORDER", 1) + point.borderright = plate:CreateTexture(nil, "BORDER") point.borderright:SetPoint("TOPRIGHT", point, "TOPRIGHT", noscalemult, noscalemult) point.borderright:SetPoint("BOTTOMRIGHT", point, "BOTTOMRIGHT", -noscalemult, -noscalemult) point.borderright:SetWidth(noscalemult) point.borderright:SetTexture(0,0,0) - point.borderright:SetDrawLayer("BORDER", 1) + point.borderright:SetDrawLayer("BORDER", 1) +end + +local function SetEliteBorder(point) + local noscalemult = 2 * UIParent:GetScale() + if point.eliteborder then return end + + point.eliteborder = CreateFrame("Frame", nil, point) + point.eliteborder:SetAllPoints(point) + point.eliteborder:SetFrameStrata("BACKGROUND") + point.eliteborder:SetFrameLevel(0) + + -- point.eliteborder.top = point.eliteborder:CreateTexture(nil, "BACKGROUND") + -- point.eliteborder.top:SetPoint("BOTTOMLEFT", point.eliteborder, "TOPLEFT", 0, 0) + -- point.eliteborder.top:SetPoint("BOTTOMRIGHT", point.eliteborder, "TOPRIGHT", 0, 0) + -- point.eliteborder.top:SetHeight(point:GetWidth() * 0.25) + -- point.eliteborder.top:SetTexture(PLATE_TOP) + -- point.eliteborder.top:SetVertexColor(1, 1, 0) + -- point.eliteborder.top:SetBlendMode("BLEND") + + point.eliteborder.bottom = point.eliteborder:CreateTexture(nil, "BACKGROUND") + point.eliteborder.bottom:SetPoint("TOPLEFT", point.eliteborder, "BOTTOMLEFT", 0, 0) + point.eliteborder.bottom:SetPoint("TOPRIGHT", point.eliteborder, "BOTTOMRIGHT", 0, 0) + point.eliteborder.bottom:SetHeight(16) + point.eliteborder.bottom:SetTexture(PLATE_BOTTOM) + point.eliteborder.bottom:SetVertexColor(1, 1, 0) + point.eliteborder.bottom:SetBlendMode("BLEND") + + -- point.eliteborder.right = point.eliteborder:CreateTexture(nil, "BACKGROUND") + -- point.eliteborder.right:SetPoint("TOPLEFT", point.eliteborder, "TOPRIGHT", 0, 0) + -- point.eliteborder.right:SetPoint("BOTTOMLEFT", point.eliteborder, "BOTTOMRIGHT", 0, 0) + -- point.eliteborder.right:SetWidth(point:GetHeight() * 4) + -- point.eliteborder.right:SetTexture(PLATE_RIGHT) + -- point.eliteborder.right:SetVertexColor(1, 1, 0) + -- point.eliteborder.right:SetBlendMode("BLEND") + + point.eliteborder.left = point.eliteborder:CreateTexture(nil, "BACKGROUND") + point.eliteborder.left:SetPoint("TOPRIGHT", point.eliteborder, "TOPLEFT", 0, 0) + point.eliteborder.left:SetPoint("BOTTOMRIGHT", point.eliteborder, "BOTTOMLEFT", 0, 0) + point.eliteborder.left:SetWidth(point:GetHeight() * 4) + point.eliteborder.left:SetTexture(PLATE_LEFT) + point.eliteborder.left:SetVertexColor(1, 1, 0) + point.eliteborder.left:SetBlendMode("BLEND") + + point.eliteborder:SetAlpha(0.7) + + point.eliteborder:Hide() end --[[ ########################################################## @@ -505,6 +559,9 @@ do end frame.health:SetStatusBarColor(unpack(latestColor)) + --frame.health.eliteborder.bottom:SetVertexColor(unpack(latestColor)) + --frame.health.eliteborder.right:SetVertexColor(unpack(latestColor)) + --frame.health.eliteborder.left:SetVertexColor(unpack(latestColor)) if(NPUsePointer and NPPointerMatch and plate.setting.unit == "target") then NPGlow:SetBackdropBorderColor(unpack(latestColor)) end @@ -523,12 +580,15 @@ do if plate.ref.level:IsShown() then local level = plate.ref.level:GetObjectType() == 'FontString' and tonumber(plate.ref.level:GetText()) or nil local elite, boss, mylevel = plate.ref.eliteicon:IsShown(), plate.ref.skullicon:IsShown(), UnitLevel("player") + frame.health.eliteborder:Hide() if boss then frame.level:SetText("??") frame.level:SetTextColor(0.8, 0.05, 0) + frame.health.eliteborder:Show() elseif level then frame.level:SetText(level..(elite and "+" or "")) frame.level:SetTextColor(plate.ref.level:GetTextColor()) + if(elite) then frame.health.eliteborder:Show() end end elseif plate.ref.skullicon:IsShown() and frame.level:GetText() ~= '??' then frame.level:SetText("??") @@ -716,8 +776,8 @@ do end SVUI_PLATE.health:SetStatusBarTexture(SuperVillain.Media.bar.textured) SVUI_PLATE.health.text:SetFontTemplate(SuperVillain.Media.font.roboto, 8, "OUTLINE") - SVUI_PLATE.cast:SetSize(HBWidth, CBHeight) - SVUI_PLATE.cast:SetStatusBarTexture(SuperVillain.Media.bar.glow) + SVUI_PLATE.cast:SetSize(HBWidth, (CBHeight + 20)) + SVUI_PLATE.cast:SetStatusBarTexture(SuperVillain.Media.bar.lazer) SVUI_PLATE.cast.text:SetFont(SuperVillain.Media.font.roboto, 8, "OUTLINE") plate.cast.text:SetFont(SuperVillain.Media.font.roboto, 8, "OUTLINE") plate.cast.icon:Size((CBHeight + HBHeight) + 5) @@ -810,6 +870,7 @@ do frame.health:SetScript("OnSizeChanged", HealthBarSizeChanged) frame.health.sync = plate; SetPlateBorder(frame.health) + SetEliteBorder(frame.health) frame.health.text = frame.health:CreateFontString(nil, 'OVERLAY') frame.health.text:SetPoint("CENTER", frame.health, HBTextAnchor, HBXoffset, HBYoffset) @@ -858,13 +919,12 @@ do --[[ CAST BAR ]]-- frame.cast = CreateFrame("StatusBar", nil, frame) - frame.cast:SetPoint('TOPLEFT', frame.health, 'BOTTOMLEFT', 0, -5) - frame.cast:SetPoint('TOPRIGHT', frame.health, 'BOTTOMRIGHT', 0, -5) + frame.cast:SetPoint('TOPLEFT', frame.health, 'BOTTOMLEFT', 0, 5) + frame.cast:SetPoint('TOPRIGHT', frame.health, 'BOTTOMRIGHT', 0, 5) + frame.cast:SetFrameStrata("BACKGROUND") frame.cast:SetFrameLevel(0) - SetPlateBorder(frame.cast) - frame.cast.text = frame.cast:CreateFontString(nil, 'OVERLAY') frame.cast.text:SetPoint("TOPRIGHT", frame.cast, "BOTTOMRIGHT", 6, -2) frame.cast.text:SetJustifyH("RIGHT") @@ -880,7 +940,13 @@ do cast.icon:ClearAllPoints() cast.icon:SetPoint("TOPLEFT", frame.health, "TOPRIGHT", 5, 0) - SetPlateBorder(frame.cast, cast.icon) + local bgFrame = CreateFrame("Frame", nil, frame.cast) + bgFrame:WrapOuter(cast.icon) + bgFrame:SetFrameLevel(bgFrame:GetFrameLevel() - 1) + + bgFrame:SetPanelTemplate("Bar", true, 2, 0, 0) + + --SetPlateBorder(frame.cast, cast.icon) cast.sync = frame.cast diff --git a/Interface/AddOns/SVUI/packages/tip/SVTip.lua b/Interface/AddOns/SVUI/packages/tip/SVTip.lua index af6b883..85efd2e 100644 --- a/Interface/AddOns/SVUI/packages/tip/SVTip.lua +++ b/Interface/AddOns/SVUI/packages/tip/SVTip.lua @@ -52,6 +52,16 @@ local NIL_COLOR = { r = 1, g = 1, b = 1 }; local TAPPED_COLOR = { r = .6, g = .6, b = .6 }; local SKULL_ICON = "|TInterface\\TARGETINGFRAME\\UI-TargetingFrame-Skull.blp:16:16|t"; local TAMABLE_INDICATOR = "|TInterface\\PetPaperDollFrame\\PetStable-DietIcon.blp:16:16:0:0:64:64:4:60:4:60|t |cffFFFF00Tamable|r"; +local TT_TOP = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-TOP]] +local TT_BOTTOM = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-BOTTOM]] +local TT_RIGHT = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-RIGHT-OVERLAY]] +local TT_LEFT = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-LEFT-OVERLAY]] + +--local TT_TOP = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-TOP]] +--local TT_BOTTOM = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-BOTTOM]] +--local TT_RIGHT = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-RIGHT]] +--local TT_LEFT = [[Interface\Addons\SVUI\assets\artwork\Template\Tooltip\TT-LEFT]] + local tooltips = { GameTooltip, ItemRefTooltip, ItemRefShoppingTooltip1, ItemRefShoppingTooltip2, ItemRefShoppingTooltip3, AutoCompleteBox, @@ -741,6 +751,43 @@ function MOD:ConstructThisPackage() mini.right:SetTexture(MINI_RIGHT) tooltip.mini = mini tooltip.mini:Hide() + + tooltip.topborder = tooltip:CreateTexture(nil, "OVERLAY", nil, 1) + tooltip.topborder:SetPoint("BOTTOMLEFT", tooltip, "TOPLEFT", 0, 0) + tooltip.topborder:SetHeight(tooltip:GetWidth() * 0.25) + tooltip.topborder:SetWidth(tooltip:GetWidth() * 0.25) + tooltip.topborder:SetTexture(TT_TOP) + tooltip.topborder:SetVertexColor(0,0,0) + tooltip.topborder:SetBlendMode("BLEND") + tooltip.topborder:SetAlpha(0.65) + + tooltip.rightborder = tooltip:CreateTexture(nil, "OVERLAY", nil, 1) + tooltip.rightborder:SetPoint("TOPLEFT", tooltip, "TOPRIGHT", 0, 0) + tooltip.rightborder:SetPoint("BOTTOMLEFT", tooltip, "BOTTOMRIGHT", 0, 0) + tooltip.rightborder:SetWidth(tooltip:GetHeight() * 2.25) + tooltip.rightborder:SetTexture(TT_RIGHT) + tooltip.rightborder:SetVertexColor(0,0,0) + tooltip.rightborder:SetBlendMode("BLEND") + tooltip.rightborder:SetAlpha(0.75) + + tooltip.leftborder = tooltip:CreateTexture(nil, "OVERLAY", nil, 1) + tooltip.leftborder:SetPoint("TOPRIGHT", tooltip, "TOPLEFT", 0, 0) + tooltip.leftborder:SetPoint("BOTTOMRIGHT", tooltip, "BOTTOMLEFT", 0, 0) + tooltip.leftborder:SetWidth(tooltip:GetHeight() * 2.25) + tooltip.leftborder:SetTexture(TT_LEFT) + tooltip.leftborder:SetVertexColor(0,0,0) + tooltip.leftborder:SetBlendMode("BLEND") + tooltip.leftborder:SetAlpha(0.75) + + tooltip.bottomborder = tooltip:CreateTexture(nil, "OVERLAY", nil, 1) + tooltip.bottomborder:SetPoint("TOPRIGHT", tooltip, "BOTTOMRIGHT", 0, 0) + tooltip.bottomborder:SetHeight(tooltip:GetWidth() * 0.25) + tooltip.bottomborder:SetWidth(tooltip:GetWidth() * 0.25) + tooltip.bottomborder:SetTexture(TT_BOTTOM) + tooltip.bottomborder:SetVertexColor(0,0,0) + tooltip.bottomborder:SetBlendMode("BLEND") + tooltip.bottomborder:SetAlpha(0.5) + tooltip:SetBackdrop({ bgFile = [[Interface\AddOns\SVUI\assets\artwork\Template\Tooltip\TOOLTIP]], edgeFile = [[Interface\BUTTONS\WHITE8X8]], diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua index 1d94bfa..a8d4fbc 100644 --- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua +++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua @@ -390,6 +390,7 @@ function MOD:SetUnitFrame(unitKey) end if self.db[unitKey].enable then frame:Enable() + frame:MediaUpdate() frame:Update() else frame:Disable() @@ -421,6 +422,7 @@ function MOD:SetEnemyFrames(unitKey, maxCount) end if self.db[unitKey].enable then frame:Enable() + frame:MediaUpdate() frame:Update() else frame:Disable() @@ -525,6 +527,18 @@ do childFrame = self:GetAttribute("child"..index) end end + + local SecureHeaderUpdate = function(self) + local key = self.___key + local index = 1; + local childFrame = self:GetAttribute("child"..index) + while childFrame do + RefreshUnitMedia(childFrame, key) + MOD.HeaderUpdate[key](self) + index = index + 1; + childFrame = self:GetAttribute("child"..index) + end + end local SecureHeaderClear = function(self) self:Hide() @@ -565,7 +579,7 @@ do groupUnit:SetParent(parentFrame) groupUnit:Show() groupUnit.MediaUpdate = SecureHeaderMediaUpdate - groupUnit.Update = self.HeaderUpdate[headerName] + groupUnit.Update = SecureHeaderUpdate groupUnit.ClearAllAttributes = SecureHeaderClear return groupUnit end @@ -677,6 +691,7 @@ do return end for i=1,#group.subunits do + RefreshUnitMedia(group.subunits[i]) group.subunits[i]:Update() end end @@ -862,7 +877,7 @@ BUILD FUNCTION / UPDATE ########################################################## ]]-- function MOD:UpdateThisPackage() - --self:RefreshUnitFrames() + self:RefreshUnitFrames() end function MOD:ConstructThisPackage() diff --git a/Interface/AddOns/SVUI/packages/unit/frames/raid.lua b/Interface/AddOns/SVUI/packages/unit/frames/raid.lua index 26a2b8a..ad07102 100644 --- a/Interface/AddOns/SVUI/packages/unit/frames/raid.lua +++ b/Interface/AddOns/SVUI/packages/unit/frames/raid.lua @@ -56,8 +56,8 @@ local RaidPetVisibility = function(self, event) if inInstance and instanceType == "raid" then UnregisterStateDriver(self, "visibility") self:Show() - elseif self.db.visibility then - RegisterStateDriver(self, "visibility", self.db.visibility) + elseif db.visibility then + RegisterStateDriver(self, "visibility", db.visibility) end else self:RegisterEvent("PLAYER_REGEN_ENABLED") diff --git a/Interface/AddOns/SVUI/system/cartography.lua b/Interface/AddOns/SVUI/system/cartography.lua index 54e786b..2d84b02 100644 --- a/Interface/AddOns/SVUI/system/cartography.lua +++ b/Interface/AddOns/SVUI/system/cartography.lua @@ -292,11 +292,12 @@ do local dist, xDelta, yDelta; if(map1 == map2 and floor1 == floor2) then local chunk = _mapdata[map1]; + local tmp = chunk if(floor1 ~= 0) then - chunk = rawget(chunk, floor1) + tmp = rawget(chunk, floor1) end local w,h = 1,1 - if(not chunk) then + if(not tmp) then if(_dungeons[chunk.origin] and _dungeons[chunk.origin][floor1]) then chunk = _dungeons[chunk.origin][floor1] w = chunk.width