From 313327edca06c548358fd0765e5156e0fb5f51ac Mon Sep 17 00:00:00 2001 From: James Whitehead II Date: Tue, 5 Jul 2011 11:24:51 +0100 Subject: [PATCH] Update LibMapData to fix span/firelands --- libs/LibMapData-1.0/library.lua | 47 +++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/libs/LibMapData-1.0/library.lua b/libs/LibMapData-1.0/library.lua index 672f999..6f86d63 100644 --- a/libs/LibMapData-1.0/library.lua +++ b/libs/LibMapData-1.0/library.lua @@ -2,7 +2,7 @@ Library contains a dataset for Map file names and floors giving the raw map data it also has a few functions to help determine distance and directions. --]] -local MAJOR, MINOR = "LibMapData-1.0", tonumber("87") or 999 +local MAJOR, MINOR = "LibMapData-1.0", tonumber("94") or 999 assert(LibStub, MAJOR.." requires LibStub") local lib = LibStub:NewLibrary(MAJOR, MINOR) @@ -28,6 +28,11 @@ lib.MAP_BG = 3 -- estimated world map size local worldMapWidth = 47714.278579261 local worlMapHeight = 31809.64857610083 +local missingCache = { + data = {}, + aid = {}, + locale = {} +} local contOffsets = { [1] = {-8590.40725049343,5628.692856102324}, @@ -58,9 +63,36 @@ do ['floors'] = 0,['name'] = WORLD_MAP, ['continent'] = 0, ['phase'] = 0, ['map_type'] = 0, [1] = {0,0,0,0,0,0,0} } - setmetatable(mapData, { __index = function(t, k) if k then DEFAULT_CHAT_FRAME:AddMessage("LibMapData-1.0 is missing data for "..k) end; return emptyMaps end }) - setmetatable(idToMap, { __index = function(t, k) if k then DEFAULT_CHAT_FRAME:AddMessage("LibMapData-1.0 is missing data for area id "..k) end; return k end}) - setmetatable(mapToLocal, { __index = function(t,k) if k then DEFAULT_CHAT_FRAME:AddMessage("LibMapData-1.0 is missing localized data for "..k) end; return k end}) + setmetatable(mapData, { __index = function(t, k) + if k then + if missingCache.data[k] == nil then + DEFAULT_CHAT_FRAME:AddMessage("LibMapData-1.0 is missing data for "..k) + missingCache.data[k] = true + end + end + return emptyMaps + end + }) + setmetatable(idToMap, { __index = function(t, k) + if k then + if missingCache.aid[k] == nil then + DEFAULT_CHAT_FRAME:AddMessage("LibMapData-1.0 is missing data for area id "..k) + missingCache.aid[k] = true + end + end + return k + end + }) + setmetatable(mapToLocal, { __index = function(t,k) + if k then + if missingCache.locale[k] == nil then + DEFAULT_CHAT_FRAME:AddMessage("LibMapData-1.0 is missing localized data for "..k) + missingCache.locale[k] = true + end + end + return k + end + }) mapData[795] = { ['floors'] = 0, ['name'] = "MoltenFront", ['rzti'] = 861, ['map_type'] = 0, ['continent'] = 0, ['transform'] = 0, [1] = {1189.58331298828,793.749938964844,-933.333312988281,1702.08325195312,256.25,908.333312988281}, @@ -336,9 +368,10 @@ do [1] = { 972.41796875,648.279022216797,1205.71997070312,200.404998779297,233.302001953125,848.684020996094 }, } mapData[800] = { - ['floors'] = 2, ['name'] = "Firelands", ['rzti'] = 720, ['map_type'] = 2, ['continent'] = 0, ['transform'] = 0, - [1] = { 375.0,250.0,-302.083312988281,343.75,-677.083312988281,593.75 }, - [2] = { 1440.0,960.0,770.0,265.0,-670.0,1225.0 }, + ['floors'] = 3, ['name'] = "Firelands", ['rzti'] = 720, ['map_type'] = 2, ['continent'] = 0, ['transform'] = 0, + [1] = {1587.49993896484,1058.3332824707,-718.75,424.999969482422,868.749938964844,-633.333312988281}, + [2] = { 375.0,250.0,-302.083312988281,343.75,-677.083312988281,593.75 }, + [3] = { 1440.0,960.0,770.0,265.0,-670.0,1225.0 }, } mapData[763] = { ['floors'] = 4, ['name'] = "Scholomance", ['rzti'] = 289, ['map_type'] = 1, ['continent'] = 0, ['transform'] = 0, -- 1.7.9.5