From 8a31e23f21b6f131086455b19c105524ecc1bab6 Mon Sep 17 00:00:00 2001 From: Ludovicus Date: Fri, 19 Jul 2019 17:29:00 -0400 Subject: [PATCH] Fix bugs in SetWaypoint() and add _displayID support. CF#422. --- TomTom_Waypoints.lua | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/TomTom_Waypoints.lua b/TomTom_Waypoints.lua index f535c99..b6fbc46 100755 --- a/TomTom_Waypoints.lua +++ b/TomTom_Waypoints.lua @@ -86,10 +86,7 @@ function TomTom:SetWaypoint(waypoint, callbacks, show_minimap, show_world) table.insert(all_points, minimap) minimap.icon = minimap:CreateTexture(nil,"OVERLAY") - minimap.icon:SetTexture(waypoint.minimap_icon or "Interface\\AddOns\\TomTom\\Images\\GoldGreenDot") minimap.icon:SetPoint("CENTER", 0, 0) - minimap.icon:SetHeight(waypoint.minimap_icon_size or 16) - minimap.icon:SetWidth(waypoint.minimap_icon_size or 16) minimap.icon:SetBlendMode("ADD") -- ADD/BLEND minimap.arrow = minimap:CreateTexture(nil,"OVERLAY") @@ -115,13 +112,10 @@ function TomTom:SetWaypoint(waypoint, callbacks, show_minimap, show_world) end local worldmap = CreateFrame("Button", nil, TomTomMapOverlay) - worldmap:SetHeight(waypoint.worldmap_icon_size or 16) - worldmap:SetWidth(waypoint.worldmap_icon_size or 16) worldmap:RegisterForClicks("RightButtonUp") worldmap.icon = worldmap:CreateTexture(nil, "OVERLAY") worldmap.icon:SetAllPoints() worldmap.icon:SetBlendMode("BLEND") - worldmap.icon:SetTexture(waypoint.worldmap_icon or "Interface\\AddOns\\TomTom\\Images\\GoldGreenDot") worldmap:RegisterEvent("NEW_WMO_CHUNK") worldmap:SetScript("OnEnter", World_OnEnter) worldmap:SetScript("OnLeave", World_OnLeave) @@ -142,6 +136,24 @@ function TomTom:SetWaypoint(waypoint, callbacks, show_minimap, show_world) point.worldmap.callbacks = callbacks and callbacks.world point.minimap.callbacks = callbacks and callbacks.minimap + -- Set up the minimap.icon + if waypoint.minimap_displayID then + SetPortraitTextureFromCreatureDisplayID(point.minimap.icon, waypoint.minimap_displayID) + else + point.minimap.icon:SetTexture(waypoint.minimap_icon or "Interface\\AddOns\\TomTom\\Images\\GoldGreenDot") + end + point.minimap.icon:SetHeight(waypoint.minimap_icon_size or 16) + point.minimap.icon:SetWidth(waypoint.minimap_icon_size or 16) + + -- Set up the worldmap.icon + if waypoint.worldmap_displayID then + SetPortraitTextureFromCreatureDisplayID(point.worldmap.icon, waypoint.worldmap_displayID) + else + point.minimap.icon:SetTexture(waypoint.worldmap_icon or "Interface\\AddOns\\TomTom\\Images\\GoldGreenDot") + end + point.worldmap.icon:SetHeight(waypoint.worldmap_icon_size or 16) + point.worldmap.icon:SetWidth(waypoint.worldmap_icon_size or 16) + -- Process the callbacks table to put distances in a consumable format if callbacks and callbacks.distance then point.dlist = {} -- 1.7.9.5