diff --git a/Interface/AddOns/SVUI/packages/dock/SVDock.lua b/Interface/AddOns/SVUI/packages/dock/SVDock.lua index b91bf9b..5018ff0 100644 --- a/Interface/AddOns/SVUI/packages/dock/SVDock.lua +++ b/Interface/AddOns/SVUI/packages/dock/SVDock.lua @@ -395,6 +395,8 @@ function MOD:CreateBasicToolButton(name,texture,onclick,frameName,isdefault) DEFAULT_DOCKLET = fName button:SaveColors("green", "green") end + + return button end --[[ ########################################################## @@ -879,7 +881,7 @@ function SV:RegisterDocklet(name, tooltip, texture, onclick, isdefault) frame.FrameName = name; tinsert(DOCKLET_CACHE, frame); frame.listIndex = #DOCKLET_CACHE; - self.SVDock:CreateBasicToolButton(tooltip, texture, onclick, name, isdefault) + frame.ToolbarButton = self.SVDock:CreateBasicToolButton(tooltip, texture, onclick, name, isdefault) end end diff --git a/Interface/AddOns/SVUI/scripts/ego.lua b/Interface/AddOns/SVUI/scripts/ego.lua index 4cebace..5b6a9fa 100644 --- a/Interface/AddOns/SVUI/scripts/ego.lua +++ b/Interface/AddOns/SVUI/scripts/ego.lua @@ -33,66 +33,88 @@ local L = SV.L local Sequences = { {65, 1000}, --shrug + {68, 1000}, --cheer {70, 1000}, --laugh {74, 1000}, --roar + {77, 1000}, --cry + {84, 1000}, --point {82, 1000}, --flex }; +local EgoFrame = CreateFrame("PlayerModel", "SVUI_EgoModel", UIParent); + local function rng() return random(1, #Sequences) end -local GoGoGadget = function(self, key) +local LaunchAnimation = function(self, key) key = key or rng() local emote = Sequences[key][1] - self:SetAlpha(1) - self.Model1:SetAnimation(emote) - self.Model2:SetAnimation(emote) + self:Show() + self:SetAnimation(emote) + self.anim:Play() end -local function LoadSVEgo() - local GameMenuFrame = _G.GameMenuFrame +local LaunchFreezeFrame = function(self, key) + key = key or rng() + local animation = Sequences[key] + local size = SVUIParent:GetHeight() + self:Show() + self:SetSequenceTime(unpack(animation)) + self.anim[2]:SetOffset(size, -size) + self.anim[2]:SetOffset(0, 0) + self.anim:Play() +end - local EgoFrame = CreateFrame("Frame", "SVUI_EgoFrame", UIParent); - EgoFrame:SetParent(GameMenuFrame) - EgoFrame:SetFrameLevel(0) - EgoFrame:SetAllPoints(SV.UIParent) +local ResetPosition = function(self) + local size = SVUIParent:GetHeight() + self:SetPoint("TOP", SV.UIParent, "TOP", 0, 0) + self:SetWidth(size) + self:SetHeight(size) + self:SetUnit("player") +end - EgoFrame.BG1 = EgoFrame:CreateTexture(nil, "BACKGROUND", nil, -7) - EgoFrame.BG1:SetPoint("TOPLEFT", EgoFrame, "TOPLEFT", 0, 0) - EgoFrame.BG1:SetPoint("BOTTOMRIGHT", EgoFrame, "TOPRIGHT", 0, -300) - EgoFrame.BG1:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]]) - EgoFrame.BG1:SetVertexColor(0, 0, 0, 0.8) +local Ego_OnEvent = function(self, event) + if event == "ACHIEVEMENT_EARNED" then + self:LaunchAnimation(4) + else + self:LaunchAnimation(6) + end +end - EgoFrame.BG2 = EgoFrame:CreateTexture(nil, "BACKGROUND", nil, -7) - EgoFrame.BG2:SetPoint("BOTTOMLEFT", EgoFrame, "BOTTOMLEFT", 0, 0) - EgoFrame.BG2:SetPoint("TOPRIGHT", EgoFrame, "BOTTOMRIGHT", 0, 300) - EgoFrame.BG2:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]]) - EgoFrame.BG2:SetVertexColor(0, 0, 0, 0.8) +function SV:ToggleEgo() + if not SV.db.general.ego then + EgoFrame:UnregisterEvent("ACHIEVEMENT_EARNED") + EgoFrame:UnregisterEvent("SCREENSHOT_SUCCEEDED") + EgoFrame:SetScript("OnEvent", nil) + else + EgoFrame:RegisterEvent("ACHIEVEMENT_EARNED") + EgoFrame:RegisterEvent("SCREENSHOT_SUCCEEDED") + EgoFrame:SetScript("OnEvent", Ego_OnEvent) + end +end - EgoFrame.Model1 = CreateFrame("PlayerModel", "SVUI_EgoModel1", EgoFrame); - EgoFrame.Model1:SetUnit("player") - EgoFrame.Model1:SetRotation(1) - EgoFrame.Model1:SetPortraitZoom(0.3) - EgoFrame.Model1:SetPosition(0,0,-0.25) - EgoFrame.Model1:SetFrameStrata("BACKGROUND") - EgoFrame.Model1:SetPoint("TOPLEFT", EgoFrame, "TOPLEFT", -250, -300) - EgoFrame.Model1:SetPoint("BOTTOMRIGHT", EgoFrame, "BOTTOM", 0, 300) +local EgoPop_OnUpdate = function(self) self.parent:SetAlpha(0) end - EgoFrame.Model2 = CreateFrame("PlayerModel", "SVUI_EgoModel2", EgoFrame); - EgoFrame.Model2:SetUnit("player") - EgoFrame.Model2:SetRotation(-1) - EgoFrame.Model2:SetPortraitZoom(0.3) - EgoFrame.Model2:SetPosition(0,0,-0.25) - EgoFrame.Model2:SetFrameStrata("BACKGROUND") - EgoFrame.Model2:SetPoint("TOPRIGHT", EgoFrame, "TOPRIGHT", 250, -300) - EgoFrame.Model2:SetPoint("BOTTOMLEFT", EgoFrame, "BOTTOM", 250, 300) +local function LoadSVEgo() + local size = UIParent:GetWidth() + EgoFrame:SetParent(SV.UIParent) + EgoFrame:SetPoint("TOP", SV.UIParent, "TOP", 0, 0) + EgoFrame:SetWidth(size) + EgoFrame:SetHeight(size) + EgoFrame:SetUnit("player") + EgoFrame.LaunchAnimation = LaunchAnimation + EgoFrame.LaunchFreezeFrame = LaunchFreezeFrame + EgoFrame.ResetPosition = ResetPosition + SV.Animate:Slide(EgoFrame, 0, 0, true, 1.5) + EgoFrame.anim[4]:SetScript("OnFinished", EgoPop_OnUpdate) - EgoFrame.GoGoGadget = GoGoGadget + EgoFrame:Hide() +end - EgoFrame:SetScript("OnShow", function(self) - self:GoGoGadget() - end) +_G.SlashCmdList["BADASS"] = function() + EgoFrame:LaunchAnimation(4) end +_G.SLASH_BADASS1 = "/badass" SV:NewScript(LoadSVEgo) \ No newline at end of file diff --git a/Interface/AddOns/SVUI/scripts/questwatch.lua b/Interface/AddOns/SVUI/scripts/questwatch.lua index e7884af..4932ff6 100644 --- a/Interface/AddOns/SVUI/scripts/questwatch.lua +++ b/Interface/AddOns/SVUI/scripts/questwatch.lua @@ -53,299 +53,59 @@ GET ADDON DATA ]]-- local SV = select(2, ...) local L = SV.L -local QuestDocklet = CreateFrame("Frame", "SVQuestFrameEventListener", UIParent) --[[ ########################################################## LOCAL VARS ########################################################## ]]-- -local WatchFrame = _G["WatchFrame"]; -local SuperDockWindowRight; -local currentQuestItems = {}; -local QuestDockletFrame, QuestDockletFrameTitle, QuestDockletFrameList, QuestDockletFrameSlider; +local SuperDockWindowRight, QuestFrame; local ICON_FILE = [[Interface\AddOns\SVUI\assets\artwork\Icons\DOCK-QUESTS]] -local WATCHFRAME_MAXLINEWIDTH = _G.WATCHFRAME_MAXLINEWIDTH; -local WATCHFRAME_EXPANDEDWIDTH = _G.WATCHFRAME_EXPANDEDWIDTH; -local WATCHFRAME_FILTER_TYPE = _G.WATCHFRAME_FILTER_TYPE; -local WATCHFRAME_FILTER_COMPLETED_QUESTS = _G.WATCHFRAME_FILTER_COMPLETED_QUESTS; -local WATCHFRAME_FILTER_ACHIEVEMENTS = _G.WATCHFRAME_FILTER_ACHIEVEMENTS; -local WATCHFRAME_FILTER_REMOTE_ZONES = _G.WATCHFRAME_FILTER_REMOTE_ZONES; -local OBJECTIVES_TRACKER_LABEL = _G.OBJECTIVES_TRACKER_LABEL; -local WATCHFRAME_NUM_ITEMS = _G.WATCHFRAME_NUM_ITEMS; +local OBJECTIVE_TRACKER_LINE_WIDTH = _G.OBJECTIVE_TRACKER_LINE_WIDTH; --[[ ########################################################## PRE VARS/FUNCTIONS ########################################################## ]]-- -local IsTrackingCompletedQuests = function() - return band(WATCHFRAME_FILTER_TYPE, WATCHFRAME_FILTER_COMPLETED_QUESTS) == WATCHFRAME_FILTER_COMPLETED_QUESTS or false; -end -local IsTrackingRemoteQuests = function() - return ( band(WATCHFRAME_FILTER_TYPE, WATCHFRAME_FILTER_REMOTE_ZONES) == WATCHFRAME_FILTER_REMOTE_ZONES ) or false; -end -local IsTrackingAchievements = function() - return ( band(WATCHFRAME_FILTER_TYPE, WATCHFRAME_FILTER_ACHIEVEMENTS) == WATCHFRAME_FILTER_ACHIEVEMENTS ) or false; -end -local IsUsingFilters = function() - if ( WATCHFRAME_FILTER_COMPLETED_QUESTS == nil ) then return false; end - return true; -end ---[[ -QUEST ITEM MACRO - -/target [@mouseover] -/click WatchFrameItem1 -/click WatchFrameItem2 -/click WatchFrameItem3 -/click WatchFrameItem4 -/click WatchFrameItem5 -/click WatchFrameItem6 -]]-- - --- poiWatchFrameLines1_1 --- poiWatchFrameLines2_1 --- poiWatchFrameLines3_1 --- poiButton:SetPoint("TOPRIGHT", questTitle, "TOPLEFT", 0, 5) - -local function QWQuestItems() - for i=1, WATCHFRAME_NUM_ITEMS do - local button = _G["WatchFrameItem"..i] - if button then - local point, relativeTo, relativePoint, xOffset, yOffset = button:GetPoint(1) - button:SetFrameStrata("LOW") - button:SetPoint("TOPRIGHT", relativeTo, "TOPLEFT", -31, -2); - if not button.styled then - button:SetSlotTemplate() - button:SetBackdropColor(0,0,0,0) - _G["WatchFrameItem"..i.."NormalTexture"]:SetAlpha(0) - _G["WatchFrameItem"..i.."IconTexture"]:FillInner() - _G["WatchFrameItem"..i.."IconTexture"]:SetTexCoord(0.1,0.9,0.1,0.9) - SV.Timers:AddCooldown(_G["WatchFrameItem"..i.."Cooldown"]) - button.styled = true - end - end - end -end - -local function QWCheckTimers() - local lstTimers = GetQuestTimers(); - local numTimers = 0; - local filterOK = false; - if ( lstTimers ) then - filterOK = true; - numTimers = 1; - else - numTimers = 0; - end - return filterOK,numTimers; -end - -local function QWCheckQuests() - local numQuestWatches = GetNumQuestWatches(); - local playerMoney = GetMoney(); - local numQuests = QuestMapUpdateAllQuests(); - local currentMapZone = GetCurrentMapZone(); - local questIndex = 0; - local numCurrentMapQuests = 0; - local numLocalQuests = 0; - local numToShow = 0; - local filterOK = false; - local usingFilters = IsUsingFilters(); - if ( not usingFilters ) then - filterOK = true; - return filterOK, numQuestWatches or 0; - elseif ( numQuestWatches == 0 ) then - return filterOK, numQuestWatches or 0; - end - local trackingCompleted = IsTrackingCompletedQuests(); - local trackingRemote = IsTrackingRemoteQuests(); - local localQuests = {}; - local currentMapQuests = {}; - twipe(currentQuestItems); - localQuests["zone"] = currentMapZone; - for i = 1, numQuests do - local questId = QuestPOIGetQuestIDByVisibleIndex(i); - currentMapQuests[questId] = i; - numCurrentMapQuests = numCurrentMapQuests + 1; - end - for id in pairs(currentMapQuests) do - localQuests[id] = true; - numLocalQuests = numLocalQuests + 1; - end - for i = 1, numQuestWatches do - questIndex = GetQuestIndexForWatch(i); - if ( questIndex ) then - local questTitle, level, questTag, suggestedGroup, isHeader, isCollapsed, isComplete, isDaily, questID = GetQuestLogTitle(questIndex); - local requiredMoney = GetQuestLogRequiredMoney(questIndex); - local numObjectives = GetNumQuestLeaderBoards(questIndex); - local itemLink,itemIcon,itemCharges = GetQuestLogSpecialItemInfo(questIndex); - if ( isComplete and isComplete < 0 ) then - isComplete = false; - elseif ( numObjectives == 0 and playerMoney >= requiredMoney ) then - isComplete = true; - end - if ( itemLink ) then - local _,itemID,_,_,_,_,_,_,_,_,_,_ = split(":", itemLink) - local itemName = GetItemInfo(itemLink) - currentQuestItems[itemName] = { ['id'] = itemID, ['icon'] = itemIcon, ['charge'] = itemCharges, ['macro'] = "/use item:"..itemID }; - end - local isLocal = localQuests[questID]; - filterOK = true; - if ( isComplete and not trackingCompleted ) then - filterOK = false; - elseif ( not isLocal and not trackingRemote ) then - filterOK = false; - end - if ( filterOK ) then - numToShow = numToShow + 1; - end - end - end - filterOK = false; - if ( numToShow > 0 ) then - filterOK = true; - end - return filterOK, numQuestWatches or 0; -end - -local function QWSetAllLevels() - local i = 1 - local scrollOffset = HybridScrollFrame_GetOffset(QuestLogScrollFrame) - for i,button in pairs(QuestLogScrollFrame.buttons) do - local questIndex = i + scrollOffset - local questTitle, level, questTag, suggestedGroup, isHeader, isCollapsed, isComplete, isDaily, questID = GetQuestLogTitle(questIndex) - if ( not isHeader ) and questTitle then - local newTitle = string.format("[%d] %s", level or "?", questTitle) - button:SetText(newTitle) - QuestLogTitleButton_Resize(button) - end - i = i + 1 - end -end - -local function QWCheckAchievements() - local numAchievementWatches = GetNumTrackedAchievements(); - local lstAchievementWatches = GetTrackedAchievements(); - local filterOK = false; - local usingFilters = IsUsingFilters(); - if ( not usingFilters ) then - filterOK = true; - return filterOK, numAchievementWatches or 0; - end - local trackingAchievements = IsTrackingAchievements(); - filterOK = false; - if ( numAchievementWatches > 0 and trackingAchievements ) then - filterOK = true; - end - return filterOK, numAchievementWatches or 0; -end - -local function QWSetWatchFrameTitle() - local _, numQuests, numAchievements, numTimers - _, numQuests = QWCheckQuests() - _, numAchievements = QWCheckAchievements() - _, numTimers = QWCheckTimers() - local numTracked = numQuests + numAchievements + numTimers; - if WatchFrameTitle then - WatchFrameTitle:SetText(OBJECTIVES_TRACKER_LABEL.." ("..numTracked ..")") - end -end - -local function QWCheckAutoShow(self) - if not self then return end - if self:IsShown() then - if WatchFrameHeader then - WatchFrameHeader:Show() - end - WatchFrameTitle:Show() - WatchFrameCollapseExpandButton:Show() - WatchFrameLines:Show() - end -end - -local function SetQuestDockEvents() - WatchFrame:HookScript("OnEvent", QWQuestItems) - WatchFrame.ScrollListUpdate = function(self) - local WatchFrame = _G.WatchFrame - QWSetWatchFrameTitle(); - WATCHFRAME_MAXLINEWIDTH = WatchFrame:GetWidth(); - if QuestDockletFrameList then - WATCHFRAME_MAXLINEWIDTH = QuestDockletFrameList:GetWidth() - 62 - end - end - WatchFrame.OnUpdate = function(self) - local WatchFrame = _G.WatchFrame - WATCHFRAME_MAXLINEWIDTH = WatchFrame:GetWidth() - if QuestDockletFrameList then - WATCHFRAME_MAXLINEWIDTH = QuestDockletFrameList:GetWidth() - 62 - end - QWQuestItems(); - --QWSetAllLevels() - WatchFrame.ScrollListUpdate() - end - -- WatchFrame.OnShow = function(self) - -- local WatchFrame = _G.WatchFrame - -- Collapsed = (WatchFrame.collapsed or false); - -- if WatchFrameHeader == nil then - -- WatchFrame.userCollapsed = true - -- end - -- UserCollapsed = (WatchFrame.userCollapsed or false); - -- if Collapsed then - -- WatchFrame_Collapse(WatchFrame) - -- WatchFrame.userCollapsed=UserCollapsed - -- else - -- WatchFrame_Expand(WatchFrame) - -- end - -- WatchFrame.OnUpdate(); - -- end - -- WatchFrame.OnShow() - - hooksecurefunc("QuestLog_Update", WatchFrame.OnUpdate) -end + --[[ ########################################################## CORE FUNCTIONS ########################################################## ]]-- -local QuestDocklet_OnEvent = function(self, event, arg) - if event == "CVAR_UPDATE" then - if arg == "WATCH_FRAME_WIDTH_TEXT" then - if WatchFrame then - WatchFrame.OnUpdate() - end - end - elseif event == "QUEST_AUTOCOMPLETE" then +local QuestFrame_OnEvent = function(self, event) + if(event == "QUEST_AUTOCOMPLETE" and SuperDockWindowRight and QuestFrame) then if SuperDockWindowRight.FrameName and _G[SuperDockWindowRight.FrameName] and _G[SuperDockWindowRight.FrameName]:IsShown() then return end - local button = _G["QuestDockletFrame_ToolBarButton"] - if not QuestDockletFrame:IsShown() then - SuperDockWindowRight.FrameName = "QuestDockletFrame" + if not QuestFrame:IsShown() then + SuperDockWindowRight.FrameName = "SVUI_QuestFrame" if not SuperDockWindowRight:IsShown()then SuperDockWindowRight:Show() end SV:CycleDocklets() - QuestDockletFrame:Show() - if button then - button.IsOpen = true; - button:SaveColors("green", "green") + QuestFrame:Show() + if(QuestFrame.ToolbarButton) then + QuestFrame.ToolbarButton.IsOpen = true; + QuestFrame.ToolbarButton:SaveColors("green", "green") end end end end -local function CreateQuestDocklet() - SuperDockWindowRight = _G["SuperDockWindowRight"] - if(SV.GameVersion >= 60000) then +local function CreateQuestFrame() + SuperDockWindowRight = _G.SuperDockWindowRight + local ObjectiveTrackerFrame = _G.ObjectiveTrackerFrame + if(not SV.db.general.questWatch) then ObjectiveTrackerFrame:RemoveTextures(true) - local frame = CreateFrame("Frame", "SVUI_QuestFrame", UIParent); - frame:SetSize(200, ObjectiveTrackerFrame:GetHeight()); - frame:SetPoint("TOPRIGHT", UIParent, "RIGHT", -200, 100); + QuestFrame = CreateFrame("Frame", "SVUI_QuestFrame", UIParent); + QuestFrame:SetSize(200, ObjectiveTrackerFrame:GetHeight()); + QuestFrame:SetPoint("TOPRIGHT", UIParent, "RIGHT", -200, 100); + ObjectiveTrackerFrame:ClearAllPoints() ObjectiveTrackerFrame:SetClampedToScreen(false) - ObjectiveTrackerFrame:SetParent(SVUI_QuestFrame) - ObjectiveTrackerFrame:SetAllPoints(SVUI_QuestFrame) - ObjectiveTrackerFrame:SetFrameLevel(SVUI_QuestFrame:GetFrameLevel() + 1) + ObjectiveTrackerFrame:SetParent(QuestFrame) + ObjectiveTrackerFrame:SetAllPoints(QuestFrame) + ObjectiveTrackerFrame:SetFrameLevel(QuestFrame:GetFrameLevel() + 1) ObjectiveTrackerFrame.ClearAllPoints = SV.fubar; ObjectiveTrackerFrame.SetPoint = SV.fubar; ObjectiveTrackerFrame.SetAllPoints = SV.fubar; @@ -357,51 +117,35 @@ local function CreateQuestDocklet() ObjectiveTrackerFrame.HeaderMenu:RemoveTextures(true) ObjectiveTrackerFrame.BlockDropDown:RemoveTextures(true) - SV.Mentalo:Add(frame, "Quest Watch"); - elseif(not SV.db.general.questWatch) then - local frame = CreateFrame("Frame", "SVUI_QuestFrame", UIParent); - frame:SetSize(200, WatchFrame:GetHeight()); - frame:SetPoint("RIGHT", UIParent, "RIGHT", -100, 0); - WatchFrame:ClearAllPoints() - WatchFrame:SetClampedToScreen(false) - WatchFrame:SetParent(SVUI_QuestFrame) - WatchFrame:SetAllPoints(SVUI_QuestFrame) - WatchFrame:SetFrameLevel(SVUI_QuestFrame:GetFrameLevel() + 1) - WatchFrame.ClearAllPoints = SV.fubar; - WatchFrame.SetPoint = SV.fubar; - WatchFrame.SetAllPoints = SV.fubar; - WatchFrameLines.ClearAllPoints = SV.fubar; - WatchFrameLines.SetPoint = SV.fubar; - WatchFrameLines.SetAllPoints = SV.fubar; - - SV.Mentalo:Add(frame, "Quest Watch"); + SV.Mentalo:Add(QuestFrame, "Quest Watch"); else local bgTex = [[Interface\BUTTONS\WHITE8X8]] local bdTex = SV.Media.bar.glow - QuestDockletFrame = CreateFrame("Frame", "QuestDockletFrame", SuperDockWindowRight); - QuestDockletFrame:SetFrameStrata("BACKGROUND"); - SV:RegisterDocklet("QuestDockletFrame", "Quest Watch", ICON_FILE, false, true) - - QuestDockletFrameList = CreateFrame("ScrollFrame", nil, QuestDockletFrame); - QuestDockletFrameList:SetPoint("TOPLEFT", QuestDockletFrame, -62, 0); - QuestDockletFrameList:SetPoint("BOTTOMRIGHT", QuestDockletFrame, -31, 21); - QuestDockletFrameList:EnableMouseWheel(true); - QuestDockletFrameSlider = CreateFrame("Slider", nil, QuestDockletFrameList); - QuestDockletFrameSlider:SetHeight(QuestDockletFrameList:GetHeight()); - QuestDockletFrameSlider:SetWidth(18); - QuestDockletFrameSlider:SetPoint("TOPRIGHT", QuestDockletFrame, "TOPRIGHT", -3, 0); - QuestDockletFrameSlider:SetBackdrop({bgFile = bgTex, edgeFile = bdTex, edgeSize = 4, insets = {left = 3, right = 3, top = 3, bottom = 3}}); - QuestDockletFrameSlider:SetFrameLevel(6) - QuestDockletFrameSlider:SetFixedPanelTemplate("Transparent", true); - QuestDockletFrameSlider:SetThumbTexture("Interface\\Buttons\\UI-ScrollBar-Knob"); - QuestDockletFrameSlider:SetOrientation("VERTICAL"); - QuestDockletFrameSlider:SetValueStep(5); - QuestDockletFrameSlider:SetMinMaxValues(1, 420); - QuestDockletFrameSlider:SetValue(1); - - QuestDockletFrameList.slider = QuestDockletFrameSlider; - QuestDockletFrameList:SetScript("OnMouseWheel", function(self, delta) + QuestFrame = CreateFrame("Frame", "SVUI_QuestFrame", SuperDockWindowRight); + QuestFrame:SetFrameStrata("BACKGROUND"); + SV:RegisterDocklet("SVUI_QuestFrame", "Quest Watch", ICON_FILE, false, true) + + local listFrame = CreateFrame("ScrollFrame", nil, QuestFrame); + listFrame:SetPoint("TOPLEFT", QuestFrame, -62, 0); + listFrame:SetPoint("BOTTOMRIGHT", QuestFrame, -31, 21); + listFrame:EnableMouseWheel(true); + + local scrollFrame = CreateFrame("Slider", nil, listFrame); + scrollFrame:SetHeight(listFrame:GetHeight()); + scrollFrame:SetWidth(18); + scrollFrame:SetPoint("TOPRIGHT", QuestFrame, "TOPRIGHT", -3, 0); + scrollFrame:SetBackdrop({bgFile = bgTex, edgeFile = bdTex, edgeSize = 4, insets = {left = 3, right = 3, top = 3, bottom = 3}}); + scrollFrame:SetFrameLevel(6) + scrollFrame:SetFixedPanelTemplate("Transparent", true); + scrollFrame:SetThumbTexture("Interface\\Buttons\\UI-ScrollBar-Knob"); + scrollFrame:SetOrientation("VERTICAL"); + scrollFrame:SetValueStep(5); + scrollFrame:SetMinMaxValues(1, 420); + scrollFrame:SetValue(1); + + listFrame.slider = scrollFrame; + listFrame:SetScript("OnMouseWheel", function(self, delta) local scroll = self:GetVerticalScroll(); local value = (scroll - (20 * delta)); if value < -1 then @@ -413,70 +157,39 @@ local function CreateQuestDocklet() self:SetVerticalScroll(value) self.slider:SetValue(value) end) - - local QuestDockletFrameTitle = CreateFrame("Frame", nil, QuestDockletFrame); - QuestDockletFrameTitle:Point("TOPLEFT", QuestDockletFrameList, "BOTTOMLEFT", 0, 0); - QuestDockletFrameTitle:Point("TOPRIGHT", QuestDockletFrameList, "BOTTOMRIGHT", 0, 0); - QuestDockletFrameTitle:SetHeight(18) - WatchFrame:ClearAllPoints() - WatchFrame:SetClampedToScreen(false) - WatchFrame:SetParent(QuestDockletFrameList) - WatchFrame:SetHeight(500) - WatchFrame:SetPoint("TOPRIGHT", QuestDockletFrameList, "TOPRIGHT", -31, 0) - WatchFrame:SetFrameLevel(QuestDockletFrameList:GetFrameLevel() + 1) - if QuestDockletFrameList then - WATCHFRAME_MAXLINEWIDTH = (QuestDockletFrameList:GetWidth() - 100); - WATCHFRAME_EXPANDEDWIDTH = (QuestDockletFrameList:GetWidth() - 100); + ObjectiveTrackerFrame:ClearAllPoints() + ObjectiveTrackerFrame:SetClampedToScreen(false) + ObjectiveTrackerFrame:SetParent(listFrame) + ObjectiveTrackerFrame:SetHeight(500) + ObjectiveTrackerFrame:SetPoint("TOPRIGHT", listFrame, "TOPRIGHT", -31, 0) + ObjectiveTrackerFrame:SetFrameLevel(listFrame:GetFrameLevel() + 1) + if listFrame then + OBJECTIVE_TRACKER_LINE_WIDTH = (listFrame:GetWidth() - 100); else - WATCHFRAME_MAXLINEWIDTH = (WatchFrame:GetWidth() - 100); - WATCHFRAME_EXPANDEDWIDTH = (WatchFrame:GetWidth() - 100); + OBJECTIVE_TRACKER_LINE_WIDTH = (ObjectiveTrackerFrame:GetWidth() - 100); end - WatchFrame:SetWidth(WATCHFRAME_MAXLINEWIDTH) - - WatchFrameHeader:SetParent(QuestDockletFrame) - WatchFrameHeader:ClearAllPoints() - WatchFrameHeader:FillInner(QuestDockletFrameTitle) - WatchFrameHeader:SetFrameLevel(2) + ObjectiveTrackerFrame:SetWidth(OBJECTIVE_TRACKER_LINE_WIDTH) - WatchFrameTitle:SetParent(QuestDockletFrame) - WatchFrameTitle:ClearAllPoints() - WatchFrameTitle:FillInner(QuestDockletFrameTitle) - - WatchFrameCollapseExpandButton:SetParent(QuestDockletFrame) - WatchFrameCollapseExpandButton:ClearAllPoints() - WatchFrameCollapseExpandButton:SetPoint("TOPRIGHT", UIParent, "BOTTOMRIGHT", 0, 0) - WatchFrameCollapseExpandButton:Hide() - - QuestDockletFrameList:SetScrollChild(WatchFrame) - QuestDockletFrameSlider:SetScript("OnValueChanged", function(self, argValue) - QuestDockletFrameList:SetVerticalScroll(argValue) + listFrame:SetScrollChild(ObjectiveTrackerFrame) + scrollFrame:SetScript("OnValueChanged", function(self, argValue) + listFrame:SetVerticalScroll(argValue) end) - QuestDockletFrameSlider:ClearAllPoints() - QuestDockletFrameSlider:SetPoint("TOPRIGHT", QuestDockletFrame, "TOPRIGHT", -3, 0) + scrollFrame:ClearAllPoints() + scrollFrame:SetPoint("TOPRIGHT", QuestFrame, "TOPRIGHT", -3, 0) - WatchFrameLines:RemoveTextures(true) - WatchFrameLines:SetPoint("TOPLEFT", WatchFrame, "TOPLEFT", 87, 0) - WatchFrameLines:SetPoint("BOTTOMLEFT", WatchFrame, "BOTTOMLEFT", 87, 0) - WatchFrameLines:SetWidth(WATCHFRAME_MAXLINEWIDTH - 100) - --[[Lets murder some internals to prevent overriding]]-- - WatchFrame.ClearAllPoints = SV.fubar; - WatchFrame.SetPoint = SV.fubar; - WatchFrame.SetAllPoints = SV.fubar; - WatchFrameLines.ClearAllPoints = SV.fubar; - WatchFrameLines.SetPoint = SV.fubar; - WatchFrameLines.SetAllPoints = SV.fubar; - WatchFrameLines.SetWidth = SV.fubar; - WatchFrameCollapseExpandButton.ClearAllPoints = SV.fubar; - WatchFrameCollapseExpandButton.SetPoint = SV.fubar; - WatchFrameCollapseExpandButton.SetAllPoints = SV.fubar; - - SetQuestDockEvents() + ObjectiveTrackerFrame.BlocksFrame:RemoveTextures(true) + ObjectiveTrackerFrame.BlocksFrame:SetPoint("TOPLEFT", ObjectiveTrackerFrame, "TOPLEFT", 87, 0) + ObjectiveTrackerFrame.BlocksFrame:SetPoint("BOTTOMLEFT", ObjectiveTrackerFrame, "BOTTOMLEFT", 87, 0) + ObjectiveTrackerFrame.BlocksFrame:SetWidth(OBJECTIVE_TRACKER_LINE_WIDTH) + ObjectiveTrackerFrame.ClearAllPoints = SV.fubar; + ObjectiveTrackerFrame.SetPoint = SV.fubar; + ObjectiveTrackerFrame.SetAllPoints = SV.fubar; - QuestDocklet:RegisterEvent("CVAR_UPDATE") - QuestDocklet:RegisterEvent("QUEST_AUTOCOMPLETE") - QuestDocklet:SetScript("OnEvent", QuestDocklet_OnEvent) + local eventHandler = CreateFrame("Frame") + eventHandler:RegisterEvent("QUEST_AUTOCOMPLETE") + eventHandler:SetScript("OnEvent", QuestFrame_OnEvent) end end -SV:NewScript(CreateQuestDocklet) \ No newline at end of file +SV:NewScript(CreateQuestFrame) \ No newline at end of file diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua index 2e92a98..fbe594d 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua @@ -270,7 +270,7 @@ function PLUGIN:EndJobModes() self[currentModeKey].Disable() end currentModeKey = false; - if SVUI_ModesDockFrame:IsShown() then SVUI_ModesDockFrame_ToolBarButton:Click() end + if self.Docklet:IsShown() then self.Docklet.ToolbarButton:Click() end self:ChangeModeGear() self.ModeAlert:Hide(); SendModeMessage("Mode Disabled", CombatText_StandardScroll, 1, 0.35, 0); @@ -309,69 +309,6 @@ function PLUGIN:UpdateLogWindow() self.LogWindow:SetFont(SV.Media.font.system, SV.db[Schema].fontSize, "OUTLINE") end -function PLUGIN:MakeLogWindow() - local DOCK_WIDTH = SVUI_ModesDockFrame:GetWidth(); - local DOCK_HEIGHT = SVUI_ModesDockFrame:GetHeight(); - - ModeLogsFrame:SetFrameStrata("MEDIUM") - ModeLogsFrame:SetPoint("TOPLEFT",SVUI_ModeButton1,"TOPRIGHT",5,-5) - ModeLogsFrame:SetPoint("BOTTOMRIGHT",SVUI_ModesDockFrame,"BOTTOMRIGHT",-5,5) - ModeLogsFrame:SetParent(SVUI_ModesDockFrame) - - local title = CreateFrame("ScrollingMessageFrame", nil, ModeLogsFrame) - title:SetSpacing(4) - title:SetClampedToScreen(false) - title:SetFrameStrata("MEDIUM") - title:SetPoint("TOPLEFT",ModeLogsFrame,"TOPLEFT",0,0) - title:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"TOPRIGHT",0,-20) - title:SetFontTemplate(UNIT_NAME_FONT, 16, "OUTLINE", "CENTER", "MIDDLE") - title:SetMaxLines(1) - title:EnableMouseWheel(false) - title:SetFading(false) - title:SetInsertMode('TOP') - - title.divider = title:CreateTexture(nil,"OVERLAY") - title.divider:SetTexture(0,0,0,0.5) - title.divider:SetPoint("BOTTOMLEFT") - title.divider:SetPoint("BOTTOMRIGHT") - title.divider:SetHeight(1) - - local topleftline = title:CreateTexture(nil,"OVERLAY") - topleftline:SetTexture(0,0,0,0.5) - topleftline:SetPoint("TOPLEFT") - topleftline:SetPoint("BOTTOMLEFT") - topleftline:SetWidth(1) - - local log = CreateFrame("ScrollingMessageFrame", nil, ModeLogsFrame) - log:SetSpacing(4) - log:SetClampedToScreen(false) - log:SetFrameStrata("MEDIUM") - log:SetPoint("TOPLEFT",title,"BOTTOMLEFT",0,0) - log:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"BOTTOMRIGHT",0,0) - log:SetFontTemplate(nil, SV.db[Schema].fontSize, "OUTLINE") - log:SetJustifyH("CENTER") - log:SetJustifyV("MIDDLE") - log:SetShadowColor(0, 0, 0, 0) - log:SetMaxLines(120) - log:EnableMouseWheel(true) - log:SetScript("OnMouseWheel", onMouseWheel) - log:SetFading(false) - log:SetInsertMode('TOP') - - local bottomleftline = log:CreateTexture(nil,"OVERLAY") - bottomleftline:SetTexture(0,0,0,0.5) - bottomleftline:SetPoint("TOPLEFT") - bottomleftline:SetPoint("BOTTOMLEFT") - bottomleftline:SetWidth(1) - - self.TitleWindow = title - self.LogWindow = log - - self.ListenerEnabled = false; - SV:RegisterDocklet("SVUI_ModesDockFrame", self.TitleID, ICON_FILE, false) - self:CraftingReset() -end - function PLUGIN:SKILL_LINES_CHANGED() if(currentModeKey and self[currentModeKey] and self[currentModeKey].Update) then self[currentModeKey].Update() @@ -459,11 +396,13 @@ function PLUGIN:Load() local ALERT_HEIGHT = 60; local DOCK_WIDTH = SuperDockWindowRight:GetWidth(); local DOCK_HEIGHT = SuperDockWindowRight:GetHeight(); + local DOCKLET_WIDTH = DOCK_WIDTH - 4 + local DOCKLET_HEIGHT = DOCK_HEIGHT - 4 local BUTTON_SIZE = (DOCK_HEIGHT * 0.25) - 4; local modesDocklet = CreateFrame("Frame", "SVUI_ModesDockFrame", SuperDockWindowRight) - modesDocklet:SetWidth(DOCK_WIDTH - 4); - modesDocklet:SetHeight(DOCK_HEIGHT - 4); + modesDocklet:SetWidth(DOCKLET_WIDTH); + modesDocklet:SetHeight(DOCKLET_HEIGHT); modesDocklet:SetPoint("CENTER",SuperDockWindowRight,"CENTER",0,0); local modesToolBar = CreateFrame("Frame", "SVUI_ModesDockToolBar", modesDocklet) @@ -552,12 +491,69 @@ function PLUGIN:Load() ModeAlert:SetScript('OnMouseDown', ModeAlert_OnMouseDown) ModeAlert:Hide() - self.ModeAlert = ModeAlert + ModeLogsFrame:SetFrameStrata("MEDIUM") + ModeLogsFrame:SetPoint("TOPLEFT", mode1Button, "TOPRIGHT", 5, -5) + ModeLogsFrame:SetPoint("BOTTOMRIGHT", modesDocklet, "BOTTOMRIGHT", -5, 5) + ModeLogsFrame:SetParent(modesDocklet) - self:MakeLogWindow() + local title = CreateFrame("ScrollingMessageFrame", nil, ModeLogsFrame) + title:SetSpacing(4) + title:SetClampedToScreen(false) + title:SetFrameStrata("MEDIUM") + title:SetPoint("TOPLEFT",ModeLogsFrame,"TOPLEFT",0,0) + title:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"TOPRIGHT",0,-20) + title:SetFontTemplate(UNIT_NAME_FONT, 16, "OUTLINE", "CENTER", "MIDDLE") + title:SetMaxLines(1) + title:EnableMouseWheel(false) + title:SetFading(false) + title:SetInsertMode('TOP') - modesDocklet:Hide() - + title.divider = title:CreateTexture(nil,"OVERLAY") + title.divider:SetTexture(0,0,0,0.5) + title.divider:SetPoint("BOTTOMLEFT") + title.divider:SetPoint("BOTTOMRIGHT") + title.divider:SetHeight(1) + + local topleftline = title:CreateTexture(nil,"OVERLAY") + topleftline:SetTexture(0,0,0,0.5) + topleftline:SetPoint("TOPLEFT") + topleftline:SetPoint("BOTTOMLEFT") + topleftline:SetWidth(1) + + local log = CreateFrame("ScrollingMessageFrame", nil, ModeLogsFrame) + log:SetSpacing(4) + log:SetClampedToScreen(false) + log:SetFrameStrata("MEDIUM") + log:SetPoint("TOPLEFT",title,"BOTTOMLEFT",0,0) + log:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"BOTTOMRIGHT",0,0) + log:SetFontTemplate(nil, SV.db[Schema].fontSize, "OUTLINE") + log:SetJustifyH("CENTER") + log:SetJustifyV("MIDDLE") + log:SetShadowColor(0, 0, 0, 0) + log:SetMaxLines(120) + log:EnableMouseWheel(true) + log:SetScript("OnMouseWheel", onMouseWheel) + log:SetFading(false) + log:SetInsertMode('TOP') + + local bottomleftline = log:CreateTexture(nil,"OVERLAY") + bottomleftline:SetTexture(0,0,0,0.5) + bottomleftline:SetPoint("TOPLEFT") + bottomleftline:SetPoint("BOTTOMLEFT") + bottomleftline:SetWidth(1) + + self.ModeAlert = ModeAlert + self.TitleWindow = title + self.LogWindow = log + self.Docklet = modesDocklet + + SV:RegisterDocklet("SVUI_ModesDockFrame", self.TitleID, ICON_FILE, false) + + self.Docklet:Hide() + + self.ListenerEnabled = false; + + self:CraftingReset() self:LoadCookingMode() self:LoadFishingMode() self:LoadArchaeologyMode() diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua b/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua index 02e3b07..6030eff 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua @@ -54,7 +54,7 @@ local CanSolveArtifact = CanSolveArtifact local GetContainerNumSlots = GetContainerNumSlots local GetContainerItemInfo = GetContainerItemInfo local GetContainerItemID = GetContainerItemID -local DockButton, ModeLogsFrame; +local ModeLogsFrame; local COUNT_TEX = [[Interface\AddOns\SVUI\assets\artwork\icons\COUNT-]] @@ -359,7 +359,7 @@ CORE FUNCTIONS ]]-- function PLUGIN.Archaeology:Enable() PLUGIN.Archaeology:Update() - if(not SVUI_ModesDockFrame:IsShown()) then DockButton:Click() end + if(not PLUGIN.Docklet:IsShown()) then PLUGIN.Docklet.ToolbarButton:Click() end PlaySoundFile("Sound\\Item\\UseSounds\\UseCrinklingPaper.wav") PLUGIN.ModeAlert:SetBackdropColor(0.25, 0.52, 0.1) @@ -426,10 +426,9 @@ LOADER ########################################################## ]]-- function PLUGIN:LoadArchaeologyMode() - ModeLogsFrame = PLUGIN.LogWindow; - DockButton = _G["SVUI_ModesDockFrame_ToolBarButton"]; + ModeLogsFrame = self.LogWindow; - local progressBars = PLUGIN.Archaeology.Bars + local progressBars = self.Archaeology.Bars ArchCrafting:SetParent(ModeLogsFrame) ArchCrafting:SetFrameStrata("MEDIUM") @@ -524,6 +523,6 @@ function PLUGIN:LoadArchaeologyMode() } end ArchCrafting:Hide() - PLUGIN.Archaeology:Update() + self.Archaeology:Update() UpdateArtifactCache() end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua b/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua index 29b42ae..99c5696 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua @@ -42,8 +42,7 @@ local Schema = PLUGIN.Schema; LOCAL VARS ########################################################## ]]-- -local cookingSpell, campFire, skillRank, skillModifier; -local DockButton; +local cookingSpell, campFire, skillRank, skillModifier, DockButton; --[[ ########################################################## LOCAL FUNCTIONS @@ -172,7 +171,7 @@ CORE METHODS ]]-- function PLUGIN.Cooking:Enable() PLUGIN.Cooking:Update() - if(not SVUI_ModesDockFrame:IsShown()) then DockButton:Click() end + if(not PLUGIN.Docklet:IsShown()) then PLUGIN.Docklet.ToolbarButton:Click() end if(SV.db[Schema].cooking.autoequip) then UpdateChefWear(); end @@ -228,5 +227,5 @@ LOADER ########################################################## ]]-- function PLUGIN:LoadCookingMode() - DockButton = _G["SVUI_ModesDockFrame_ToolBarButton"]; + self.Cooking:Update() end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua b/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua index 7d37633..a2efd8b 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua @@ -396,7 +396,7 @@ function PLUGIN.Farming:Enable() PLUGIN.Farming.ToolsLoaded = true EnableListener() if not FarmModeFrame:IsShown() then FarmModeFrame:Show() end - if(not SVUI_ModesDockFrame:IsShown()) then DockButton:Click() end + if(not PLUGIN.Docklet:IsShown()) then DockButton:Click() end end end end @@ -527,8 +527,8 @@ function PLUGIN:PrepareFarmingTools() local horizontal = SV.db[Schema].farming.toolbardirection == "HORIZONTAL" local BUTTONSPACE = SV.db[Schema].farming.buttonspacing or 2; - ModeLogsFrame = PLUGIN.LogWindow; - DockButton = _G["SVUI_ModesDockFrame_ToolBarButton"] + ModeLogsFrame = self.LogWindow; + DockButton = self.Docklet.ToolbarButton if not SV.db[Schema].farming.undocked then local bgTex = [[Interface\BUTTONS\WHITE8X8]] diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua b/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua index d802e80..00caa78 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua @@ -106,7 +106,6 @@ local refPoles = { { ["id"] = 84660, ["weight"] = 10 }, --Pandaren { ["id"] = 6256, ["weight"] = 1 } --Standard } -local DockButton; --[[ ########################################################## LOCAL FUNCTIONS @@ -334,7 +333,7 @@ CORE METHODS ]]-- function PLUGIN.Fishing:Enable() PLUGIN:UpdateFishingMode() - if(not SVUI_ModesDockFrame:IsShown()) then DockButton:Click() end + if(not PLUGIN.Docklet:IsShown()) then PLUGIN.Docklet.ToolbarButton:Click() end UpdateFishingGear(SV.db[Schema].fishing.autoequip); PlaySoundFile("Sound\\Spells\\Tradeskills\\FishCast.wav") PLUGIN.ModeAlert:SetBackdropColor(0.25, 0.52, 0.1) @@ -397,6 +396,5 @@ function PLUGIN:UpdateFishingMode() end function PLUGIN:LoadFishingMode() - DockButton = _G["SVUI_ModesDockFrame_ToolBarButton"] - PLUGIN:UpdateFishingMode() + self:UpdateFishingMode() end \ No newline at end of file diff --git a/Interface/BUTTONS/ActionBarFlyoutButton-FlyoutMid.blp b/Interface/BUTTONS/ActionBarFlyoutButton-FlyoutMid.blp new file mode 100644 index 0000000..885b44b Binary files /dev/null and b/Interface/BUTTONS/ActionBarFlyoutButton-FlyoutMid.blp differ diff --git a/Interface/BUTTONS/ActionBarFlyoutButton-FlyoutMidLeft.blp b/Interface/BUTTONS/ActionBarFlyoutButton-FlyoutMidLeft.blp new file mode 100644 index 0000000..aac32a0 Binary files /dev/null and b/Interface/BUTTONS/ActionBarFlyoutButton-FlyoutMidLeft.blp differ diff --git a/Interface/BUTTONS/ActionBarFlyoutButton.blp b/Interface/BUTTONS/ActionBarFlyoutButton.blp new file mode 100644 index 0000000..b0b57c0 Binary files /dev/null and b/Interface/BUTTONS/ActionBarFlyoutButton.blp differ diff --git a/Interface/BUTTONS/Thumbs.db b/Interface/BUTTONS/Thumbs.db new file mode 100644 index 0000000..9a524d6 Binary files /dev/null and b/Interface/BUTTONS/Thumbs.db differ diff --git a/Interface/BUTTONS/UI-Button-Borders.blp b/Interface/BUTTONS/UI-Button-Borders.blp new file mode 100644 index 0000000..68269c7 Binary files /dev/null and b/Interface/BUTTONS/UI-Button-Borders.blp differ diff --git a/Interface/BUTTONS/UI-Button-Borders2.blp b/Interface/BUTTONS/UI-Button-Borders2.blp new file mode 100644 index 0000000..f7f683d Binary files /dev/null and b/Interface/BUTTONS/UI-Button-Borders2.blp differ diff --git a/Interface/BUTTONS/UI-CheckBox-Check-Disabled.blp b/Interface/BUTTONS/UI-CheckBox-Check-Disabled.blp new file mode 100644 index 0000000..6723c5e Binary files /dev/null and b/Interface/BUTTONS/UI-CheckBox-Check-Disabled.blp differ diff --git a/Interface/BUTTONS/UI-CheckBox-Check.blp b/Interface/BUTTONS/UI-CheckBox-Check.blp new file mode 100644 index 0000000..c4a6afc Binary files /dev/null and b/Interface/BUTTONS/UI-CheckBox-Check.blp differ diff --git a/Interface/BUTTONS/UI-CheckBox-Down.blp b/Interface/BUTTONS/UI-CheckBox-Down.blp new file mode 100644 index 0000000..b677c01 Binary files /dev/null and b/Interface/BUTTONS/UI-CheckBox-Down.blp differ diff --git a/Interface/BUTTONS/UI-CheckBox-Up.blp b/Interface/BUTTONS/UI-CheckBox-Up.blp new file mode 100644 index 0000000..b677c01 Binary files /dev/null and b/Interface/BUTTONS/UI-CheckBox-Up.blp differ diff --git a/Interface/BUTTONS/UI-Debuff-Overlays.blp b/Interface/BUTTONS/UI-Debuff-Overlays.blp new file mode 100644 index 0000000..6b057b4 Binary files /dev/null and b/Interface/BUTTONS/UI-Debuff-Overlays.blp differ diff --git a/Interface/BUTTONS/UI-MinusButton-Disabled.blp b/Interface/BUTTONS/UI-MinusButton-Disabled.blp new file mode 100644 index 0000000..78bede0 Binary files /dev/null and b/Interface/BUTTONS/UI-MinusButton-Disabled.blp differ diff --git a/Interface/BUTTONS/UI-MinusButton-Down.blp b/Interface/BUTTONS/UI-MinusButton-Down.blp new file mode 100644 index 0000000..0d59721 Binary files /dev/null and b/Interface/BUTTONS/UI-MinusButton-Down.blp differ diff --git a/Interface/BUTTONS/UI-MinusButton-Up.blp b/Interface/BUTTONS/UI-MinusButton-Up.blp new file mode 100644 index 0000000..ae5f9f7 Binary files /dev/null and b/Interface/BUTTONS/UI-MinusButton-Up.blp differ diff --git a/Interface/BUTTONS/UI-SliderBar-Border.blp b/Interface/BUTTONS/UI-SliderBar-Border.blp index 766ea93..a86583a 100644 Binary files a/Interface/BUTTONS/UI-SliderBar-Border.blp and b/Interface/BUTTONS/UI-SliderBar-Border.blp differ