From b9fc2ef8762bade3ca4feef901a110746a8eb528 Mon Sep 17 00:00:00 2001 From: shagu Date: Sat, 27 Apr 2019 13:37:41 +0200 Subject: [PATCH] skin: add class icons to social frames --- env/tables.lua | 14 ++++++++++++ img/classicons.tga | Bin 0 -> 72005 bytes modules/socialmod.lua | 45 ++++++++++++++++++++++++++++++++----- skins/blizzard/friends.lua | 38 ++++++++++++++++++++++--------- 4 files changed, 82 insertions(+), 15 deletions(-) create mode 100644 img/classicons.tga diff --git a/env/tables.lua b/env/tables.lua index b55f8d1d..916c681e 100644 --- a/env/tables.lua +++ b/env/tables.lua @@ -15,6 +15,20 @@ CLASS_SORT_ORDER = CLASS_SORT_ORDER or { "UNKNOWN", } +CLASS_ICON_TCOORDS = CLASS_ICON_TCOORDS or { + ["WARRIOR"] = {0, 0.25, 0, 0.25}, + ["MAGE"] = {0.25, 0.49609375, 0, 0.25}, + ["ROGUE"] = {0.49609375, 0.7421875, 0, 0.25}, + ["DRUID"] = {0.7421875, 0.98828125, 0, 0.25}, + ["HUNTER"] = {0, 0.25, 0.25, 0.5}, + ["SHAMAN"] = {0.25, 0.49609375, 0.25, 0.5}, + ["PRIEST"] = {0.49609375, 0.7421875, 0.25, 0.5}, + ["WARLOCK"] = {0.7421875, 0.98828125, 0.25, 0.5}, + ["PALADIN"] = {0, 0.25, 0.5, 0.75}, + ["DEATHKNIGHT"] = {0.25, .5, 0.5, .75}, + ["GM"] = {0.5, 0.73828125, 0.5, .75}, +} + -- barlength = {[formfactor]={cols, rows}} pfGridmath = { [1] = {{1,1}}, diff --git a/img/classicons.tga b/img/classicons.tga new file mode 100644 index 0000000000000000000000000000000000000000..dce9a02b5239bd03b4a7905c9beae997c2656d9e GIT binary patch literal 72005 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 BL-GIs literal 0 HcmV?d00001 diff --git a/modules/socialmod.lua b/modules/socialmod.lua index c99ff3ed..e8abdbe9 100644 --- a/modules/socialmod.lua +++ b/modules/socialmod.lua @@ -10,10 +10,30 @@ pfUI:RegisterModule("socialmod", function () if name then if class then local color = RAID_CLASS_COLORS[class] - if online then - _G["GuildFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,1) + local classicon = _G["GuildFrameButton"..i].classicon + local coords = CLASS_ICON_TCOORDS[class] + + -- do we have classicons? (skin enabled?) + if classicon then + _G["GuildFrameButton"..i.."Class"]:SetTextColor(0,0,0,0) + + if coords then + classicon:SetTexCoord(unpack(coords)) + else + classicon:SetTexCoord(0,1,0,1) + end + + if online then + _G["GuildFrameButton"..i.."Name"]:SetTextColor(color.r,color.g,color.b,1) + else + _G["GuildFrameButton"..i.."Name"]:SetTextColor(color.r,color.g,color.b,.5) + end else - _G["GuildFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,.5) + if online then + _G["GuildFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,1) + else + _G["GuildFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,.5) + end end end @@ -116,10 +136,25 @@ pfUI:RegisterModule("socialmod", function () end if class then + local classicon = _G["WhoFrameButton"..i].classicon + local coords = CLASS_ICON_TCOORDS[class] local color = RAID_CLASS_COLORS[class] - _G["WhoFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,1) + + -- do we have classicons? (skin enabled?) + if classicon then + _G["WhoFrameButton"..i.."Class"]:SetTextColor(0,0,0,0) + _G["WhoFrameButton"..i.."Name"]:SetTextColor(color.r,color.g,color.b,1) + + if coords then + classicon:SetTexCoord(unpack(coords)) + else + classicon:SetTexCoord(0,1,0,1) + end + else + _G["WhoFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,1) + end else - _G["WhoFrameButton"..i.."Class"]:SetTextColor(1, 1, 1) + _G["WhoFrameButton"..i.."Class"]:Hide() end local color = GetDifficultyColor(level) diff --git a/skins/blizzard/friends.lua b/skins/blizzard/friends.lua index e3b90293..15a78be9 100644 --- a/skins/blizzard/friends.lua +++ b/skins/blizzard/friends.lua @@ -117,12 +117,12 @@ pfUI:RegisterSkin("Friends", function () WhoFrameColumnHeader3:SetPoint("BOTTOMLEFT", WhoListScrollFrame, "TOPLEFT", 0, 4) StripTextures(WhoFrameColumnHeader4) - WhoFrameColumnHeader4:SetWidth(70) + WhoFrameColumnHeader4:SetWidth(32) WhoFrameColumnHeader4:ClearAllPoints() WhoFrameColumnHeader4:SetPoint("LEFT", WhoFrameColumnHeader3, "RIGHT", -2, 0) StripTextures(WhoFrameColumnHeader1) - WhoFrameColumnHeader1:SetWidth(70) + WhoFrameColumnHeader1:SetWidth(120) WhoFrameColumnHeader1:ClearAllPoints() WhoFrameColumnHeader1:SetPoint("LEFT", WhoFrameColumnHeader4, "RIGHT", -2, 0) @@ -141,12 +141,19 @@ pfUI:RegisterSkin("Friends", function () level:SetPoint("TOPLEFT", 10, -3) local class = _G["WhoFrameButton"..i.."Class"] - class:SetWidth(70) + class:SetWidth(30) class:ClearAllPoints() class:SetPoint("LEFT", level, "RIGHT", 10, 0) + local frame = _G["WhoFrameButton"..i] + frame.classicon = frame.classicon or frame:CreateTexture(nil, "OVERLAY") + frame.classicon:SetPoint("CENTER", class, "CENTER", -4, 0) + frame.classicon:SetWidth(15) + frame.classicon:SetHeight(15) + frame.classicon:SetTexture("Interface\\AddOns\\pfUI\\img\\classicons") + local name = _G["WhoFrameButton"..i.."Name"] - name:SetWidth(70) + name:SetWidth(120) name:ClearAllPoints() name:SetPoint("LEFT", class, "RIGHT", 0, 0) end @@ -180,17 +187,21 @@ pfUI:RegisterSkin("Friends", function () StripTextures(_G["GuildFrameGuildStatusColumnHeader"..i]) end + -- level GuildFrameColumnHeader3:ClearAllPoints() GuildFrameColumnHeader3:SetPoint("TOPLEFT", 20, -70) + -- class GuildFrameColumnHeader4:ClearAllPoints() - GuildFrameColumnHeader4:SetPoint("LEFT", GuildFrameColumnHeader3, "RIGHT", -2, -0) - GuildFrameColumnHeader4:SetWidth(70) + GuildFrameColumnHeader4:SetPoint("LEFT", GuildFrameColumnHeader3, "RIGHT", -12, -0) + GuildFrameColumnHeader4:SetWidth(32) + -- name GuildFrameColumnHeader1:ClearAllPoints() GuildFrameColumnHeader1:SetPoint("LEFT", GuildFrameColumnHeader4, "RIGHT", -2, -0) - GuildFrameColumnHeader1:SetWidth(64) + GuildFrameColumnHeader1:SetWidth(120) + -- zone GuildFrameColumnHeader2:ClearAllPoints() GuildFrameColumnHeader2:SetPoint("LEFT", GuildFrameColumnHeader1, "RIGHT", -2, -0) @@ -204,12 +215,19 @@ pfUI:RegisterSkin("Friends", function () level:SetPoint("TOPLEFT", 10, -3) local class = _G["GuildFrameButton"..i.."Class"] - class:SetWidth(70) + class:SetWidth(30) class:ClearAllPoints() - class:SetPoint("LEFT", level, "RIGHT", 10, 0) + class:SetPoint("LEFT", level, "RIGHT", 5, 0) + + local frame = _G["GuildFrameButton"..i] + frame.classicon = frame.classicon or frame:CreateTexture(nil, "OVERLAY") + frame.classicon:SetPoint("CENTER", class, "CENTER", -4, 0) + frame.classicon:SetWidth(15) + frame.classicon:SetHeight(15) + frame.classicon:SetTexture("Interface\\AddOns\\pfUI\\img\\classicons") local name = _G["GuildFrameButton"..i.."Name"] - name:SetWidth(70) + name:SetWidth(120) name:ClearAllPoints() name:SetPoint("LEFT", class, "RIGHT", 0, 0) end