54 Commits

Author SHA1 Message Date
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 28de6fd835 finish UnitInRaid("player") → IsInRaid() sweep
Four more sites: GetUnbuffedRoster + SendChatMessageWide in api.lua,
the loot menu's inRaid local, and the raid module's early-return
guard. Same intent, named helper.
2026-06-27 18:57:21 -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 ba566cdd53 phase 2 removing tbc
Strip dead pfUI.client > 11200 and pfUI.expansion == "tbc" branches now
that vanilla is the only supported client.

- pfUI.lua: hardcode expansion = "vanilla"; collapse force_region matrix
- compat/vanilla.lua, libs/{libcast,libdebuff,libtotem,libunitscan,
  focus}: drop always-false early-returns
- api/unitframes.lua: delete TargetBuffOnUpdate poller + tbc visibility
  and secure-template branches; click-cast keeps only vanilla path
- api/ui-widgets.lua: unconditional EffectiveScale divide
- env/tables.lua: drop unused focus/focustarget pfValidUnits entries
- modules/actionbar.lua: simplify EnablePaging, drop ButtonSwitch/
  petvisibility, unwrap prowl block, single keybind-remap path
- modules/{castbar,chat,cooldown,loot,questitem,totems}: unwrap
  always-true conditionals
- modules/nameplates.lua: cfg-only fake-cooldown gate, unwrap overlap/
  clickthrough + mouselook blocks
- modules/friends.lua + skins/blizzard/friends.lua: maxtab = 4
- skins/blizzard/{help,game_menu,questlog}: drop tbc-only branches
2026-05-25 18:40:17 -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 73561eda4a compat: make hooksecurefunc append by default 2025-07-30 20:18:52 +02:00
shagu 21f77eddbd loot: only close the proper dialog window 2024-09-23 10:50:15 +02:00
shagu 839ce689d8 loot: only call LootSlot in vanilla clients
This part heavily relies on loot slot limitations in vanilla
that only allow to autoloot when an item was already clicked.
Without those limitations present in TBC, it had the side-effect,
that everything was auto-looted even without confirmation.
2022-12-28 12:14:32 +01:00
shagu 902d184363 loot: auto accept and loot bop items 2022-08-09 20:04:08 +02:00
shagu 3d137960fe loot: abort on events for empty loot slots 2020-12-16 16:54:58 +01:00
shagu c96463c0a5 loot: use native insert link function when possible 2020-12-06 20:54:16 +01:00
shagu 97ba25776d loot: update numLootSlots of original loot frame 2020-08-13 00:15:24 +02:00
shagu e74f426b08 loot: add sanity check to dropdown class colors 2020-06-23 19:47:00 +02:00
shagu 3334c7469f modules: make all modules aware of the new borders 2019-12-18 18:54:09 +01: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 545be99fd7 api: only add shadow to specific frames 2019-06-02 20:43:56 +02:00
Road-block a719710b5b loot: close on click when only one item is left
workaround missing loot event for disenchant, container loot on some servers
2019-04-27 18:21:21 +02:00
shagu 22e1cb03ae tbc: whitelist loot module for tbc 2019-04-14 19:34:33 +02:00
shagu d7c64d7d0a core: replace remaining getglobals in favor of _G 2019-04-06 14:30:31 +02:00
shagu f2a2f5dbbd loot: fix nil error in dropdownmenu
Thanks @Artur91425
2019-03-31 14:59:20 +02:00
shagu eb51d63656 loot: abort when dropdownFrame cannot be accessed
fixes: attempt to index local 'dropdownFrame' (a nil value)
2019-01-10 13:26:36 +01:00
Road-block 29c315a282 loot: add rarity threshold to random loot announce 2019-01-05 14:12:15 +01:00
shagu 98ecb6db09 loot: use new cmatch for pattern matching 2018-12-02 14:47:04 +01:00
shagu b7638db5f2 loot: use both setslot and setid for lootbuttons 2018-11-04 21:35:19 +01:00
shagu fb8fbbc8c4 loot: move client abstraction into compat files 2018-11-04 13:11:31 +01:00
shagu 065a050a61 loot: only use existing functions 2018-11-03 10:52:25 +01:00
Road-block 35afb39970 loot: prevent lootframe from drawing off-screen 2018-11-02 09:55:59 +01:00
shagu 5dfe5a4899 compat: initial layout of client abstraction api 2018-11-01 14:55:29 +01:00
shagu 4d508925f9 tbc: fix loot frames 2018-09-30 14:48:34 +02:00
Artur Morozov ca0ed4facf loot: fix last comma in loot frame 2018-05-17 16:20:18 +02:00
Road-block 42cfdd78b3 loot: make detailed random roll announce an option
* api: SendChatMessageWide will use raid warning if player is raid leader or assist
* loot: rearrange advanced masterloot menus so random rolling and special recipients precede class menu
* loot: fix a special recipients unitpopup menu check so they won't show in the context menu when the player is solo
* loot: change the auto confirm bind when solo implementation, so player doesn't have to double-click the loot
* loot: make sure it works if the loot bind confirmation staticpopup is not at index 1
2018-05-15 17:52:33 +02:00
shagu 3440fc7c7a loot: enable right mouse click for loot buttons 2017-12-31 18:28:23 +01:00
Road-block f13be1d68f loot: add advanced-loot entries to raid and player popups 2017-12-20 20:55:37 +01:00
Road-block a2e0615659 loot: add advanced masterloot menu 2017-09-28 22:15:05 +02:00
shagu 60039c89c8 loot: add option to manually set position 2017-07-09 19:44:48 +02:00
shagu 0e93ef166a loot: option to auto-loot BoP items 2017-03-19 13:48:27 +01: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 8e40807f39 loot: replace function in global space 2017-02-26 18:21:26 +01:00
shagu 0e33c04b34 loot: fix wrong variable name in masterloot 2016-12-28 15:52:29 +01:00
shagu ad4e68d681 api: clean up and documentation 2016-12-24 11:03:47 +01:00
shagu 77f02d9674 fonts: support for non latin gameclients 2016-12-19 18:46:46 +01:00
shagu 635d403186 loot: add option to autoresize lootframe 2016-12-12 21:35:19 +01:00
shagu 8891a1df44 backdrop api: rework every single frame sizing
This commit breaks alot of compatibility and maybe
other things too. The change was necessary, because
the old framework ran up against its limits.
A lot of new configuration options are now possible
and some of them were already added.
2016-11-22 00:04:14 +01:00
shagu 022b04a38d loot: cancel loot when closing the lootframe 2016-11-15 21:05:18 +01:00
shagu b7abc07b4b loot: fix anchor point for hover and rarity 2016-11-15 00:10:24 +01:00
shagu ba72fc39da codestyle: remove trailing semicolons 2016-11-09 23:20:26 +01:00