Commit Graph
51 Commits
Author SHA1 Message Date
Brues 2b4d33d46a Keep libpredict tracking casts when HealComm is loaded
With HealComm-1.0 present (HealComm, LunaUnitFrames, NotGrid), the
compat hook unregistered every event on libpredict.sender to stop pfUI
broadcasting a duplicate of the player's casts. Since cast detection
moved onto that frame's UNIT_SPELLCAST_* handlers, that also blinded
libpredict to every cast, so the player's own resurrections never put
the rez icon on the target's frame: ParseChatMessage drops the player's
own Resurrection echo, expecting the cast events to have tracked it.

The compat hook now only mutes the outgoing HealComm and CTRA messages.
The HealComm.SendAddonMessage hook that parsed the player's own messages
while solo goes too, since libpredict tracks its own casts directly.
2026-10-29 18:56:51 -05:00
Brues 1600ec333b game_menu: skin every menu button dynamically
Scan GameMenuFrame's children on load and on each show instead of a
hardcoded list, so buttons added by other addons (ClassicAPI AddOn
Options, MoveAnything, MCP, SuperMacro, HardcoreDeath, Turtle shop) get
skinned without per-addon calls.
2026-10-22 18:41:47 -05:00
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