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 00000000..dce9a02b Binary files /dev/null and b/img/classicons.tga differ 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