commit 8ea5c81789
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date: Mon Aug 24 23:40:01 2026 -0500
bump CAPI min to 1.12.4
commit 39a46563a1
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date: Mon Aug 24 23:35:49 2026 -0500
tracking: use native ClassicAPI tracking API
Replace the hardcoded knownTrackingSpells class table and the
icon-substring spellbook scan with ClassicAPI's native tracking
functions:
- RefreshSpells now enumerates GetNumTrackingTypes() / GetTrackingInfo(),
which the DLL derives from the spellbook by tracking-aura effect. This
drops the per-class spell/icon table and picks up server-custom
trackers (e.g. Turtle's Find Trees) automatically.
- Selecting a tracker in the menu uses SetTracking(index) instead of
CastSpell(slot, BOOKTYPE_SPELL).
- Keep the Druid Cat Form gate on Track Humanoids (5225) and the
existing invalidSpells filter. Falls back to no entries if the tracking
API is absent.
Active icon (GetTrackingTexture), cancel (CancelTrackingBuff), and the
hover tooltip (GameTooltip:SetTrackingSpell) were already native and are
unchanged.
Fixes#42
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
The byte-2-of-UNIT_BYTES_1 extraction this function did manually
(math.floor(b/65536) - math.floor(b/16777216)*256 on the GetUnitField
return) is precisely what GetShapeshiftFormID reads under the hood —
descriptor +0x212. Collapses to a one-liner that doesn't need to
mirror the engine's byte layout in Lua.