From e50be68a987a5ace6a8f412a585bdeadbf69264f Mon Sep 17 00:00:00 2001 From: shagu Date: Wed, 11 Mar 2020 18:07:58 +0100 Subject: [PATCH] thirdparty: move dpsmate to multiclient support --- modules/thirdparty-vanilla.lua | 81 -------------------------------- modules/thirdparty.lua | 84 ++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 81 deletions(-) diff --git a/modules/thirdparty-vanilla.lua b/modules/thirdparty-vanilla.lua index 9b4b9f52..213d89cc 100644 --- a/modules/thirdparty-vanilla.lua +++ b/modules/thirdparty-vanilla.lua @@ -159,87 +159,6 @@ pfUI:RegisterModule("thirdparty-vanilla", "vanilla", function() end end) - HookAddonOrVariable("DPSMate", function() - local docktable = { "dpsmate", "DPSMate", "DPSMate_DPSMate", - function() -- single - DPSMate_DPSMate:ClearAllPoints() - DPSMate_DPSMate:SetAllPoints(pfUI.chat.right) - DPSMate_DPSMate:SetWidth(pfUI.chat.right:GetWidth()) - DPSMate_DPSMate_ScrollFrame:ClearAllPoints() - DPSMate_DPSMate_ScrollFrame:SetWidth(pfUI.chat.right:GetWidth()) - DPSMate_DPSMate_ScrollFrame:SetPoint("TOPLEFT", DPSMate_DPSMate_Head, "BOTTOMLEFT", 0, 0) - DPSMate_DPSMate_ScrollFrame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, pfUI.panel.right:GetHeight()) - DPSMate_DPSMate_ScrollFrame_Child:SetWidth(pfUI.chat.right:GetWidth()) - DPSMate_DPSMate_Resize:Hide() - end, - function() -- dual - DPSMate_DPSMate:ClearAllPoints() - DPSMate_DPSMate:SetPoint("TOPLEFT", pfUI.chat.right, "TOP", 0, 0) - DPSMate_DPSMate:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, 0) - DPSMate_DPSMate:SetWidth(pfUI.chat.right:GetWidth() / 2) - DPSMate_DPSMate_ScrollFrame:ClearAllPoints() - DPSMate_DPSMate_ScrollFrame:SetWidth(pfUI.chat.right:GetWidth() / 2) - DPSMate_DPSMate_ScrollFrame:SetPoint("TOPLEFT", DPSMate_DPSMate_Head, "BOTTOMLEFT", 0, 0) - DPSMate_DPSMate_ScrollFrame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, pfUI.panel.right:GetHeight()) - DPSMate_DPSMate_ScrollFrame_Child:SetWidth(pfUI.chat.right:GetWidth() / 2) - DPSMate_DPSMate_Resize:Hide() - end, - function() -- show - DPSMate_DPSMate:Show() - end, - function() -- hide - DPSMate_DPSMate:Hide() - end - } - - pfUI.thirdparty.meters:RegisterMeter("damage", docktable) - - if C.thirdparty.dpsmate.skin == "1" then - if DPSMateSettings then - -- set DPSMate appearance to match pfUI - for w in pairs(DPSMateSettings["windows"]) do - DPSMateSettings["windows"][w]["titlebarheight"] = 20 - DPSMateSettings["windows"][w]["titlebarfontsize"] = 12 - DPSMateSettings["windows"][w]["titlebarfont"] = "Accidental Presidency" - DPSMateSettings["windows"][w]["titlebaropacity"] = 0 - - DPSMateSettings["windows"][w]["titlebarfontcolor"][1] = 1 - DPSMateSettings["windows"][w]["titlebarfontcolor"][2] = 1 - DPSMateSettings["windows"][w]["titlebarfontcolor"][3] = 1 - - DPSMateSettings["windows"][w]["barheight"] = 11 - DPSMateSettings["windows"][w]["barfontsize"] = 13 - DPSMateSettings["windows"][w]["bartexture"] = "normTex" - DPSMateSettings["windows"][w]["barfont"] = "Accidental Presidency" - - DPSMateSettings["windows"][w]["opacity"] = 1 - DPSMateSettings["windows"][w]["contentbgtexture"] = "Solid Background" - DPSMateSettings["windows"][w]["bgopacity"] = 0 - DPSMateSettings["windows"][w]["borderopacity"] = 0 - end - - if DPSMate.UpdatePointer then - DPSMate:UpdatePointer() - end - DPSMate:InitializeFrames() - - for k, val in pairs(DPSMateSettings["windows"]) do - local frame = _G["DPSMate_"..val["name"]] - CreateBackdrop(frame, nil, nil, (C.thirdparty.chatbg == "1" and .8)) - CreateBackdropShadow(frame) - - if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then - local r, g, b, a = strsplit(",", C.chat.global.background) - frame.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a)) - - local r, g, b, a = strsplit(",", C.chat.global.border) - frame.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a)) - end - end - end - end - end) - HookAddonOrVariable("SW_Stats", function() local docktable = { "swstats", "TODO", "SW_BarFrame1", function() -- single diff --git a/modules/thirdparty.lua b/modules/thirdparty.lua index 407c49fb..c5873162 100644 --- a/modules/thirdparty.lua +++ b/modules/thirdparty.lua @@ -205,4 +205,88 @@ pfUI:RegisterModule("thirdparty", "vanilla:tbc", function() end end) end) + + -- DPSMate Damage Meter + -- Vanilla: https://github.com/Geigerkind/DPSMate + -- TBC: https://github.com/Geigerkind/DPSMateTBC + HookAddonOrVariable("DPSMate", function() + local docktable = { "dpsmate", "DPSMate", "DPSMate_DPSMate", + function() -- single + DPSMate_DPSMate:ClearAllPoints() + DPSMate_DPSMate:SetAllPoints(pfUI.chat.right) + DPSMate_DPSMate:SetWidth(pfUI.chat.right:GetWidth()) + DPSMate_DPSMate_ScrollFrame:ClearAllPoints() + DPSMate_DPSMate_ScrollFrame:SetWidth(pfUI.chat.right:GetWidth()) + DPSMate_DPSMate_ScrollFrame:SetPoint("TOPLEFT", DPSMate_DPSMate_Head, "BOTTOMLEFT", 0, 0) + DPSMate_DPSMate_ScrollFrame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, pfUI.panel.right:GetHeight()) + DPSMate_DPSMate_ScrollFrame_Child:SetWidth(pfUI.chat.right:GetWidth()) + DPSMate_DPSMate_Resize:Hide() + end, + function() -- dual + DPSMate_DPSMate:ClearAllPoints() + DPSMate_DPSMate:SetPoint("TOPLEFT", pfUI.chat.right, "TOP", 0, 0) + DPSMate_DPSMate:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, 0) + DPSMate_DPSMate:SetWidth(pfUI.chat.right:GetWidth() / 2) + DPSMate_DPSMate_ScrollFrame:ClearAllPoints() + DPSMate_DPSMate_ScrollFrame:SetWidth(pfUI.chat.right:GetWidth() / 2) + DPSMate_DPSMate_ScrollFrame:SetPoint("TOPLEFT", DPSMate_DPSMate_Head, "BOTTOMLEFT", 0, 0) + DPSMate_DPSMate_ScrollFrame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, pfUI.panel.right:GetHeight()) + DPSMate_DPSMate_ScrollFrame_Child:SetWidth(pfUI.chat.right:GetWidth() / 2) + DPSMate_DPSMate_Resize:Hide() + end, + function() -- show + DPSMate_DPSMate:Show() + end, + function() -- hide + DPSMate_DPSMate:Hide() + end + } + + pfUI.thirdparty.meters:RegisterMeter("damage", docktable) + + if C.thirdparty.dpsmate.skin == "1" then + if DPSMateSettings then + -- set DPSMate appearance to match pfUI + for w in pairs(DPSMateSettings["windows"]) do + DPSMateSettings["windows"][w]["titlebarheight"] = 20 + DPSMateSettings["windows"][w]["titlebarfontsize"] = 12 + DPSMateSettings["windows"][w]["titlebarfont"] = "Accidental Presidency" + DPSMateSettings["windows"][w]["titlebaropacity"] = 0 + + DPSMateSettings["windows"][w]["titlebarfontcolor"][1] = 1 + DPSMateSettings["windows"][w]["titlebarfontcolor"][2] = 1 + DPSMateSettings["windows"][w]["titlebarfontcolor"][3] = 1 + + DPSMateSettings["windows"][w]["barheight"] = 11 + DPSMateSettings["windows"][w]["barfontsize"] = 13 + DPSMateSettings["windows"][w]["bartexture"] = "normTex" + DPSMateSettings["windows"][w]["barfont"] = "Accidental Presidency" + + DPSMateSettings["windows"][w]["opacity"] = 1 + DPSMateSettings["windows"][w]["contentbgtexture"] = "Solid Background" + DPSMateSettings["windows"][w]["bgopacity"] = 0 + DPSMateSettings["windows"][w]["borderopacity"] = 0 + end + + if DPSMate.UpdatePointer then + DPSMate:UpdatePointer() + end + DPSMate:InitializeFrames() + + for k, val in pairs(DPSMateSettings["windows"]) do + local frame = _G["DPSMate_"..val["name"]] + CreateBackdrop(frame, nil, nil, (C.thirdparty.chatbg == "1" and .8)) + CreateBackdropShadow(frame) + + if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then + local r, g, b, a = strsplit(",", C.chat.global.background) + frame.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a)) + + local r, g, b, a = strsplit(",", C.chat.global.border) + frame.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a)) + end + end + end + end + end) end)