/branches
## Interface: 30000 |
## Title: AlphaMap |c0000FF00(v3.52.30000)|r |
## Version: 3.52.30000.Beta |
## Title: AlphaMap |c0000FF00(v3.53.30000.BETA)|r |
## Version: 3.53.30000.BETA |
## Author: Telic telic@hotmail.co.uk (Original v1 Jeromy Walsh) |
## Notes: A semi-transparent worldmap overlay that does not interrupt character control. Update by telic@hotmail.co.uk. |
## OptionalDeps: Thottbot, MapNotes, MetaMap, CT_MapMod, FlightMap, NotesUNeed, GuildMap, AtlasLoot, Atlas, MobileMinimapButtons |
## SavedVariables: AlphaMapConfig, AlphaMapConfigurations, AlphaMapRecent, AlphaMapRaidProgress, AlphaMapWatchList, AlphaMapVersion, AM_MapNotes |
AlphaMap.xml |
v3.52.30000 (Fan's Update) |
v3.53.30000.BETA (Fan's Update) |
Includes Maps for Instances, Battlegrounds, & World Bosses, and the major non-Instance Cave systems |
Change History |
-------------- |
Changes in v3.53.30000.BETA from v3.52.30000 |
-------------------------------------------- |
- POI Markers like Dungeon Locations now moved to seperate Plugin modules |
Changes in v3.52.30000 from v3.51.30000 |
--------------------------------------- |
Changes in v3.51.30000.BETA from v3.50.30000 |
-------------------------------------------- |
ALPHA_MAP_VERSION = "3.52.30000"; |
ALPHA_MAP_VERSION = "3.53.30000.BETA"; |
-- AlphaMap MapNotes compatible version |
AMWM_MAPNOTES_VERSION = "3.40.20003"; |
<Script file="localisation.fr.lua"/> |
<Script file="localisation.tw.lua"/> |
<Script file="localisation.cn.lua"/> |
<Script file="AM_InstanceLocs.en.lua"/> |
<Script file="AM_InstanceLocs.de.lua"/> |
<Script file="AM_InstanceLocs.fr.lua"/> |
<Script file="AM_InstanceLocs.cn.lua"/> |
<Script file="AM_InstanceLocs.tw.lua"/> |
<Script file="AlphaMap.lua"/> |
<Frame name="AlphaMapUnitTemplate" hidden="true" virtual="true"> |
return "error"; |
end |
function AML.DisplayInstanceLocs(c, z, m, frame) |
local note, noteT; |
local width = frame:GetWidth(); |
local height = frame:GetHeight(); |
local amUnitScale = AlphaMap_GetUnitScale(); |
local x, y; |
local i = 0; |
local lFloor = GetCurrentMapDungeonLevel(); |
if ( ( AlphaMapConfig.iLocs ) and ( AM_INSTANCE_LOCS ) and ( AM_INSTANCE_LOCS[m] ) ) then |
for _, poi in ipairs(AM_INSTANCE_LOCS[m]) do |
if ( ( not poi.floor ) or ( poi.floor == lFloor ) ) then |
i = i + 1; |
note = getglobal("AM_POI_Note_"..i); |
if ( not note ) then |
note = CreateFrame("Button", "AM_POI_Note_"..i, frame, "AM_GenPOI_Template"); |
note:SetScript("OnEnter", function(self) |
local x, y = GetCursorPosition(); |
if ( x > 500 ) then |
GameTooltip:SetOwner(this, "ANCHOR_TOPRIGHT"); |
else |
GameTooltip:SetOwner(this, "ANCHOR_TOPLEFT"); |
end |
GameTooltip:ClearLines(); |
GameTooltip:AddLine(self.name); |
local i = 1; |
while( self.tooltip[i] ) do |
GameTooltip:AddDoubleLine(self.tooltip[i], self.tooltip[i+1]); |
i = i + 2; |
end |
AlphaMap_ShowTooltip(); |
end) |
note:SetScript("OnLeave", function() |
AlphaMap_HideTooltip(); |
end) |
note:SetScript("OnClick", function(self, mouseButton) |
if ( mouseButton == "LeftButton" ) then |
local map = AML.AlphaMap_GetMap(self.toMap); |
if ( map ) then |
AlphaMapFrame_Update( map ); |
elseif ( self.toWorldMap ) then |
local cont, zone = AML.AlphaMap_GetWorldMap(self.toWorldMap); |
if ( cont ~= "error" ) then |
SetMapZoom(cont, zone); -- ))(( |
AM_WorldMapSelected = true; |
AM_ManualMapChange = true; |
selectedCont = GetCurrentMapContinent(); |
selectedZone = GetCurrentMapZone(); |
selectedMap = GetMapInfo(); |
AlphaMapFrame_Update(); |
end |
end |
end |
end) |
end |
noteT = getglobal("AM_POI_Note_"..i.."Texture"); |
noteT:SetTexture( poi.icon ); |
------------------------------------------------------ |
-- Currently Global functions |
x = ( poi.x * width ) / amUnitScale; |
y = ( poi.y * height ) / amUnitScale; |
note.name = poi.name; |
note.tooltip = poi.tooltip; |
note.toMap = poi.toMap; |
note.toWorldMap = poi.toWorldMap; |
note:ClearAllPoints(); |
note:SetScale(amUnitScale); |
note:SetPoint("CENTER", frame, "TOPLEFT", x, -y); |
note:Show(); |
end |
end |
end |
i = i + 1; |
note = getglobal("AM_POI_Note_"..i); |
while (note) do |
note:Hide(); |
i = i + 1; |
note = getglobal("AM_POI_Note_"..i); |
end |
end |
-- Called when AlphaMap is loaded |
function AlphaMapFrame_OnLoad() |
SlashCmdList["ALPHAMAPSLASH"] = AlphaMap_Main_ChatCommandHandler; |
AlphaMapConfig.mute = false; |
end |
if ( AlphaMapConfig.iLocs == nil ) then |
AlphaMapConfig.iLocs = true; |
end |
if ( AlphaMapConfig.coords == nil ) then |
AlphaMapConfig.coords = true; |
end |
AM_SaveGlobals(); |
---------------------------------------------------------------------------------------------------------- |
local i = #(AML.CustomPOIControls) + 1; |
local controlButton = CreateFrame("Button", "AM_POIC"..i, UIParent, "AM_GenPOIControl_Template"); |
controlButton.id = i; |
local controlButtonT = getglobal("AM_POIC"..i.."Texture"); |
controlButtonT:SetTexture("Interface\\AddOns\\AlphaMap\\Artwork\\Raid"); |
local controlButtonC = getglobal("AM_POIC"..i.."Check"); |
controlButtonC:SetScript("OnShow", function(self) |
self:SetFrameLevel( self:GetParent():GetFrameLevel() + 3 ); |
if ( AlphaMapConfig.iLocs ) then |
self:SetChecked(1); |
else |
self:SetChecked(0); |
end |
end) |
controlButtonC:SetScript("OnClick", function(self) |
if ( self:GetChecked() ) then |
PlaySound("igMainMenuOptionCheckBoxOff"); |
AlphaMapConfig.iLocs = false; |
self:SetChecked(0); |
else |
PlaySound("igMainMenuOptionCheckBoxOn"); |
AlphaMapConfig.iLocs = true; |
self:SetChecked(1); |
end |
AM_SaveGlobals(); |
AlphaMapUnits_Update(1); |
end) |
controlButton:SetScript("OnClick", function(self) |
local v = getglobal(self:GetName() .. "Check"); |
if ( v ) then |
self = v; |
v = v:GetScript("OnClick"); |
if ( v ) then v(self); end |
end |
end) |
table.insert(AML.CustomPOIControls, controlButton); |
if ( AlphaMapConfig.gmap == true ) then |
AM_SetupGameMap(); |
end |
end |
end); |
table.insert(AML.CustomPOIs, AML.DisplayInstanceLocs); |
-- signal that all variables have been loaded and the AddOn is ready to go... |
amLoaded = true; |
end |
AlphaMapConfig.mute = false; |
AlphaMapConfig.coords = true; |
AlphaMapConfig.hTips = true; |
AlphaMapConfig.iLocs = true; |
AlphaMapConfig.sliderLocX = AM_DefaultSliderX; |
AlphaMapConfig.sliderLocY = AM_DefaultSliderY; |
AlphaMapConfigurations[ configuration ].hTips = AlphaMapConfig.hTips; |
AlphaMapConfigurations[ configuration ].iLocs = AlphaMapConfig.iLocs; |
end |
end |
AM_botOverlay:Hide(); |
end |
-- Display Control Buttons for POI Display Plugins |
-- like Instance Locations, Mail Boxes, etc. |
if ( ( IsControlKeyDown() ) and ( IsAltKeyDown() ) and ( not AlphaMapAlphaMapFrame:IsVisible() ) |
and ( not AML.controlsVisible ) ) then |