Commit Graph

75 Commits

Author SHA1 Message Date
Brues 7efc3334ae Add an aura caster line to tooltips
Hook GameTooltip:SetUnitAura to append the caster's name; every pfUI aura
tooltip (player buffs, buffwatch, unitframes) routes through it, so one hook
covers them all. Resolve the name from the live sourceUnit token, falling
back to the sourceGUID name cache (players only) when the token is gone.

Gated behind a new tooltip.aurasource option (off by default) with a matching
"Show Aura Caster" checkbox. The toggle reloads the UI, so the hook is
installed conditionally at load rather than re-checking the flag per tooltip.
2026-08-06 02:51:08 -05:00
Brues 6d1bfe805e Use UnitClassBase for class detection 2026-07-30 01:26:29 -05:00
Brues 149d5dd362 Scope tooltip cursor-follow to when shown; default it to smooth
The cursor-follow OnUpdate polled GetCursorPosition() 10x/second forever,
even with no tooltip visible. Rework it so the follower frame is created
once, hidden, and only shown while a tooltip is up -- an OnUpdate fires only
while its frame is shown, so the poll now runs solely during tooltip display.
Position the follower immediately on show to avoid a one-frame flash.

Also bump the tooltip_cursor throttle default from custom/10 FPS to the
fastest preset (50 FPS) so cursor tracking is smooth out of the box while
the Throttling tooltip knob stays available for low-end machines.
2026-07-29 11:42:18 -05:00
Brues c68e48111d Remove libtooltip 2026-07-12 14:01:25 -05:00
Brues 65678da3d2 tooltip: optional movement-speed line via GetUnitSpeed
New tooltip.movespeed config knob (default off, checkbox in the GUI's
tooltip page). When on, the unit tooltip gains a "Speed: N%" line where
N is the unit's run speed normalized to vanilla's 7.0 yd/s base — 100
unmounted, 160 on a 60% mount, 200 on epic, less under snares.

Uses runSpeed (return 2 of GetUnitSpeed), not currentSpeed, so the
number reflects what the unit *would* be running at — visible even
while they're standing still. runSpeed is 0 for out-of-range units, so
the line is skipped in that case.
2026-06-27 19:28:40 -05:00
Brues f657a9e7e8 drop MobHealth3 / MobHealthFrame fallbacks
libhealth ships with pfUI and Nampower's GetUnitField (hard-dep) covers
the real-HP read; the MobHealth integration was a chained last-resort
fallback that could never actually win, and on the nameplate path it
also mixed percentage and real-value scales into the bar's SetMinMaxValues
since it overwrote hp/hpmax without hpmin.
2026-06-27 16:08:39 -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 199842e220 prevent 'npctarget' invalid unit calls 2026-05-23 15:59:09 -05:00
Brues 11f9cd848b tooltip:GetUnit via HasUnit + UnitTokenFromGUID
GameTooltip:HasUnit() / GameTooltip:GetUnitGUID() ask the tooltip
directly what unit it's displaying (returns the GUID), and
UnitTokenFromGUID resolves that to a unit token. So instead of
iterating mouseover/player/pet/target plus party1..4, partypet1..4,
raid1..40, raidpet1..40 and string-matching each against
GameTooltipTextLeft1:GetText(), this is now a three-line lookup.

