From cd7c867f00446f8e35e076aea8c3a57b66479abf Mon Sep 17 00:00:00 2001 From: MarcelineVQ Date: Sun, 8 Mar 2026 10:05:41 -0700 Subject: [PATCH] Add embedded Brainwasher/Poison BLP assets, fix GO tracking activation Convert custom icon PNGs to BLP2 DXT5 with correct header layout (mipSizes at 0x54). Fix hasActiveTracking() to check g_go_id_tracking so brainwasher works standalone. Support per-category scale in Lua. --- src/minimapicons/addon/MinimapIcons.lua | 6 +++--- .../Interface/Minimap/Tracking/Brainwasher.blp | Bin 0 -> 5268 bytes .../assets/Interface/Minimap/Tracking/Poison.blp | Bin 0 -> 5268 bytes src/minimapicons/minimapicons.zig | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 src/minimapicons/assets/Interface/Minimap/Tracking/Brainwasher.blp create mode 100644 src/minimapicons/assets/Interface/Minimap/Tracking/Poison.blp diff --git a/src/minimapicons/addon/MinimapIcons.lua b/src/minimapicons/addon/MinimapIcons.lua index 19c4f7a..a49dcf4 100644 --- a/src/minimapicons/addon/MinimapIcons.lua +++ b/src/minimapicons/addon/MinimapIcons.lua @@ -87,13 +87,13 @@ local NPC_CATEGORIES = { { name = "Auctioneer", trackingType = "auctioneer", icon = "Interface\\Minimap\\Tracking\\Auctioneer" }, { name = "Banker", trackingType = "banker", icon = "Interface\\Minimap\\Tracking\\Banker" }, { name = "Battle Master", trackingType = "battlemaster", icon = "Interface\\Minimap\\Tracking\\BattleMaster" }, - { name = "Brainwasher", trackingType = "brainwasher", icon = "Interface\\Icons\\INV_Gizmo_01" }, + { name = "Brainwasher", trackingType = "brainwasher", icon = "Interface\\Minimap\\Tracking\\Brainwasher", scale = 1.7 }, { name = "Class Trainer", trackingType = "trainer", icon = "Interface\\Minimap\\Tracking\\Class", getFilter = function() return (UnitClass("player")) end }, { name = "Flight Master", trackingType = "flightmaster", icon = "Interface\\Minimap\\Tracking\\FlightMaster" }, { name = "Innkeeper", trackingType = "innkeeper", icon = "Interface\\Minimap\\Tracking\\Innkeeper" }, { name = "Mailbox", trackingType = "mailbox", icon = "Interface\\Minimap\\Tracking\\Mailbox" }, - { name = "Poison Vendor", trackingType = "vendor", icon = "Interface\\Icons\\INV_Potion_19", + { name = "Poison Vendor", trackingType = "vendor", icon = "Interface\\Minimap\\Tracking\\Poison", getFilter = function() return getLocaleFilter(POISON_FILTERS) end }, { name = "Profession Trainer", trackingType = "trainer", icon = "Interface\\Minimap\\Tracking\\Profession", getExclude = function() return UnitClass("player") end }, @@ -124,7 +124,7 @@ local function updateDllTracking() local inc = cat.getFilter and cat.getFilter() or nil local exc = cat.getExclude and cat.getExclude() or nil if activeNpcCategories[cat.name] then - SetObjectTypeBlip(cat.trackingType, cat.icon, 1.5, inc, exc) + SetObjectTypeBlip(cat.trackingType, cat.icon, cat.scale or 1.5, inc, exc) else SetObjectTypeBlip(cat.trackingType, nil, nil, inc, exc) end diff --git a/src/minimapicons/assets/Interface/Minimap/Tracking/Brainwasher.blp b/src/minimapicons/assets/Interface/Minimap/Tracking/Brainwasher.blp new file mode 100644 index 0000000000000000000000000000000000000000..6d4b0dd935e8528d037231fd26dece5f179eaec9 GIT binary patch literal 5268 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