49 Commits

Author SHA1 Message Date
Brues fe0ec82ede 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.
2026-08-04 22:27:43 -05:00
Brues 13a08b0ea3 Restore hooksecurefunc 2026-07-09 23:01:52 -05:00
Brues 967487e283 Utilizing ClassicAPI 1.6.0
commit d63057474083aa67fda2aa28ee6301334ffc4fdf
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Mon Jul 6 00:59:17 2026 -0500

    Use C_Map.GetMapOverlays instead of hardcoded pfMapOverlayData

    ClassicAPI's C_Map.GetMapOverlays reads WorldMapOverlay.dbc directly and
    returns the full overlay list for a zone (explored + unexplored) — the
    data vanilla's GetMapOverlayInfo withholds. mapreveal now iterates it
    straight (named fields: textureName/texturePath/width/height/offsets),
    dropping unpack_hash and the pfMapOverlayData tables entirely.

    Also fixes the explored-check: it compared the full texture path against
    GetMapOverlayInfo's bare-name keys, so the magnifying glass never
    suppressed on explored overlays. Now matches on the bare name.

    Removes ~870 lines of hand-measured overlay data (base + Turtle).

commit ad12c8209a80cd1211fe08e83f7013d24b5efd2d
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Sun Jul 5 23:45:09 2026 -0500

    utilize HookScript from ClassicAPI
2026-07-09 00:56:06 -05:00
Brues 3fe072c594 Route hooksecurefunc callers through pfUI.hooksecurefunc; global belongs to ClassicAPI
pfUI's Lua hooksecurefunc lived in pfUI.env and shadowed ClassicAPI's C
global for all pfUI code. Replace it with a thin pfUI.hooksecurefunc shim
that keeps the missing-target no-op our call sites rely on (ClassicAPI
errors on a nil target) and delegates the actual hook to _G.hooksecurefunc.

Migrated all 70 internal call sites (modules/libs/skins) to
pfUI.hooksecurefunc; bare hooksecurefunc now resolves to ClassicAPI's C
version everywhere. Dropped the unused prepend path and the orphaned
pfUI.hooks table.
2026-07-05 14:58:26 -05:00
Brues e5c51fff48 eqcompare: rewrite on top of ClassicAPI SetHyperlinkCompareItem
Drop the manual C_Item.GetItemStatDelta rendering (inline annotations
and bottom-block summary) in favor of driving native shopping tooltips
via SetHyperlinkCompareItem — the 3.3.5 flow now available through
ClassicAPI. Way less code, and Blizzard's own comparison rendering
handles all stat types uniformly.

Also revert the mode dropdown back to a single basestats checkbox — the
new implementation doesn't distinguish base vs extended (Blizzard's
tooltip shows everything the item exposes), so the two-level control
was redundant. Existing basestats configs pass through unchanged.

AtlasLootTooltip now goes through the shared HookTooltip helper instead
of a bespoke OnShow shim.
2026-07-03 02:10:20 -05:00
Brues ef478b0552 thirdparty-vanilla: collapse solo check to not IsInGroup()
The HealComm self-message guard was `not UnitInRaid("player") and
GetNumPartyMembers() < 1` — the long form of "in no group at all."
2026-06-27 18:55:49 -05:00
Brues 1fd7895ca7 move away from RAID_CLASS_COLORS dependency 2026-05-28 13:06:00 -05:00
Brues 710be52f35 phase 3 removing tbc
Drop the now-vestigial expansion plumbing.

- Delete modules/thirdparty-tbc.lua + its xml Include
- Strip 10 tbc-tagged CreateConfig calls in modules/gui.lua
- Drop the expansion arg from CreateConfig() signature + the disabled-
  entry rendering path that depended on it
- Drop the showdisabled GUI toggle + its default
- Simplify pfUI:RegisterModule / pfUI:RegisterSkin to (name, func) only
- Strip the leading version arg ("vanilla:tbc", etc.) from all 114
  Register call sites
