diff --git a/MinimapIcon.lua b/MinimapIcon.lua new file mode 100644 index 0000000..81c69d6 --- /dev/null +++ b/MinimapIcon.lua @@ -0,0 +1,35 @@ +-- Custom WowRadio minimap icon. +-- Loaded after Core.lua so the button keeps all existing behavior. + +local function ApplyWowRadioMinimapIcon() +if not WowRadioMinimapButton then +return +end + +-- Do not depend on GetRegions()/region order on Vanilla. +-- Draw a dedicated texture directly over the stock icon instead. +if not WowRadioMinimapButton.WowRadioCustomIcon then +local icon = WowRadioMinimapButton:CreateTexture(nil, "ARTWORK") +icon:SetTexture("Interface\\AddOns\\WowRadio-Vanilla\\media\\WowRadio_MinimapIcon.tga") +-- The custom artwork is already tightly cropped for the 20x20 minimap slot. +icon:SetTexCoord(0, 1, 0, 1) +icon:SetWidth(20) +icon:SetHeight(20) +icon:SetPoint("TOPLEFT", WowRadioMinimapButton, "TOPLEFT", 7, -5) +WowRadioMinimapButton.WowRadioCustomIcon = icon +else +WowRadioMinimapButton.WowRadioCustomIcon:SetTexture("Interface\\AddOns\\WowRadio-Vanilla\\media\\WowRadio_MinimapIcon.tga") +WowRadioMinimapButton.WowRadioCustomIcon:SetTexCoord(0, 1, 0, 1) +WowRadioMinimapButton.WowRadioCustomIcon:Show() +end +end + +local originalCreateMinimapButton = WowRadio.CreateMinimapButton + +function WowRadio:CreateMinimapButton() +originalCreateMinimapButton(self) +ApplyWowRadioMinimapIcon() +end + +-- Also handle the case where the button already exists when this file loads. +ApplyWowRadioMinimapIcon() diff --git a/WowRadio-Vanilla.toc b/WowRadio-Vanilla.toc index 49636ee..24f7db4 100644 --- a/WowRadio-Vanilla.toc +++ b/WowRadio-Vanilla.toc @@ -21,3 +21,4 @@ Locale-enEN.lua Locale-enUS.lua Stations.lua Core.lua +MinimapIcon.lua diff --git a/media/WowRadio_MinimapIcon.tga b/media/WowRadio_MinimapIcon.tga new file mode 100644 index 0000000..5383821 Binary files /dev/null and b/media/WowRadio_MinimapIcon.tga differ