Commit Graph

67 Commits

Author SHA1 Message Date
Brues 5ed1d98ecc Raid Pets and Optimized Chat Bubble Styling
commit f19d7402810637fc32460864104cb792ac5af863
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Wed Jul 22 01:05:52 2026 -0500

    remove comment

commit 60f4968f06d19d42bdc6347f98ff4d5a34785e97
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Wed Jul 22 01:05:06 2026 -0500

    Bump ClassicAPI minimum version to 10705

    Update the minimum required ClassicAPI version from 10704 (1.7.4) to 10705 (1.7.5).

commit 088dba4c23f4aa7ce98b9ce9d75bc5892cd40520
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Wed Jul 22 01:04:04 2026 -0500

    Add raid-pet frames: an independent, roster-driven pet grid

    New "raidpet" unitframe type that shows raid members' pets (raidpet1..40)
    in their own movable block (pfRaidPetCluster), off by default. It's a
    flat pool of frames laid out by pfUI.uf.raid:LayoutPets straight from the
    raid roster -- cell N shows raidpet<N> -- so it's fully decoupled from how
    the raid grid arranges its own slots.

    Layout is independent of the raid grid: raidpet carries its own
    width/height plus a Layout section (raidlayout / raidpadding / raidfill),
    and its own Collapse Empty Slots toggle that packs only the pets that
    exist into the leading cells. The raid grid gets the same collapse option
    (sequential slot assignment in AddUnitToGroup instead of by subgroup).
    Collapsed pets re-pack on roster changes and on UNIT_PET so summons and
    dismisses track live without polling.

    Also:
    - unitframes: a "raidpet" branch in UpdateVisibility (hide when the pet is
      out of range or its raid<N> owner is gone), and fix cache_raid so the
      "pfRaid" prefix check doesn't misread pfRaidPet<n> frames (char 7 is
      non-numeric -> nil compare crash).
    - New "Owner Name" text option: on any pet frame (raidpet/partypet/pet) it
      shows the owner's class-colored name so you can tell whose pet it is.
    - unlock: a pfRaidPet drag cluster, a numeric-suffix guard so pfRaid no
      longer matches (and crashes on) pet frames, and RaidPet config mappings.
    - config/gui/translations for all of the above.

commit 52f02c8963fe7ec90f36100ebe069c7807529301
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Mon Jul 20 23:09:06 2026 -0500

    Enumerate chat bubbles via ClassicAPI instead of scanning WorldFrame

    ClassicAPI's C_ChatBubbles.GetAllChatBubbles() walks the engine's own
    bubble list and returns the exact set of live bubble frames, with real
    GetRegions(), so the decoration idiom works unchanged. Replace the
    WorldFrame:GetChildren() sweep and drop the IsBubble heuristic (unnamed
    frame whose first region is the ChatBubble-Background texture) -- the API
    only ever hands back bubbles, so that guess is both redundant and more
    fragile than the engine list. Cheaper too: it iterates only live bubbles
    rather than every world child on each chat event.
2026-07-23 23:08:05 -05:00
Brues 13a08b0ea3 Restore hooksecurefunc 2026-07-09 23:01:52 -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 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 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
Brues b18e6ffa67 refresh buff durations on player 2026-05-21 02:35:46 -05:00
Meow a1311d997e raidframe fixes 2026-03-20 21:02:13 +01:00
Meow e2f68a9dc1 removed debug code... opsie 2026-03-20 20:18:09 +01:00
Meow 28f7240e7c fixed raidframes and inspect 2026-03-20 19:05:51 +01:00
Meow d3d6d39f61 added missing nil check 2026-03-06 06:34:41 +01:00
Meow c7aca0de99 GUID replacements
* Replace all `local _, guid = UnitExists(unit)` with `GetUnitGUID(unit)` (Nampower 3.0.0+)
* Bump minimum required Nampower version to 3.0.0
2026-03-02 10:41:49 +01:00
Meow 54355c9019 enhanced merge into master
Final release!
2026-02-04 22:48:30 +01:00
Meow 30544e2acc raid roster update
raid roster fallback update changed to 1second (doesn't need more cause this is a backup)
2026-01-11 21:46:02 +01:00
Meow 7f93ebefaf Throttles
Added throttle for player castbar, player frame and Raidframes
2026-01-10 14:31:47 +01:00
Meow 9fc161df21 forgot raidframe throttle
Added additionally a raidframe roster throttle
2026-01-10 13:34:40 +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 6776905a98 raid: remove obsolete table size check 2025-06-17 09:03:52 +02:00
shagu 3d60b34385 raid: add toggle tank option to raid frame menu 2025-06-17 08:57:58 +02:00
shagu b14a314993 raid: use border size of alignment anchor 2021-12-13 04:13:37 +01:00
shagu dae0b40fe3 raid: add option to limit amount of raidframes 2020-07-01 17:29:46 +02:00
shagu 4c745cb20d raid: use seperate frame for the raid cluster 2020-04-03 00:59:57 +02:00
shagu 66fbc6c205 raid: add layouts and raidcluster frame 2020-04-02 17:54:30 +02:00
shagu 280e719a7d raid: remove redundant raidmember refresh 2020-03-24 17:52:01 +01:00
shagu 04c3213492 raid: use regular unitframe visibility function 2020-03-24 17:07:49 +01:00
shagu 4add42cdd4 raid: only run during raid and always set label 2020-03-05 19:28:47 +01:00
shagu 3334c7469f modules: make all modules aware of the new borders 2019-12-18 18:54:09 +01:00
shagu 8b406fb04b raid: fix raidframe groups for tbc 2019-09-15 17:25:16 +02:00
shagu e9237b59b2 core: use concrete string based client checks 2019-06-10 17:06:31 +02:00
shagu 42d62ac582 tbc: whitelist remaining unitframes for tbc 2019-04-16 20:50:44 +02:00
shagu d7c64d7d0a core: replace remaining getglobals in favor of _G 2019-04-06 14:30:31 +02:00
Road-block e50fabfff9 core: global environment cleanup 2019-03-31 14:59:21 +02:00
Sergio Álvarez 7586a24265 raid: dropdown option to set a player as tank 2018-05-20 14:55:28 +02:00
shagu da6ffe16d6 raid: only display active frames 2018-05-19 05:00:56 +02:00
shagu 673b18f4ad raid: only display active frames 2018-05-19 01:50:55 +02:00
shagu e0dee7091c raid: add config update function 2018-01-07 15:36:53 +01:00
shagu 90e529a55d unitframes: unify border values 2017-06-02 18:01:50 +02:00
shagu acd352dfb6 raid: fix portrait and sizes 2017-06-02 18:01:50 +02:00
shagu 63da4f7acb api: introduce new unitframes 2017-06-02 18:01:50 +02:00
shagu 72d1132dcc unitframes: add option for custom hp background 2017-03-04 16:17:14 +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 c0d33cd024 unitframes: add more click actions 2017-02-03 17:23:04 +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 cadff71362 unitframes: combine code and split new options 2016-12-13 22:54:17 +01:00
shagu 4cade63a14 raid: adjust default position to chatframe height 2016-12-10 16:58:25 +01:00
shagu 9614443ea7 uf: add option for dark and non-pastel colors 2016-12-02 19:51:00 +01:00
shagu 9f2920a4a4 raid: show debuffs on raidframes 2016-11-24 22:07:24 +01:00