perf/fix: port experimental optimizations + focus rework + raidmarkers

Performance optimizations ported from experimental:
- libdebuff: replace 5s startup timer with next-frame defer
- libdebuff: use arg6 auraSlot directly (Nampower 2.29+) instead of GetDebuffSlotMap lookup
- libdebuff: invalidate slotMapCache on PLAYER_TARGET_CHANGED
- nameplates: detect Nampower 2.27.2+ for GUID-based nameplate lookup

Raidmarkers module ported from experimental:
- added raidmarkers.lua
- added config defaults and GUI section
- registered in modules.xml

focus.lua rework:
- removed CastSpellByNameNoQueue (Nampower's CastSpellByName now supports unit tokens/GUIDs natively)
- /focus Name: TargetByName with correct previous target restore + ClearTarget() fallback
- /focus Name: prefix match via SlashCmdList.TARGET when exact match fails
- suppress UI_ERROR_MESSAGE during targeting attempts

swingtimer fixes:
- non-Hunter ranged bar now fills left->right like MH/OH
- fix 1px artifact on Hunter bar center by using Hide() instead of SetWidth(0.1)
This commit is contained in:
Meow
2026-02-22 19:08:37 +01:00
parent a5db589b61
commit 236a2fce6c
7 changed files with 445 additions and 100 deletions
+22
View File
@@ -1032,6 +1032,10 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
"default:" .. T["Default"],
"tukui:TukUI"
},
["raidmarker_grow"] = {
"down:Down",
"up:Up",
},
["uf_color"] = {
"0:" .. T["Class"],
"1:" .. T["Custom"],
@@ -1969,6 +1973,24 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Ranged Warn Color (Hunter)"], C.unitframes, "swingtimerrangedwarncolor", "color")
CreateConfig(nil, T["Show HS/Cleave Queue Color (Warrior)"], C.unitframes, "swingtimerhsqueue", "checkbox")
CreateConfig(nil, "Raid Markers", nil, nil, "header")
CreateConfig(nil, "Raid Marker Width", C.unitframes, "raidmarkerwidth")
CreateConfig(nil, "Raid Marker Height", C.unitframes, "raidmarkerheight")
CreateConfig(nil, "Raid Marker Grow", C.unitframes, "raidmarkergrow", "dropdown", pfUI.gui.dropdowns.raidmarker_grow)
CreateConfig(nil, "Raid Marker Texture", C.unitframes, "raidmarkertexture", "dropdown", pfUI.gui.dropdowns.uf_bartexture)
CreateConfig(nil, "Raid Marker Font Size", C.unitframes, "raidmarkerfontsize")
CreateConfig(nil, "Show Name", C.unitframes, "raidmarkershowname", "checkbox")
CreateConfig(nil, "Show Percent HP", C.unitframes, "raidmarkershowpct", "checkbox")
CreateConfig(nil, "Show Portrait", C.unitframes, "raidmarkershowportrait", "checkbox")
CreateConfig(nil, "Star Color", C.unitframes, "raidmarkercolor_star", "color")
CreateConfig(nil, "Circle Color", C.unitframes, "raidmarkercolor_circle", "color")
CreateConfig(nil, "Diamond Color", C.unitframes, "raidmarkercolor_diamond", "color")
CreateConfig(nil, "Triangle Color", C.unitframes, "raidmarkercolor_triangle", "color")
CreateConfig(nil, "Moon Color", C.unitframes, "raidmarkercolor_moon", "color")
CreateConfig(nil, "Square Color", C.unitframes, "raidmarkercolor_square", "color")
CreateConfig(nil, "Cross Color", C.unitframes, "raidmarkercolor_cross", "color")
CreateConfig(nil, "Skull Color", C.unitframes, "raidmarkercolor_skull", "color")
CreateConfig(U[c], T["Font Options"], nil, nil, "header")
CreateConfig(nil, T["Unit Frame Text Font"], C.global, "font_unit", "dropdown", pfUI.gui.dropdowns.fonts)
CreateConfig(nil, T["Unit Frame Text Size"], C.global, "font_unit_size")