31 Commits

Author SHA1 Message Date
Brues 23d1ab840c Show sell value in tooltip when merchant hidden
When the MerchantFrame is not shown, display the item's total vendor sell value on the tooltip. Adds a guard to call SetTooltipMoney(frame, sell * count) if sell > 0 so stacked items show their combined sell price.
2026-07-10 13:23:52 -05:00
Brues 13a08b0ea3 Restore hooksecurefunc 2026-07-09 23:01:52 -05:00
Brues acab272ec0 Generalize vendor price display across all tooltip types
Replace the single GameTooltip hook with a comprehensive hooking system that displays vendor prices across 17+ tooltip methods, including loot, quests, bags, mail, auctions, trades, merchants, and crafting. This ensures players see vendor prices consistently regardless of where they view items.
2026-07-09 22:05:25 -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 e12409de60 utilize IsModifierKeyDown 2026-05-31 13:18:20 -05:00
Brues 7c5e4a0e08 add Item Count module 2026-05-28 13:24:50 -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 802d47312f pfSellData: drop sell column, use C_Item.GetItemSellPriceByID
Each pfSellData entry was a "sell,buy" string. The sell price duplicates
what C_Item.GetItemSellPriceByID returns from the engine's item DBC, so
it's redundant in our table — only the buy price (curated from real
vendor encounters, not a static item property) needs to live here.

Transformed every [id]="X,Y" entry across env/tables.lua, compat/tbc.lua,
and modules/turtle-wow.lua to [id]=Y via sed. Format is now itemid →
buyPrice (number, copper).

sellvalue.lua: reads sell from C_Item.GetItemSellPriceByID(id), reads
buy from pfSellData[id]. Items that have only a sell price (not in
pfSellData) now display sell-only — previously they got no tooltip
addition because the lookup gated on table membership. Items with
buy-only (sell == 0 in old data) still display buy correctly.

autovendor.lua: replaces the pfSellData[id] gate (which only checked
table membership and unused the parsed sell/buy) with a direct
C_Item.GetItemSellPriceByID > 0 check — the engine's canonical
"is this item sellable to a vendor" answer.
2026-05-21 17:19:29 -05:00
Brues d27db55abf modernize monkey-patched hooks to hooksecurefunc
sellvalue.lua: SetItemRef hook follows the same pattern questitem.lua
got earlier — replaces the local-Hook + _G.SetItemRef monkey-patch with
hooksecurefunc, drops the string.find link-parser, and reads itemID
directly from ItemRefTooltip:GetItem after the original populates the
tooltip. The OnShow path also moves from libtooltip:GetItemLink/GetItemID
to GameTooltip:HasItem/GetItem (libtooltip:GetItemCount stays — it's
populated by libtooltip's own SetBagItem hook and carries the stack
count, which GetItem doesn't return).

unusable.lua: the two post-hooks (pfUI.bag.UpdateSlot and
BankFrameItemButton_UpdateLock) are textbook hooksecurefunc cases —
both ran the original then did extra work, no conditional skip or
return-value tampering. The table form of hooksecurefunc handles
pfUI.bag.UpdateSlot cleanly.
2026-05-21 17:04:00 -05:00
Meow 34f5c3eb02 Version 6.1.0 - Raid/Party Frame Fixes
Bugfixes:
- Fixed 40-yard range check not working for raid/party frames
- Fixed aggro indicator not displaying properly on raid/party frames
- Improved aggro cache to only cache positive results for instant detection
- Fixed HP/Mana not updating with "Use Raid Frames for group" enabled
- Added SuperWoW nil-check for SpellInfo
- Added missing events: PARTY_MEMBER_ENABLE, PARTY_MEMBER_DISABLE, PLAYER_UPDATE_RESTING

UI Improvements:
- Share/Hoverbind buttons now show warning when module is disabled
2026-01-08 12:25:18 +01:00
Meow 5d0e195d1e performance update
performance update
2026-01-03 12:58:31 +01:00
shagu 49bdddf25c libtooltip: improve auction item link handling
based on: https://github.com/shagu/ShaguTweaks/commit/2eace5ffd6ecda09d376969885aabcf247611b8e
2025-06-30 08:09:14 +02:00
shagu b56eeaba49 sellvalue: ignore negative item count 2025-06-14 18:25:03 +02:00
shagu 7669e64173 core: remove leftover semicolons 2020-08-15 19:29:24 +02:00
shagu eb4c63e7fe sellvalue: avoid updates to not break other addons 2020-06-28 23:24:55 +02:00
shagu 15298630f1 sellvalue: add vendor prices to chat links 2020-06-28 22:36:13 +02:00
shagu a5df9db348 libtooltip: add tooltop library for extended infos
Add tooltip library, based on the sellvalue item hooks,
in order to obtain extended gametooltip data, that can be used
to query the current GameTooltip for ItemLink and ItemID.
2019-12-05 21:49:12 +01:00
shagu decb95286c tbc: patch sellvalue tables for tbc values 2019-07-20 16:49:22 +02:00
shagu e9237b59b2 core: use concrete string based client checks 2019-06-10 17:06:31 +02:00
Road-block e50fabfff9 core: global environment cleanup 2019-03-31 14:59:21 +02:00
shagu 482c03ca26 translations: add missing words 2017-10-18 23:49:50 +02:00
shagu f4866ae7a8 sellvalue: check for quest reward first 2017-04-17 17:00:37 +02:00
shagu 648ee4cea5 sellvalue: rewrite 2017-04-17 16:16:04 +02:00
shagu 6f7a665ffe api: merge api calls into environment 2017-02-26 20:55:22 +01:00
shagu 1766dd4ba0 api: use C for config 2017-02-26 20:42:08 +01:00
shagu 5a60812786 api: replace getglobal 2017-02-26 20:19:22 +01:00
shagu a7355e8ad6 tooltip: option to always show vendor and comparison 2016-12-27 14:37:51 +01:00
shagu ad4e68d681 api: clean up and documentation 2016-12-24 11:03:47 +01:00
shagu 3f609dd4a9 sellvalue: add count modifier to extended view 2016-12-21 14:10:57 +01:00
shagu a3473e46ce sellvalue: fix buy stack value 2016-12-21 14:05:37 +01:00
shagu b210b07a0e sellvalue: show sellprice on bag item tooltips 2016-12-21 13:02:47 +01:00