23 Commits

Author SHA1 Message Date
Brues f68b14e53b Use SetSize instead of SetWidth/SetHeight
Replaced numerous SetWidth/SetHeight calls with SetSize for consistency and brevity across UI code. Touched api/ui-widgets.lua, api/unitframes.lua and multiple modules (actionbar, addonbuttons, addons, afkcam, autovendor, bags, bgscore, buff, buffwatch, nameplates). Also simplified some sizing math in buff module. No functional behavior intended to change — code modernization only.
2026-07-30 02:27:03 -05:00
Brues 0f59a3a9b5 replace poll-until-cancel OnUpdate frames with C_Timer / RunNextFrame
Seven ad-hoc OnUpdate handlers were only spinning long enough to reach
a known deadline or a next-frame defer, then unhooking themselves.
Convert them to their proper primitives:

- autovendor: 0.3s wait after junk sell → C_Timer.After(0.3, ...)
- innervatecall: cooldown-expiry ready ping → C_Timer.After(cd, ...)
- focus: re-arm UI_ERROR_MESSAGE next tick → RunNextFrame
- macrotweak: conflict scan after addons load → RunNextFrame
- ui-widgets (CreateQuestionDialog): font-measure resize → RunNextFrame
- libdebuff: post-PEW Nampower init → RunNextFrame
- bubbles: WorldFrame scan after chat event → RunNextFrame

Net -18 lines and no more throwaway frames sitting on the OnUpdate list.
2026-07-01 10:43:46 -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 2619b0bd77 autovendor: all paths through C_MerchantFrame
Two-part collapse:

Button-click sell path: was a 0.1s-per-item manual iteration via
UseContainerItem (with processed[] tracking + a merchant-state flag +
OnShow/OnUpdate/OnHide handler trio). Now calls SellJunkAndReport
which fires C_MerchantFrame.SellAllJunkItems and a 0.3s deferred
GetMoney delta reporter. Engine handles per-frame sell pacing.

Button enable/disable check: HasGreyItems() iterated bags 0..4 with
C_Item.GetItemQuality manually. Replaced with
C_MerchantFrame.GetNumJunkItems() > 0 (the engine's canonical answer
to the same question). The button's Update only runs from MERCHANT_SHOW
/ MERCHANT_UPDATE handlers so the "merchant must be open" gate on
GetNumJunkItems is always satisfied.

Side effect: the MERCHANT_SHOW auto-sell path NOW reports income to
chat. Previously only the manual button reported it.

Deleted: HasGreyItems, processed/count/gold state, GetNextGreyItem,
autovendor.merchant flag, OnShow/OnUpdate/OnHide handlers, the
MERCHANT_CLOSED branch.

170 → 104 lines.
2026-05-21 17:24:14 -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 67146ef3a4 begin utilizing ClassicAPI 2026-05-16 13:02:38 -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 f95974357f autovendor: dont rely on internal sellvalue database 2025-02-15 17:13:28 +01:00
shagu 7669e64173 core: remove leftover semicolons 2020-08-15 19:29:24 +02:00
shagu 17e28b6ed8 autovendor: abort when merchant window is closed 2020-06-25 10:17:23 +02:00
shagu 6c8cc1147e autovendor: always scan for next and clear cursor 2020-06-25 10:05:19 +02:00
shagu 3334c7469f modules: make all modules aware of the new borders 2019-12-18 18:54:09 +01:00
Artur Morozov a75fd5dca4 skins: add a bunch of tbc compatible skins
* add skin for: auction, character, game_menu
  guild_registrar, inspect, macro, mail,
  merchant, options-interface, options-sound,
  options-video, popup_dialogs, professions,
  questlog, talents, tracking, guildbank,
  socket, readycheck, arena_registrar,
  arena, time_manager, LFG
* add mail highlighting the quality of items
* add quality borders of guildbank items
2019-06-16 15:03:35 +02:00
shagu e9237b59b2 core: use concrete string based client checks 2019-06-10 17:06:31 +02:00
shagu 7bc60e723d core: whitelist a bunch of modules for tbc 2019-04-07 14:48:58 +02:00
Artur Morozov e59db31435 skin: update autovendor button 2019-03-31 14:59:21 +02:00
shagu aecef68ab6 autovendor: hide button if autosell is enabled 2018-05-30 21:14:48 +02:00
shagu 482c03ca26 translations: add missing words 2017-10-18 23:49:50 +02:00
shagu 13272adc85 autovendor: one item per .1 second 2017-07-07 17:00:40 +02:00
shagu 603ecbc5ff autovendor: rename repair function 2017-06-12 18:40:50 +02:00
shagu ff7fafda47 autovendor: only sell one item per frame 2017-06-10 19:40:44 +02:00
shagu 546ce6287c autovendor: auto sell- and repair module 2017-04-23 21:29:46 +02:00