- Delete the pfUI.expansion variable
2026-05-25 18:50:53 -05:00
Brues 1d27f7bed3 class color cleanup 2026-05-23 02:56:00 -05:00
Meow f7d177d135 Revert "Add skin for StatCompare and fix BetterCharacterStats" 2026-03-01 07:41:57 +01:00
Kolonel 5c483d3405 Enhance BetterCharacterStats and StatCompare skins 2026-03-01 02:23:57 +02:00
Jrc13245 321fb3c14e disable unfavorable settings interfering with SuperCleveRoidMacros when addon is present 2026-01-13 14:56:02 -05:00
shagu 73561eda4a compat: make hooksecurefunc append by default 2025-07-30 20:18:52 +02:00
liiora 6169c57ad3 thirdparty: add missing UnitXP SP3 buttons to theme 2025-07-21 21:29:36 +02:00
shagu 81f34bd89c thirdparty: remove breaking MacroExtender function 2025-01-17 16:39:06 +01:00
shikulja c5544af914 thirdparty: improve UnitXP skin 2025-01-04 16:26:17 +01:00
shagu 37d4c0d629 thirdparty: make theorycraft aware of all buttons
Thanks @bhhandley
2025-01-04 11:37:10 +01:00
shikulja cef2295042 thirdparty-vanilla: improve UnitXP SP3 skin 2024-11-09 11:55:29 +01:00
Timo | That Guy Turtles 9678277b5c thirdparty-vanilla: add UnitXP SP3 skin 2024-11-07 21:12:49 +01:00
shagu 5cd6475e16 thirdparty-vanilla: only skin existing dropdowns 2024-11-06 10:43:19 +01:00
shagu 77763cd95d superwow: move into its own module
Moving superwow integration from thirdparty into a seperate module.
It's a client mod, not an addon and therefore should not bloat the
thirdparty section that is already huge enough.

It was a mistake to treat it as an addon-compat in first place.

Now having it as a seperate module also allows it to grow better
over time as new SuperWoW features are integrated into pfUI.
2024-05-10 10:02:58 +02:00
shagu e95c02e981 thirdparty: add support for superwow spell stops 2024-05-10 09:26:52 +02:00
shagu ae94b5d150 thirdparty: add support for superwow channel skills 2024-05-10 09:26:12 +02:00
shagu 59878b3f8f thirdparty: add support for superwow spell cast 2024-05-09 10:49:03 +02:00
Ilya Pashin db1cb06b4e thirdparty: add TW Threatmeter dock and skin 2024-02-26 17:46:28 +01:00
shagu 8d8f5c9292 thirdparty: adjust ktm dock sizing 2024-02-26 17:19:44 +01:00
shagu 72d577e2bf thirdparty: add support for clevermacro 2023-10-31 12:05:00 +01:00
shagu 5a9dfff7cf thirdparty: check for pfUI chat before using it 2023-08-30 15:40:40 +02:00
shagu 05bcd263f4 thirdparty: skin supermacro game menu button 2023-06-15 09:38:47 +02:00
8EightySixed6 80ac434fb4 thirdparty: skin hardcore death log button
https://github.com/Lexiebean/HardcoreDeath
2023-06-15 09:38:31 +02:00
LaYt f0d1abef9c thirdparty: add support for latest supermacro 2022-11-29 12:53:13 +01:00
shagu 2c58b41c34 thirdparty: disable breaking MacroExtender functions 2022-09-25 13:44:31 +02:00
Mr_Rosh a16151bdfb thirdparty: use power bar texture for druid bars 2022-08-25 23:44:43 +02:00
shagu c0e19736f4 thirdparty: add sortbags link to comment 2022-04-25 00:20:58 +02:00
shagu a849f6bd78 thirdparty: add skin for crafty
https://github.com/shirsig/crafty
2020-12-01 20:24:01 +01:00
shagu 074b43d6d0 thirdparty: add skin for bettercharacterstats
https://github.com/yutsuku/BetterCharacterStats
2020-12-01 19:34:50 +01:00
shagu 2071ff0b2a thirdparty: update healcomm code for libpredict
* disable libpredict sender when healcomm should be used
* fix bug where solo-predictions where not parsed
2020-11-27 15:26:53 +01:00
shagu cc6322e28a thirdparty: fix typo in sortbags config check 2020-10-31 21:22:48 +01:00
shagu f7f1f6510f thirdparty: unify bag sort integration code 2020-10-05 17:13:23 +02:00
shagu 74d2ba2abc thirdparty: only skin existing wim components 2020-08-14 21:18:57 +02:00
shagu 2d1e397394 thirdparty: ignore supermacros on special bars 2020-07-07 18:10:16 +02:00
shagu 66aa9a587e thirdparty: skin mcp and moveanything menu buttons 2020-06-30 18:57:46 +02:00
shagu 3845e974e4 thirdparty: fix wim class color strings 2020-06-24 10:52:04 +02:00
shagu e5fd656425 thirdparty: calculate wim color string 2020-04-26 13:25:54 +02:00
shagu ffa383da10 thirdparty: abort on empty wim frames 2020-04-12 02:04:14 +02:00
shagu 763977a5d7 thirdparty: check for wim variable before using it 2020-04-12 02:03:50 +02:00
shagu e50be68a98 thirdparty: move dpsmate to multiclient support 2020-03-11 18:07:58 +01:00
shagu 4d7bfe3169 thirdparty: whitelist mrplow for tbc 2020-03-02 18:03:02 +01:00
shagu 967f0d4515 thirdparty: split glue code into expansions 2020-03-02 18:01:49 +01:00