Change all use of heroclass to use RAID_CLASS_COLORS instead. This can be changed to CUSTOM_CLASS_COLORS later with a color picker for each class, but to support CoA classes need to go back to being colored properly.

Fix remaining lua errors covered by ascension patches

Add Addon Skins
Add Enhanced Friends List
This commit is contained in:
Andrew6810
2022-10-28 07:12:13 -07:00
parent 60ef8a38af
commit df7cc26a64
205 changed files with 18480 additions and 35 deletions
@@ -0,0 +1,140 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("RCLootCouncil") then return end
-- RCLootCouncil 2.0.4
-- https://github.com/ajseward/RcLootCouncil-Wotlk
S:AddCallbackForAddon("RCLootCouncil", "RCLootCouncil", function()
if not E.private.addOnSkins.RCLootCouncil then return end
local addon = LibStub("AceAddon-3.0"):GetAddon("RCLootCouncil", true)
if not addon then return end
AS:SkinLibrary("DropDownMenu")
AS:SkinLibrary("LibDialog-1.0")
AS:SkinLibrary("ScrollingTable")
S:RawHook(addon, "CreateFrame", function(self, ...)
local frame = S.hooks[self].CreateFrame(self, ...)
frame:SetScale(UIParent:GetScale())
frame.title:SetTemplate("Default")
frame.content:SetTemplate("Transparent")
frame.title:SetFrameLevel(frame:GetFrameLevel() + 3)
return frame
end)
S:RawHook(addon, "CreateButton", function(self, ...)
local button = S.hooks[self].CreateButton(self, ...)
S:HandleButton(button)
return button
end)
local function updateTexCoord(self)
local normalTexture = self:GetNormalTexture()
normalTexture:SetTexCoord(unpack(E.TexCoords))
normalTexture:SetInside()
end
local function skinIconButton(button)
button:SetTemplate()
button:StyleButton(nil, true, true)
button:GetNormalTexture():SetDrawLayer("ARTWORK")
hooksecurefunc(button, "SetNormalTexture", updateTexCoord)
end
local votingFrame = addon:GetModule("RCVotingFrame", true)
if votingFrame then
local function moreInfoSetTexture(self, texture)
local normalTexture = self:GetNormalTexture()
local pushedTexture = self:GetPushedTexture()
local arrowDir = texture == "Interface\\Buttons\\UI-SpellbookIcon-PrevPage-Up" and "left" or "right"
normalTexture:SetRotation(S.ArrowRotation[arrowDir])
pushedTexture:SetRotation(S.ArrowRotation[arrowDir])
end
local function setBackdropBorderColor(self, r, g, b)
if r == 1 and g == 1 and b == 1 then
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
end
S:RawHook(votingFrame, "GetFrame", function(self, ...)
local frame = S.hooks[self].GetFrame(self, ...)
S:Unhook(self, "GetFrame")
skinIconButton(frame.itemIcon)
S:HandleNextPrevButton(frame.moreInfoBtn, "right")
frame.moreInfoBtn.SetNormalTexture = moreInfoSetTexture
frame.moreInfoBtn.SetPushedTexture = E.noop
E:GetModule("Tooltip"):HookScript(frame.moreInfo, "OnShow", "SetStyle")
frame.filter:HookScript("OnEnter", S.SetModifiedBackdrop)
frame.filter:HookScript("OnLeave", S.SetOriginalBackdrop)
return frame
end)
S:RawHook(votingFrame, "UpdateSessionButton", function(self, ...)
local button = S.hooks[self].UpdateSessionButton(self, ...)
if not button.isSkinned then
hooksecurefunc(button, "SetBackdropBorderColor", setBackdropBorderColor)
skinIconButton(button)
button.SetBackdrop = E.noop
button.isSkinned = true
end
return button
end)
end
local lootFrame = addon:GetModule("RCLootFrame", true)
if lootFrame then
local function updateTexCoord(self)
self.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
end
S:RawHook(lootFrame, "GetEntry", function(self, ...)
local frame = S.hooks[self].GetEntry(self, ...)
frame:SetTemplate("Transparent")
skinIconButton(frame.icon)
hooksecurefunc(frame, "Show", updateTexCoord)
return frame
end)
end
local sessionFrame = addon:GetModule("RCSessionFrame", true)
if sessionFrame then
S:RawHook(sessionFrame, "GetFrame", function(self, ...)
local frame = S.hooks[self].GetFrame(self, ...)
S:Unhook(self, "GetFrame")
S:HandleCheckBox(frame.toggle)
return frame
end)
S:SecureHook(sessionFrame, "SetCellItemIcon", function(_, frame)
frame:SetTemplate()
frame:StyleButton(nil, true, true)
local normalTexture = frame:GetNormalTexture()
normalTexture:SetDrawLayer("ARTWORK")
normalTexture:SetTexCoord(unpack(E.TexCoords))
normalTexture:SetInside()
end)
end
end)