diff --git a/PerfBoostSettings.toc b/PerfBoostSettings.toc index cc3b256..fefd6f3 100644 --- a/PerfBoostSettings.toc +++ b/PerfBoostSettings.toc @@ -1,5 +1,5 @@ ## Interface: 11200 -## Title: Perf_boost Settings v1.7.1 +## Title: Perf_boost Settings v1.8.0 ## Notes: the companion compatibility addon to the mod of the same name. ## SavedVariablesPerCharacter: PerfBoostSettingsDB ## X-Embeds: Ace2, FuBarPlugin-2.0, CompostLib, DewDropLib, TabletLib diff --git a/README.md b/README.md index d6082e3..239d290 100644 --- a/README.md +++ b/README.md @@ -53,9 +53,17 @@ A configuration addon for the perf_boost.dll mod https://gitea.com/avitasia/perf - **Show Other Player Aura Visuals** - Whether to show aura visual effects on players - **Show Unit Aura Visuals** - Whether to show aura visual effects on units (NPCs, mobs) - **Hide Spells for Hidden Players** - Hide spell visuals from players that are hidden due to render distance or other settings +- **Hide Laggy Boss Spells on Others** - Curated list of spells for Sapphiron, Gnarlmoon, and Anomalus that will be hidden on other players/units. If you aren't displaying unit auras most of these will already be hidden. - **Always Hidden Spell IDs** - Comma-separated list of spell IDs to hide visuals for (e.g., 1234,5678) - **Always Shown Spell IDs** - Comma-separated list of spell IDs to always show visuals for, overriding other settings - **Apply Hidden Spell IDs to Me** - Whether to apply the hidden spell IDs list to your own character's spells +- **Debug Shown Spells** - Prints to the log information about each spell being displayed + +**Note:** Some important debuff auras will always be shown regardless of settings: +- Mark of the Highlord +- Corruption of Medivh +- Living Bomb +- Plague ### Event Filtering - **Filter GUID Events** - Filters out generally unnecessary superwow GUID-based events to reduce event spam and improve performance. Blocks events like UNIT_AURA, UNIT_HEALTH, UNIT_MANA when triggered with a guid instead of a string like 'player' or 'raid1', while preserving commonly used guid events like UNIT_COMBAT and UNIT_MODEL_CHANGED. diff --git a/settings.lua b/settings.lua index 488cddb..31b0f19 100644 --- a/settings.lua +++ b/settings.lua @@ -578,6 +578,12 @@ PerfBoost.cmdtable = { end end, }, + + spacer_debug = { + type = "header", + name = " ", + order = 20, + }, }, }, @@ -879,3 +885,46 @@ function SlashCmdList.PBTOGGLEPLAYERRENDERIST(msg, editbox) DEFAULT_CHAT_FRAME:AddMessage("|cffffcc00PerfBoost:|r Player render distances set to 0 (saved: " .. tostring(currentDist) .. " normal, " .. tostring(currentDistInCombat) .. " combat)") end end + +-- Conditionally add new CVars if they exist (for compatibility with older DLL versions) +local has_laggy_boss_spells = pcall(GetCVar, "PB_HideLaggyBossSpellsOnOthers") +if has_laggy_boss_spells then + PerfBoost.cmdtable.args.spells.args.PB_HideLaggyBossSpellsOnOthers = { + type = "toggle", + name = "Hide Laggy Boss Spells on Others", + desc = "Curated list of spells for Sapphiron, Gnarlmoon, and Anomalus that will be hidden on other players/units. If you aren't displaying unit auras most of these will already be hidden.", + order = 6, + get = function() + return GetCVar("PB_HideLaggyBossSpellsOnOthers") == "1" + end, + set = function(v) + PerfBoost.db.profile.PB_HideLaggyBossSpellsOnOthers = v + if v == true then + SetCVar("PB_HideLaggyBossSpellsOnOthers", "1") + else + SetCVar("PB_HideLaggyBossSpellsOnOthers", "0") + end + end, + } +end + +local has_debug_shown_spells = pcall(GetCVar, "PB_DebugShownSpells") +if has_debug_shown_spells then + PerfBoost.cmdtable.args.spells.args.PB_DebugShownSpells = { + type = "toggle", + name = "Debug Shown Spells", + desc = "Prints to the log information about each spell being displayed.", + order = 21, + get = function() + return GetCVar("PB_DebugShownSpells") == "1" + end, + set = function(v) + PerfBoost.db.profile.PB_DebugShownSpells = v + if v == true then + SetCVar("PB_DebugShownSpells", "1") + else + SetCVar("PB_DebugShownSpells", "0") + end + end, + } +end