Bonus: drops the UnitName / UnitPVPName fallback string match (which
broke on duplicate names across the realm and on tooltips showing PVP
titles that didn't exactly match a token's UnitPVPName output). GUID
is canonical.
2026-05-21 17:27:27 -05:00
Meow 37beca7103 New throttling menu
New throttling menu
2026-02-06 08:07:33 +01:00
Meow 5d0e195d1e performance update
performance update
2026-01-03 12:58:31 +01:00
shagu 63a24d78fe tooltip: keep status text above backdrop borders 2025-06-22 19:39:31 +02:00
shagu a7bc89ca6d tooltip: add global variable for dodge frames 2025-03-20 07:37:59 +01:00
shagu e843ccea2c tooltip: better approach to detect pvp titles 2024-02-26 17:23:56 +01:00
Mr_Rosh df2ac5dc61 tooltip: add option to change font & font size 2023-07-24 13:07:29 +02:00
shagu 8b05665819 tooltip: detect right position on hidden panels 2021-08-25 17:19:39 +02:00
shagu edc4371253 tooltip: clamp statusbar and text to screen 2020-12-29 05:18:22 +01:00
shagu 97763d8db4 tooltip: remove caption on invalid health values 2020-06-24 13:07:04 +02:00
shagu 43d22de5f8 tooltip: always initialize status text 2020-05-22 21:03:49 +02:00
shagu 0c0a9a02e1 tooltip: round percentages for real hp units 2020-05-20 03:07:00 +02:00
shagu 7289f6c06f tooltip: calculate percentage for real hp units 2020-05-20 02:59:21 +02:00
shagu f3561dbe12 tooltip: detect server sent values below 100 2020-05-03 14:09:56 +02:00
shagu 0f18715fab tooltip: add option to show health in percent 2020-05-03 13:37:53 +02:00
shagu d88c1b330a tooltip: switch to libhealth by name function 2020-05-03 13:31:36 +02:00
shagu 78afbd179b tooltip: use libhealth values if existing 2020-04-11 16:32:41 +02:00
shagu e5d3157cae tooltip: calculate color by rgba and add fallback 2020-03-22 21:16:40 +01:00
shagu f296f51df6 tooltip: use target reaction color if available 2020-03-21 15:24:08 +01:00
shagu e27b255310 tooltip: align statusbar transparency to tooltip 2020-03-13 16:21:49 +01:00
shagu d8c9e85557 tooltip: use statusbar spacing based on borders 2020-03-13 16:21:16 +01:00
shagu ea18c05d8c tooltip: add option to define statusbar texture 2020-03-13 16:20:24 +01:00
shagu a90d576ab9 tooltip: same border spacing like other elements 2020-03-13 16:15:28 +01:00
shagu 3334c7469f modules: make all modules aware of the new borders 2019-12-18 18:54:09 +01:00
shagu d6d5abdebc tooltip: add option to display itemIDs 2019-12-05 21:54:03 +01:00
shagu 0b00688842 tooltip: use same visual offset for left an right 2019-06-10 17:36:20 +02:00
shagu 874aaa07ab tooltip: fix frame scaling for top anchor position 2019-06-10 17:30:09 +02:00
shagu e9237b59b2 core: use concrete string based client checks 2019-06-10 17:06:31 +02:00
shagu 7632f92dd1 core: use new media mechanism for all textures 2019-06-10 13:35:48 +02:00
shagu b375ad4fb1 tooltip: exclude pet from mobhealth 2019-06-04 09:19:25 +02:00
shagu 545be99fd7 api: only add shadow to specific frames 2019-06-02 20:43:56 +02:00
Road-block 69aa18304b tooltip: add option to set a custom position 2019-06-02 18:01:09 +02:00
shagu c7067f91ca tooltip: add support for MobHealth3 values
Thanks @Rumchiller
2019-05-21 23:05:11 +02:00
shagu 7bc60e723d core: whitelist a bunch of modules for tbc 2019-04-07 14:48:58 +02:00
Road-block e50fabfff9 core: global environment cleanup 2019-03-31 14:59:21 +02:00
Artur Morozov 6a580f198b skin: add Tooltips 2019-03-31 14:59:21 +02:00
shagu 07ddb24ff0 tooltip: reduce memory load on unit detection 2018-08-05 21:44:53 +02:00
Unknown cd7642da09 bags: initial draft of movable bags 2018-04-26 23:11:58 +02:00
shagu 61b6f56b7d tooltip: prevent from being placed offscreen 2017-12-11 20:36:33 +01:00
shagu 65360d1bd6 tooltip: add option to define cursor offsets 2017-12-03 18:03:00 +01:00
shagu 978144869d tooltip: fix invalid anchors on disabled modules 2017-08-26 18:40:52 +02:00