From d13710c5a4eb0dd9a0f31c125c14909f4b14dc65 Mon Sep 17 00:00:00 2001 From: Brues <5278969+brues-code@users.noreply.github.com> Date: Wed, 5 Aug 2026 03:02:43 -0500 Subject: [PATCH] Rebuild macro icon list from the icon data provider Hook Blizzard_MacroUI and replace UpdateMacroIconFilenames. The new function reads each icon from IconDataProviderMixin, strips the path prefix, and adds the name to MACRO_ICON_FILENAMES. A seen table skips duplicate names. --- modules/turtle-wow.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/turtle-wow.lua b/modules/turtle-wow.lua index 613d7802..31f98361 100644 --- a/modules/turtle-wow.lua +++ b/modules/turtle-wow.lua @@ -355,6 +355,24 @@ pfUI:RegisterModule("turtle-wow", function () end end) + HookAddonOrVariable("Blizzard_MacroUI", function() + if type(UpdateMacroIconFilenames) ~= "function" then return end + function _G.UpdateMacroIconFilenames() + wipe(MACRO_ICON_FILENAMES) + local provider = CreateAndInitFromMixin(IconDataProviderMixin, IconDataProviderExtraType.Spellbook) + local seen = {} + for i = 1, provider:GetNumIcons() do + -- uppercase, prefix-stripped basename, matching Blizzard's original + local icon = string.gsub(string.upper(provider:GetIconByIndex(i)), "INTERFACE\\ICONS\\", "") + if not seen[icon] then + seen[icon] = true + table.insert(MACRO_ICON_FILENAMES, icon) + end + end + provider:Release() + end + end) + -- add turtle-wow sell values pfSellData = {