View Single Post
04-21-18, 06:08 PM   #7
Nevcairiel
Premium Member
Premium Member
AddOn Author - Click to view addons
Join Date: Aug 2006
Posts: 63
The entire Map API in general is still in development. Its one area that has seen an entire redesign in BfA and its not quite done yet. Give any map-related questions a bit more time to be figured out!

Do however note that any addons that accessed map or location information will need changes, and sometimes maybe even re-think their design as things change drastically. So be prepared for that.

Information we currently do have:
- Continent/Zone index numbers are gone without replacement (ie. what GetCurrentMapContinent/GetCurrentMapZone used to return)
- The map filename is also gone (map files use the numeric texture IDs now, not useful as identification anylonger)
- MapAreaId/Floor are gone, replaced by UiMapId (every map you see has its own unique id, no longer dealing with floors etc)
- All maps are hierarchical, which means they have a parent and any number of children. A continent has zones, a zone has dungeons and microdungeons, a dungeon has floors, and so on, and you can query this hierarchy to find dungeon floors etc.
- No stateful API anymore (ie. the map currently being shown by the map is tracked in Lua only, not by any hidden magic in C code) (this is still a work in progress)
- A translation from MapAreaId/Floor => UiMapId is not available in-game, however we've been given this data to do the translation manually, or include them in an addon

Whats still missing so far:
- Player position in zone coordinates (ie. what GetPlayerMapPosition was)
- Zone size and position data (what GetAreaMapInfo used to return)

I've been talking to Dan (Blizzard UI developer who hangs around IRC), and he has assured me that he will look into exporting Zone size data again. If this does not happen for some reason, the alternative is to extract that data from the games database files and dump it into a library.

Whichever method is required, I'll definitely be updating my HereBeDragons map library to provide the same amount of information it offers now (I use the term "update" losely, due to the drastic changes it'll probably be a rewrite and calling it "2.0"). But, all in good time once I know which course to even take based on which API we're getting, and which we're not.

Last edited by Nevcairiel : 04-21-18 at 06:31 PM.
  Reply With Quote