Brues
822c873132
castbar: event-driven rewrite on ClassicAPI C_Spell + nampower events
...
Drive the cast bar from cast lifecycle events instead of polling C_Spell
every frame. OnUpdate now only animates a stamped start/end and fades out;
all state transitions come from events:
- player: vanilla SPELLCAST_START / _STOP / _FAILED / _INTERRUPTED /
_CHANNEL_START / _CHANNEL_STOP, plus nampower SPELL_START_SELF (the only
signal for a chained same-spell recast, which never runs the client cast
path) and SPELL_DELAYED_SELF for pushback (applied from its delayMs arg).
- non-player (target/focus): nampower SPELL_START_OTHER / SPELL_FAILED_OTHER
+ PLAYER_TARGET_CHANGED / PLAYER_FOCUS_CHANGED.
Data comes from ClassicAPI's C_Spell.UnitCastingInfo / UnitChannelInfo
(player exact; other units from the SMSG_SPELL_START cache). SPELL_START_*
re-polls are deferred one frame so ClassicAPI's packet co-hook has stamped
before the read. SPELLCAST_CHANNEL_STOP only clears when a channel is shown,
so a lagged channel-stop doesn't wipe a following cast's bar.
Remove the now-unused CASTBAR_EVENT_* constants from compat/vanilla.lua.
2026-06-25 22:38: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
0d9c3eacc2
fixed a rare lua error appearing when opening world map
2026-03-08 07:06:50 +01:00
shagu
703e93d021
compat: support up to 16 values in hooksecurefunc
2025-08-10 16:52:28 +02:00
shagu
67fe248600
compat: add return values to hooksecurefunc
2025-08-04 09:26:19 +02:00
shagu
73561eda4a
compat: make hooksecurefunc append by default
2025-07-30 20:18:52 +02:00
shagu
e5c2d08fbe
compat: allow table hooks in hooksecurefunc
2025-07-30 19:52:38 +02:00
shagu
8c7579ad26
castbar: reset delays on new spell casts
2020-12-08 21:56:39 +01:00
shagu
b903fffbfd
compat: replace max level var with existing one
2020-08-16 11:11:06 +02:00
shagu
0751ab31cd
compat: return when no item is given on vanilla
2020-07-10 16:57:00 +02:00
shagu
8e69c8b40b
compat: add RunMacroText function to vanilla api
2020-03-31 11:39:17 +02:00
shagu
149339839d
api: use backported getiteminfo for all versions
2020-01-06 11:15:38 +01:00
shagu
cf3bff92b2
bags: use already existing constant for max bags
2019-11-08 15:58:21 +01:00
shagu
1335624c65
bags: fix amount of bankslots in tbc
2019-11-07 22:11:23 +01:00
shagu
3b3f2279a1
xpbar: rewrite to support dynamic reputation bars
2019-08-31 19:02:56 +02: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
Artur Morozov
5082a7deb3
panel: add tbc compatibility for minimap zone text
2019-06-16 14:55:59 +02:00
Artur Morozov
08533849c5
tbc: fix micro menu
2019-06-13 18:40:50 +02:00
shagu
4fb8c6fdfa
compat: use string based client check
2019-06-10 17:11:29 +02:00
shagu
597f19dd55
api: add HookScript back to the core api
2019-04-14 15:15:10 +02:00
shagu
3069c2626e
unitframes: add securefuncs handling for TBC
2019-04-14 14:48:25 +02:00
shagu
bd4ace48c8
actionbar: make it work on tbc
2019-04-10 21:00:20 +02:00
shagu
156d858a2e
castbar: add pushback counter to channel bar
2018-11-10 13:41:58 +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
07ce172684
castbar: always update casting state
2018-11-01 16:22:30 +01:00
shagu
5dfe5a4899
compat: initial layout of client abstraction api
2018-11-01 14:55:29 +01:00