illiath / EnhancedFlightMap

Flight addon for WoW
Apache License 2.0
3 stars 7 forks source link

New Azeroth zones don't show times/connections in tooltip #15

Closed beren12 closed 2 years ago

beren12 commented 3 years ago

The flight point tooltips don't show times/connections for tranqillien or silver moon city. but light's hope to tranquillien is shown as a route on the map.

beren12 commented 3 years ago

This is the error thrown when clicking the Exodar's FP: Message:

...erface\AddOns\EnhancedFlightMap\shared_functions.lua:100: attempt to index local 'position' (a nil value)
Time: Fri May 14 21:38:47 2021
Count: 1
Stack: ...erface\AddOns\EnhancedFlightMap\shared_functions.lua:100: attempt to index local 'position' (a nil value)
[string "@Interface\AddOns\EnhancedFlightMap\shared_functions.lua"]:100: in function `EFM_Shared_GetCurrentMapPosition'
[string "@Interface\AddOns\EnhancedFlightMap\nodeinfo.lua"]:165: in function `EFM_NI_AddNodeLoc'
[string "@Interface\AddOns\EnhancedFlightMap\FlightMaster.lua"]:52: in function <Interface\AddOns\EnhancedFlightMap\FlightMaster.lua:10>
[string "=[C]"]: in function `DrawOneHopLines'
[string "@Interface\FrameXML\TaxiFrame.lua"]:119: in function <Interface\FrameXML\TaxiFrame.lua:36>
[string "=[C]"]: in function `Show'
[string "@Interface\FrameXML\UIParent.lua"]:2088: in function `SetUIPanel'
[string "@Interface\FrameXML\UIParent.lua"]:1933: in function `ShowUIPanel'
[string "@Interface\FrameXML\UIParent.lua"]:1794: in function <Interface\FrameXML\UIParent.lua:1790>
[string "=[C]"]: in function `SetAttribute'
[string "@Interface\FrameXML\UIParent.lua"]:2559: in function `ShowUIPanel'
[string "@Interface\FrameXML\UIParent.lua"]:1529: in function <Interface\FrameXML\UIParent.lua:656>

Locals: mapLevel = 1
mapID = 1947
info = <table> {
 mapType = 1
 mapID = 947
 name = "Azeroth"
 parentMapID = 946
}
position = nil
(*temporary) = <function> defined @Interface\AddOns\EnhancedFlightMap\shared_functions.lua:73
(*temporary) = 947
(*temporary) = "player"
(*temporary) = nil
(*temporary) = "attempt to index local 'position' (a nil value)"
beren12 commented 3 years ago

and at Blood Watch:

Message: ...erface\AddOns\EnhancedFlightMap\shared_functions.lua:100: attempt to index local 'position' (a nil value)
Time: Fri May 14 21:48:00 2021
Count: 3
Stack: ...erface\AddOns\EnhancedFlightMap\shared_functions.lua:100: attempt to index local 'position' (a nil value)
[string "@Interface\AddOns\EnhancedFlightMap\shared_functions.lua"]:100: in function `EFM_Shared_GetCurrentMapPosition'
[string "@Interface\AddOns\EnhancedFlightMap\nodeinfo.lua"]:165: in function `EFM_NI_AddNodeLoc'
[string "@Interface\AddOns\EnhancedFlightMap\FlightMaster.lua"]:52: in function <Interface\AddOns\EnhancedFlightMap\FlightMaster.lua:10>
[string "=[C]"]: in function `DrawOneHopLines'
[string "@Interface\FrameXML\TaxiFrame.lua"]:199: in function <Interface\FrameXML\TaxiFrame.lua:129>
[string "=[C]"]: in function `TaxiNodeOnButtonEnter'
[string "*:OnEnter"]:1: in function <[string "*:OnEnter"]:1>

Locals: mapLevel = 1
mapID = 1950
info = <table> {
 mapType = 1
 mapID = 947
 name = "Azeroth"
 parentMapID = 946
}
position = nil
(*temporary) = <function> defined @Interface\AddOns\EnhancedFlightMap\shared_functions.lua:73
(*temporary) = 947
(*temporary) = "player"
(*temporary) = nil
(*temporary) = "attempt to index local 'position' (a nil value)"
beren12 commented 3 years ago

Adding the routes manually in the save file and they stick, but the error is still there.

beren12 commented 3 years ago

https://github.com/illiath/EnhancedFlightMap/blob/master/shared_functions.lua#L99

Looks like if you are in the new Azeroth zones you can't get a location on the world/azeroth map. I guess we could special case this and do some math to map the Kalimdor position to the Azeroth map position, but blizzard should fix this.

beren12 commented 3 years ago

Hardcoded locations until blizz fixes the API https://github.com/beren12/EnhancedFlightMap/commit/392025c30f6495c0374274adee588d5be9c72ca4