Commit Graph

34 Commits

Author SHA1 Message Date
Brues 8ddcf73da6 extract bagsort logic 2026-06-08 11:16:48 -05:00
brues-code 013fcc6c90 add equipment manager (#3)
* equipmentmanager

* use BAG_UPDATE_DELAYED

* CharacterFrame.backdrop doesn't on creation so check onShow

* adjust button positioning

* Show Equipment Set tooltip

* fix icon select scrolling issue

* Equip Set on double click

* slot tooltips: use location-aware GameTooltip methods

Branch on EquipmentManager_GetLocationData: SetBagItem for bagged items,
SetInventoryItem for equipped, fall back to SetInventoryItemByID for
missing or unresolved entries. Surfaces durability/charges/enchants in
the tooltip when the item is reachable.

Also cache C_EquipmentSet.GetItemLocations once per Refresh and store
it on each slot button instead of re-fetching inside the missing-item
border branch.

* purg esome comments

* use GameTooltip_Hide from !!!classicapi

* moved flyout to character frame

* ignore item icon shows on item slots now

* defer ignored-slot toggles until Save

Toggling a slot's ignored state in the flyout no longer immediately
calls SaveEquipmentSet. Instead the change is recorded in a per-set
pendingIgnoredToggles table; the overlay reflects the effective
state (persisted XOR pending) so the user sees the visual change
right away, and Save commits the toggles by replaying them into
ClassicAPI's session ignored list before SaveEquipmentSet.

Pending toggles clear on Save (committed) and on set deletion.

* overhaul icon picker

* fixed width

* fixed issue where selected icon got cleared out

* correct flyout button order

* backport more equipment manager icons

* refactor window

* fixed gear menu

* remove set cap

* bump minimum classicapi version

* bump minimum version to 1.3.3

* row menu: close on outside click

GLOBAL_MOUSE_DOWN fires regardless of which frame absorbs the click
and (unlike a veil frame) doesn't consume the original event, so
clicking another row's gear closes the old menu and opens the new
one in a single click. The gear's own OnClick handles the same-row
toggle close, since GLOBAL_MOUSE_DOWN's anchorBtn check excludes it.

Bumps minimum ClassicAPI to 1.3.4 for GLOBAL_MOUSE_DOWN /
IsMouseButtonDown.

* use pfUI.path

* comment cleanup

* bump min classicapi version

---------

Co-authored-by: Brues <5278969+brues-code@users.noreply.github.com>
2026-05-31 12:56:30 -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 58609b8c5c phase 1 removing tbc 2026-05-25 18:16:02 -05:00
Meow 164582fb82 Innervatecall module 2026-04-11 21:18:29 +02:00
Meow 754be808fd removed 2 untested skins 2026-03-21 21:39:54 +01:00
Meow ed6904f021 new pfui skins by jrc13245 2026-03-21 21:03:00 +01:00
Meow 0a4881b2c0 added new skin modules. 2026-03-20 19:23:37 +01:00
Meow 28f7240e7c fixed raidframes and inspect 2026-03-20 19:05:51 +01:00
Meow 04a2413d72 renamed raidmers to marktracking for clarity
renamed raidmers to marktracking for clarity
2026-02-24 18:20:11 +01:00
Meow 236a2fce6c perf/fix: port experimental optimizations + focus rework + raidmarkers
Performance optimizations ported from experimental:
- libdebuff: replace 5s startup timer with next-frame defer
- libdebuff: use arg6 auraSlot directly (Nampower 2.29+) instead of GetDebuffSlotMap lookup
- libdebuff: invalidate slotMapCache on PLAYER_TARGET_CHANGED
- nameplates: detect Nampower 2.27.2+ for GUID-based nameplate lookup

Raidmarkers module ported from experimental:
- added raidmarkers.lua
- added config defaults and GUI section
- registered in modules.xml

focus.lua rework:
- removed CastSpellByNameNoQueue (Nampower's CastSpellByName now supports unit tokens/GUIDs natively)
- /focus Name: TargetByName with correct previous target restore + ClearTarget() fallback
- /focus Name: prefix match via SlashCmdList.TARGET when exact match fails
- suppress UI_ERROR_MESSAGE during targeting attempts

swingtimer fixes:
- non-Hunter ranged bar now fills left->right like MH/OH
- fix 1px artifact on Hunter bar center by using Hide() instead of SetWidth(0.1)
2026-02-22 19:08:37 +01:00
Meow b5a7e86ab4 new module named swingtimer
new module named swingtimer
2026-02-18 16:13:17 +01:00
Meow 37beca7103 New throttling menu
New throttling menu
2026-02-06 08:07:33 +01: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 8dde1c29cc gryphons: add new module to display gryphon textures
Thanks @mrrosh for supporting this feature for so long as standalone
module and making so many people happy with it. This now is an entire
rewrite of it, but still would not have been possible without his work.
2025-05-07 17:36:05 +02: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 f2954cf779 turtle-wow: add module to fix compatibility issues 2023-10-03 13:26:32 +02:00
shagu 80f5b9ef0d libpredict: add library to handle heal predictions
* move "prediction" from module into a library
* reduce the resize and trigger calls on unitframes
* improve performance by caching frames and events
* introduce later API commands such as:
    - UnitGetIncomingHeals(unit)
    - UnitHasIncomingResurrection(unit)
* update unitframes to make use of new api calls
* delay spell cache loading to not overwrite previous
* remove all unitframe specific code from library
2020-11-27 15:22:01 +01:00
shagu 9cbfa6f0d2 macrotweak: strip macro calls from chat history 2020-11-15 15:37:50 +01:00
shagu 6aea5b5803 questitem: show related questname on questitems 2020-07-03 16:25:17 +02:00
shagu ad0f769715 mapcolors: module to show class colored circles 2020-06-14 20:19:10 +02:00
shagu 50d2e9d535 libtotem: initial version of totem api for vanilla 2020-04-26 14:56:26 +02:00
shagu 040a5052bd totem: add buff display for current totems
This makes use of the TotemAPI that was introduced in Patch 2.4.
So there's no vanilla version yet.
2020-04-26 11:52:23 +02:00
shagu aab545e3fc libhealth: initial version of npc health detection 2020-03-24 17:58:25 +01:00
shagu 081134979e energytick: add initial manatick support
* add option to enable mana ticks
* move into seperate module
2020-03-16 17:02:26 +01:00
shagu 967f0d4515 thirdparty: split glue code into expansions 2020-03-02 18:01:49 +01:00
attackpure100 050790b7e9 tttarget: add tttarget unitframe and config 2019-12-26 10:08:23 +01:00
shagu b4925fc9fb combatlogfix: auto reset combat logs for tbc
Fixes the combatlog break bugs that exist since patch 2.4 by simply
clearing the whole log on every update. This is required in order
to receive new log events. Otherwise, addons like Omen or Recount
won't work and simply don't receive any new data at a given time.
2019-12-17 11:52:13 +01: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
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 6e0382ff8c addoncompat: an addon compatibility checker
* Checks for redundant and incompatible addons.
* Asks the user for soft-conflicts if they want to keep it
* Saves soft-conflicts to not annoy the user on every login
* Automatically disables hard-conflicts
2019-06-11 19:55:33 +02:00
shagu cbbe5c672e core: split toc list into xml files 2019-06-10 15:17:34 +02:00