mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-06 05:30:00 +00:00
Route config color strings through GetStringColor cache
Replace raw strsplit(",", ...) color parsing across action bars, chat,
nameplates, third-party skins, player, and roll with the cached
GetStringColor / GetStringColorObject helpers, dropping the per-build
string-table allocations they created.
This commit is contained in:
+11
-11
@@ -600,17 +600,17 @@ pfUI:RegisterModule("actionbar", function ()
|
||||
-- update usable [out-of-range = 1, oom = 2, not-usable = 3, default = 0]
|
||||
if self.outofrange and C.bars.glowrange == "1" then
|
||||
if self.vertexstate ~= 1 then
|
||||
self.icon:SetVertexColor(self.rangeColor[1], self.rangeColor[2], self.rangeColor[3], self.rangeColor[4])
|
||||
self.icon:SetVertexColor(self.rangeColor:GetRGBA())
|
||||
self.vertexstate = 1
|
||||
end
|
||||
elseif oom and C.bars.showoom == "1" then
|
||||
if self.vertexstate ~= 2 then
|
||||
self.icon:SetVertexColor(self.oomColor[1], self.oomColor[2], self.oomColor[3], self.oomColor[4])
|
||||
self.icon:SetVertexColor(self.oomColor:GetRGBA())
|
||||
self.vertexstate = 2
|
||||
end
|
||||
elseif not usable and C.bars.showna == "1" then
|
||||
if self.vertexstate ~= 3 then
|
||||
self.icon:SetVertexColor(self.naColor[1], self.naColor[2], self.naColor[3], self.naColor[4])
|
||||
self.icon:SetVertexColor(self.naColor:GetRGBA())
|
||||
self.vertexstate = 3
|
||||
end
|
||||
else
|
||||
@@ -992,13 +992,13 @@ pfUI:RegisterModule("actionbar", function ()
|
||||
local font_offset = tonumber(C.bars.font_offset)
|
||||
|
||||
local macro_size = tonumber(C.bars.macro_size)
|
||||
local macro_color = { strsplit(",", C.bars.macro_color) }
|
||||
local macro_color = { GetStringColor(C.bars.macro_color) }
|
||||
|
||||
local count_size = tonumber(C.bars.count_size)
|
||||
local count_color = { strsplit(",", C.bars.count_color) }
|
||||
local count_color = { GetStringColor(C.bars.count_color) }
|
||||
|
||||
local bind_size = tonumber(C.bars.bind_size)
|
||||
local bind_color = { strsplit(",", C.bars.bind_color) }
|
||||
local bind_color = { GetStringColor(C.bars.bind_color) }
|
||||
|
||||
local cd_size = tonumber(C.bars.cd_size)
|
||||
|
||||
@@ -1157,17 +1157,17 @@ pfUI:RegisterModule("actionbar", function ()
|
||||
end
|
||||
|
||||
-- range glow color
|
||||
f.rangeColor = { strsplit(",", C.bars.rangecolor) }
|
||||
f.rangeColor = GetStringColorObject(C.bars.rangecolor)
|
||||
|
||||
-- out of mana color
|
||||
f.oomColor = { strsplit(",", C.bars.oomcolor) }
|
||||
f.oomColor = GetStringColorObject(C.bars.oomcolor)
|
||||
|
||||
-- not usable color
|
||||
f.naColor = { strsplit(",", C.bars.nacolor) }
|
||||
f.naColor = GetStringColorObject(C.bars.nacolor)
|
||||
|
||||
-- equipped color
|
||||
if f.equipped then
|
||||
f.equipped:SetTexture(strsplit(",", C.bars.eqcolor))
|
||||
f.equipped:SetTexture(GetStringColor(C.bars.eqcolor))
|
||||
end
|
||||
|
||||
-- general appearance
|
||||
@@ -1546,7 +1546,7 @@ pfUI:RegisterModule("actionbar", function ()
|
||||
-- via GetActionInfo + C_Spell.GetSpellReagents. Macro actions and
|
||||
-- bag-item actions are skipped (their reagent resolution would need a
|
||||
-- macro-body parse / item-effect lookup that we don't bother with).
|
||||
local UpdateSlot = function(slot)
|
||||
local function UpdateSlot(slot)
|
||||
local newID = nil
|
||||
if HasAction(slot) then
|
||||
local kind, spellID = GetActionInfo(slot)
|
||||
|
||||
+7
-7
@@ -82,10 +82,10 @@ pfUI:RegisterModule("chat", function ()
|
||||
end
|
||||
|
||||
if C.chat.global.custombg == "1" then
|
||||
local r, g, b, a = strsplit(",", C.chat.global.background)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.background)
|
||||
pfUI.chat.left.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
|
||||
local r, g, b, a = strsplit(",", C.chat.global.border)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.border)
|
||||
pfUI.chat.left.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
end
|
||||
|
||||
@@ -257,10 +257,10 @@ pfUI:RegisterModule("chat", function ()
|
||||
end
|
||||
|
||||
if C.chat.global.custombg == "1" then
|
||||
local r, g, b, a = strsplit(",", C.chat.global.background)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.background)
|
||||
pfUI.chat.right.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
|
||||
local r, g, b, a = strsplit(",", C.chat.global.border)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.border)
|
||||
pfUI.chat.right.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
end
|
||||
|
||||
@@ -675,7 +675,7 @@ pfUI:RegisterModule("chat", function ()
|
||||
end
|
||||
|
||||
-- read and parse whisper color settings
|
||||
local cr, cg, cb, ca = strsplit(",", C.chat.global.whisper)
|
||||
local cr, cg, cb, ca = GetStringColor(C.chat.global.whisper)
|
||||
cr, cg, cb = tonumber(cr), tonumber(cg), tonumber(cb)
|
||||
local wcol = rgbhex(cr, cg, cb)
|
||||
|
||||
@@ -706,10 +706,10 @@ pfUI:RegisterModule("chat", function ()
|
||||
_G.CHAT_WHISPER_INFORM_GET = '[W]' .. default
|
||||
end
|
||||
|
||||
local r,g,b,a = strsplit(",", C.chat.text.timecolor)
|
||||
local r,g,b,a = GetStringColor(C.chat.text.timecolor)
|
||||
local timecolorhex = rgbhex(r,g,b,a)
|
||||
|
||||
local r,g,b = strsplit(",", C.chat.text.unknowncolor)
|
||||
local r,g,b = GetStringColor(C.chat.text.unknowncolor)
|
||||
local unknowncolorhex = rgbhex(r,g,b)
|
||||
|
||||
-- Suppress FriendsFrame's WHO_LIST_UPDATE handling for our DLL-issued
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
pfUI:RegisterModule("cooldown", function ()
|
||||
-- cache values
|
||||
local lowcolor = {strsplit(",", C.appearance.cd.lowcolor)}
|
||||
local normalcolor = {strsplit(",", C.appearance.cd.normalcolor)}
|
||||
local minutecolor = {strsplit(",", C.appearance.cd.minutecolor)}
|
||||
local hourcolor = {strsplit(",", C.appearance.cd.hourcolor)}
|
||||
local daycolor = {strsplit(",", C.appearance.cd.daycolor)}
|
||||
-- local lowcolor = {strsplit(",", C.appearance.cd.lowcolor)}
|
||||
-- local normalcolor = {strsplit(",", C.appearance.cd.normalcolor)}
|
||||
-- local minutecolor = {strsplit(",", C.appearance.cd.minutecolor)}
|
||||
-- local hourcolor = {strsplit(",", C.appearance.cd.hourcolor)}
|
||||
-- local daycolor = {strsplit(",", C.appearance.cd.daycolor)}
|
||||
|
||||
local parent, parent_name
|
||||
local function pfCooldownOnUpdate()
|
||||
|
||||
@@ -948,7 +948,7 @@ nameplates:RegisterEvent("UNIT_SPELLCAST_CHANNEL_STOP")
|
||||
-- Use the same castbar texture and color as the unit frame castbar (castbar.lua)
|
||||
local cbtexture = pfUI.media[C.appearance.castbar.texture]
|
||||
nameplate.castbar:SetStatusBarTexture(cbtexture or hptexture)
|
||||
local cbr, cbg, cbb, cba = strsplit(",", C.appearance.castbar.castbarcolor)
|
||||
local cbr, cbg, cbb, cba = GetStringColor(C.appearance.castbar.castbarcolor)
|
||||
nameplate.castbar:SetStatusBarColor(cbr, cbg, cbb, cba)
|
||||
-- reset endTime cache so color/texture refresh takes effect on next cast
|
||||
nameplate.castbar.lastEndTime = nil
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ pfUI:RegisterModule("player", function ()
|
||||
-- Convert "r,g,b,a" config color string to a 6-char hex string, or nil if unset
|
||||
local function cfgColorToHex(colorStr)
|
||||
if not colorStr or colorStr == "" then return nil end
|
||||
local r, g, b = strsplit(",", colorStr)
|
||||
local r, g, b = GetStringColor(colorStr)
|
||||
r, g, b = tonumber(r), tonumber(g), tonumber(b)
|
||||
if not r or not g or not b then return nil end
|
||||
return string.format("%02X%02X%02X", r * 255, g * 255, b * 255)
|
||||
|
||||
+1
-1
@@ -234,7 +234,7 @@ pfUI:RegisterModule("roll", function ()
|
||||
f.time.bar:SetAllPoints(f.time)
|
||||
f.time.bar:SetStatusBarTexture(pfUI.media["img:bar"])
|
||||
f.time.bar:SetMinMaxValues(0, 100)
|
||||
local r, g, b, a = strsplit(",", C.appearance.border.color)
|
||||
local r, g, b, a = GetStringColor(C.appearance.border.color)
|
||||
f.time.bar:SetStatusBarColor(r, g, b)
|
||||
f.time.bar:SetValue(20)
|
||||
f.time.bar:SetScript("OnUpdate", function()
|
||||
|
||||
@@ -100,10 +100,10 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
||||
CreateBackdropShadow(KLHTM_Frame)
|
||||
|
||||
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
||||
local r, g, b, a = strsplit(",", C.chat.global.background)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.background)
|
||||
KLHTM_Frame.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
|
||||
local r, g, b, a = strsplit(",", C.chat.global.border)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.border)
|
||||
KLHTM_Frame.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
end
|
||||
|
||||
@@ -199,10 +199,10 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
||||
CreateBackdropShadow(TWTMain)
|
||||
|
||||
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
||||
local r, g, b, a = strsplit(",", C.chat.global.background)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.background)
|
||||
TWTMain.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
|
||||
local r, g, b, a = strsplit(",", C.chat.global.border)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.border)
|
||||
TWTMain.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
end
|
||||
|
||||
@@ -328,10 +328,10 @@ pfUI:RegisterModule("thirdparty-vanilla", function()
|
||||
CreateBackdropShadow(SW_BarFrame1)
|
||||
|
||||
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
||||
local r, g, b, a = strsplit(",", C.chat.global.background)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.background)
|
||||
SW_BarFrame1.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
|
||||
local r, g, b, a = strsplit(",", C.chat.global.border)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.border)
|
||||
SW_BarFrame1.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
end
|
||||
|
||||
|
||||
@@ -244,10 +244,10 @@ pfUI:RegisterModule("thirdparty", function()
|
||||
end
|
||||
|
||||
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
||||
local r, g, b, a = strsplit(",", C.chat.global.background)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.background)
|
||||
window.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
|
||||
local r, g, b, a = strsplit(",", C.chat.global.border)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.border)
|
||||
window.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
end
|
||||
|
||||
@@ -350,10 +350,10 @@ pfUI:RegisterModule("thirdparty", function()
|
||||
CreateBackdropShadow(frame)
|
||||
|
||||
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
|
||||
local r, g, b, a = strsplit(",", C.chat.global.background)
|
||||
local r, g, b, a = GetStringColor(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)
|
||||
local r, g, b, a = GetStringColor(C.chat.global.border)
|
||||
frame.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user