Quantcast

Use HereBeDragons-2.02-release-10-gd4da4b5 till next release.

Ludovicus [02-02-20 - 22:49]
Use HereBeDragons-2.02-release-10-gd4da4b5 till next release.
Filename
libs/HereBeDragons/CHANGELOG.md
libs/HereBeDragons/HereBeDragons-2.0.lua
libs/HereBeDragons/HereBeDragons-Pins-2.0.lua
diff --git a/libs/HereBeDragons/CHANGELOG.md b/libs/HereBeDragons/CHANGELOG.md
index 2edf0ca..93e111e 100755
--- a/libs/HereBeDragons/CHANGELOG.md
+++ b/libs/HereBeDragons/CHANGELOG.md
@@ -1,11 +1,15 @@
 # Lib: HereBeDragons

-## [2.02-release](https://github.com/Nevcairiel/HereBeDragons/tree/2.02-release) (2019-07-24)
-[Full Changelog](https://github.com/Nevcairiel/HereBeDragons/compare/2.01-release...2.02-release)
+## [2.02-release-10-gd4da4b5](https://github.com/Nevcairiel/HereBeDragons/tree/d4da4b5ce4d13617d23f1d5a4205fb3e5b641df2) (2020-02-02)
+[Full Changelog](https://github.com/Nevcairiel/HereBeDragons/compare/2.02-release...d4da4b5ce4d13617d23f1d5a4205fb3e5b641df2)

-- Update TOC
-- Add World Map Data for Classic
-- Preliminary WoW Classic support
-- Add travis-ci support
-- Add LuaCheck and EditorConfig, and clean sources to pass
-- Fill in the map list by iterating over all known maps, in addition to processing the child tree
+- Update TOC for 8.3
+- Add static override for the minor vision in the Vale of Eternal Bossoms
+- Check for existing static overrides as well
+- Avoid dynamically mapping instances in both directions
+- Properly mark variables as unused
+- Add Uldum N'zoth Invasion Scenario override
+- Add Arms Warrior Artifact Scenario override
+- Add a dynamic instance ID override tracker for unknown scenarios
+- Consistently specify an error level
+- Add a type check for showFlag, otherwise it might error later
diff --git a/libs/HereBeDragons/HereBeDragons-2.0.lua b/libs/HereBeDragons/HereBeDragons-2.0.lua
index bfd1df8..bbcc3be 100755
--- a/libs/HereBeDragons/HereBeDragons-2.0.lua
+++ b/libs/HereBeDragons/HereBeDragons-2.0.lua
@@ -1,6 +1,6 @@
 -- HereBeDragons is a data API for the World of Warcraft mapping system

-local MAJOR, MINOR = "HereBeDragons-2.0", 10
+local MAJOR, MINOR = "HereBeDragons-2.0", 13
 assert(LibStub, MAJOR .. " requires LibStub")

 local HereBeDragons, oldversion = LibStub:NewLibrary(MAJOR, MINOR)
@@ -66,7 +66,8 @@ local instanceIDOverrides = {
     [1626] = 1220, -- Suramar Withered Scenario
     [1662] = 1220, -- Suramar Invasion Scenario
     -- BfA
-    [2241] = 1,    -- Uldum N'zoth invasion
+    [2241] = 1,    -- Uldum N'zoth assault
+    [2275] = 870,  -- Vale of Eternal Blossoms N'zoth Minor Vision
 }

 local dynamicInstanceIDOverrides = {}
@@ -254,7 +255,7 @@ local function UpdateCurrentPosition(instanceCheck)
     -- try to override the instance if possible
     if instanceCheck then
         local _x, _y, instance = HereBeDragons:GetPlayerWorldPosition()
-        if instance and mapData[uiMapID] and mapData[uiMapID].instance ~= instance and uiMapID ~= -1 and not dynamicInstanceIDOverrides[instance] then
+        if instance and mapData[uiMapID] and mapData[uiMapID].instance ~= instance and uiMapID ~= -1 and not instanceIDOverrides[instance] and not instanceIDOverrides[mapData[uiMapID].instance] then
             dynamicInstanceIDOverrides[instance] = mapData[uiMapID].instance
         end
     end
diff --git a/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua b/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua
index 6470ec9..4fddedd 100755
--- a/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua
+++ b/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua
@@ -1,6 +1,6 @@
 -- HereBeDragons-Pins is a library to show pins/icons on the world map and minimap

-local MAJOR, MINOR = "HereBeDragons-Pins-2.0", 6
+local MAJOR, MINOR = "HereBeDragons-Pins-2.0", 7
 assert(LibStub, MAJOR .. " requires LibStub")

 local pins, _oldversion = LibStub:NewLibrary(MAJOR, MINOR)
@@ -516,7 +516,7 @@ HBD.RegisterCallback(pins, "PlayerZoneChanged", UpdateMinimap)
 -- @param floatOnEdge flag if the icon should float on the edge of the minimap when going out of range, or hide immediately (default false)
 function pins:AddMinimapIconWorld(ref, icon, instanceID, x, y, floatOnEdge)
     if not ref then
-        error(MAJOR..": AddMinimapIconWorld: 'ref' must not be nil")
+        error(MAJOR..": AddMinimapIconWorld: 'ref' must not be nil", 2)
     end
     if type(icon) ~= "table" or not icon.SetPoint then
         error(MAJOR..": AddMinimapIconWorld: 'icon' must be a frame", 2)
@@ -556,13 +556,13 @@ end
 -- @param floatOnEdge flag if the icon should float on the edge of the minimap when going out of range, or hide immediately (default false)
 function pins:AddMinimapIconMap(ref, icon, uiMapID, x, y, showInParentZone, floatOnEdge)
     if not ref then
-        error(MAJOR..": AddMinimapIconMap: 'ref' must not be nil")
+        error(MAJOR..": AddMinimapIconMap: 'ref' must not be nil", 2)
     end
     if type(icon) ~= "table" or not icon.SetPoint then
-        error(MAJOR..": AddMinimapIconMap: 'icon' must be a frame")
+        error(MAJOR..": AddMinimapIconMap: 'icon' must be a frame", 2)
     end
     if type(uiMapID) ~= "number" or type(x) ~= "number" or type(y) ~= "number" then
-        error(MAJOR..": AddMinimapIconMap: 'uiMapID', 'x' and 'y' must be numbers")
+        error(MAJOR..": AddMinimapIconMap: 'uiMapID', 'x' and 'y' must be numbers", 2)
     end

     -- convert to world coordinates and use our known adding function
@@ -642,7 +642,7 @@ HBD_PINS_WORLDMAP_SHOW_WORLD     = 3
 -- @param frameLevel Optional Frame Level type registered with the WorldMapFrame, defaults to PIN_FRAME_LEVEL_AREA_POI
 function pins:AddWorldMapIconWorld(ref, icon, instanceID, x, y, showFlag, frameLevel)
     if not ref then
-        error(MAJOR..": AddWorldMapIconWorld: 'ref' must not be nil")
+        error(MAJOR..": AddWorldMapIconWorld: 'ref' must not be nil", 2)
     end
     if type(icon) ~= "table" or not icon.SetPoint then
         error(MAJOR..": AddWorldMapIconWorld: 'icon' must be a frame", 2)
@@ -650,6 +650,9 @@ function pins:AddWorldMapIconWorld(ref, icon, instanceID, x, y, showFlag, frameL
     if type(instanceID) ~= "number" or type(x) ~= "number" or type(y) ~= "number" then
         error(MAJOR..": AddWorldMapIconWorld: 'instanceID', 'x' and 'y' must be numbers", 2)
     end
+    if showFlag ~= nil and type(showFlag) ~= "number" then
+        error(MAJOR..": AddWorldMapIconWorld: 'showFlag' must be a number (or nil)", 2)
+    end

     if not worldmapPinRegistry[ref] then
         worldmapPinRegistry[ref] = {}
@@ -680,13 +683,16 @@ end
 -- @param frameLevel Optional Frame Level type registered with the WorldMapFrame, defaults to PIN_FRAME_LEVEL_AREA_POI
 function pins:AddWorldMapIconMap(ref, icon, uiMapID, x, y, showFlag, frameLevel)
     if not ref then
-        error(MAJOR..": AddWorldMapIconMap: 'ref' must not be nil")
+        error(MAJOR..": AddWorldMapIconMap: 'ref' must not be nil", 2)
     end
     if type(icon) ~= "table" or not icon.SetPoint then
-        error(MAJOR..": AddWorldMapIconMap: 'icon' must be a frame")
+        error(MAJOR..": AddWorldMapIconMap: 'icon' must be a frame", 2)
     end
     if type(uiMapID) ~= "number" or type(x) ~= "number" or type(y) ~= "number" then
-        error(MAJOR..": AddWorldMapIconMap: 'uiMapID', 'x' and 'y' must be numbers")
+        error(MAJOR..": AddWorldMapIconMap: 'uiMapID', 'x' and 'y' must be numbers", 2)
+    end
+    if showFlag ~= nil and type(showFlag) ~= "number" then
+        error(MAJOR..": AddWorldMapIconMap: 'showFlag' must be a number (or nil)", 2)
     end

     -- convert to world coordinates