Skip to content

Several Retail UI Map IDs aren't recognized on Classic realms #855

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
rdw-software opened this issue Mar 11, 2025 · 2 comments
Open

Several Retail UI Map IDs aren't recognized on Classic realms #855

rdw-software opened this issue Mar 11, 2025 · 2 comments

Comments

@rdw-software
Copy link
Member

rdw-software commented Mar 11, 2025

Because of this difference, none of the items display a zone name on Classic Era:

Image

On Cataclysm Classic, the zone names are displayed. However, /rarity mapinfo only prints "Unknown" for those IDs either way.


This probably affect all of the old zones, since the modern UI Map ID system didn't originally exist. The Warcraft wiki says:

Certain UI maps for dungeons/raids don't actually seem to be usable in WorldMapFrame:SetMapID(), even if C_Map.GetBestMapForUnit() returns the respective ID while in one.

There aren't many items in the classic database, so setting these manually might be good enough. See this list for reference.

Note

I haven't looked into LibBabble-Zone/Subzone yet, the mismatch could also be a problem here (check zones entry in the DB).

@rdw-software rdw-software added this to the WOW Classic Support milestone Mar 11, 2025
@rdw-software rdw-software moved this to The time is nigh (Planning) in Rarity Mar 11, 2025
@rdw-software rdw-software changed the title Certain retail UI Map IDs aren't recognized on Classic Era realms Certain retail UI Map IDs aren't recognized on Classic realms Mar 11, 2025
@rdw-software rdw-software changed the title Certain retail UI Map IDs aren't recognized on Classic realms Several Retail UI Map IDs aren't recognized on Classic realms Mar 11, 2025
@rdw-software
Copy link
Member Author

rdw-software commented Mar 11, 2025

There's a few different (potential) issues here. It's probably best to consider them separately:

  • All Classic versions seem to use the alternate UI map IDs, which don't map to legacy WorldAreaIDs
    • Quick fix: Manually replace them for non-Retail clients; add assertions in case some were missed; wait for bug reports
    • Better solution: Use shared constants for all of the hardcoded IDs; auto-generate those from the DBC files
    • Best solution: Blizzard could use one set of IDs, or provide a translation layer - maybe it already exists somewhere?
  • Rarity caches UI map IDs and stores them in the saved variables, but there's no upgrade mechanism in place (that I can see)
    • Quick fix: Delete this code (benchmark CPU/memory use first), to guarantee the latest UI map IDs are always used
    • Better solution: Unify the many different ways of handling map IDs (including LibBabble); enable versioned upgrades
    • Best solution: Don't know, need to get more context on this feature (review SVN history and research Blizzard APIs)
  • The zone IDs can also be entered as names, as indicated by the tooltip text Allara wrote - this predates UI map IDs, though
    • Quick fix: None? Need to review all the various ways that people can define zones; maybe it "just works" = don't touch it?
  • All of this must work for custom items, too. There's likely some export strings posted online that might use zone detection?
    • Quick fix: None? Needs an upgrade-able system with backwards compatibility built in - or, at least some validation logic
  • Some of the libraries used for translating subzones haven't been updated in many years - maybe they're obsolete by now?
    • Quick fix: Check if the functionality is still needed; fork/fix up those that can't be dropped; consider alternatives later
  • The list of invalid map IDs seems to be changing sometimes, but I'm not sure why/how (on Classic only)
    • I can't discern a pattern; might just be because some parts aren't loaded/Blizzard returns bogus data (says an old comment)
    • Quick fix: Reload a few times, update the ones reported as invalid; cache the rest and investigate if users report errors
  • Season of Discovery has new maps which aren't available anywhere in the DBC files, AFAICT (?) - Not very relevant right now

Unfortunately, I don't have more time to keep going down this particular rabbit hole right now.

@rdw-software rdw-software self-assigned this Mar 11, 2025
@rdw-software
Copy link
Member Author

More info dumping so this can be picked up later:

Classic Era
[2025-03-11 21:18:01] (Debug) Failed to GetMapInfo for UI map with ID 317
[2025-03-11 21:18:01] (Debug) Failed to GetMapInfo for UI map with ID 319
[2025-03-11 21:18:01] (Debug) Failed to GetMapInfo for UI map with ID 69
[2025-03-11 21:18:01] (Debug) Failed to GetMapInfo for UI map with ID 291
[2025-03-11 21:18:01] (Debug) Failed to GetMapInfo for UI map with ID 56
[2025-03-11 21:18:16] (Debug) Failed to GetMapInfo for UI map with ID 224
[2025-03-11 21:18:16] (Debug) Failed to GetMapInfo for UI map with ID 50
[2025-03-11 21:18:16] (Debug) Failed to GetMapInfo for UI map with ID 210
Catacylsm
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 418
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 371
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 376
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 379
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 390
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 422
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 388
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 554
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 507
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 504
[2025-03-11 21:25:36] (Debug) Failed to GetMapInfo for UI map with ID 433
[2025-03-11 21:25:38] (Debug) Failed to GetMapInfo for UI map with ID 83
[2025-03-11 21:25:38] (Debug) Failed to GetMapInfo for UI map with ID 50
[2025-03-11 21:25:38] (Debug) Failed to GetMapInfo for UI map with ID 69
[2025-03-11 21:25:38] (Debug) Failed to GetMapInfo for UI map with ID 56
Anniversary
[2025-03-11 21:16:02] (Debug) Failed to GetMapInfo for UI map with ID 224
[2025-03-11 21:16:02] (Debug) Failed to GetMapInfo for UI map with ID 50
[2025-03-11 21:16:02] (Debug) Failed to GetMapInfo for UI map with ID 210
[2025-03-11 21:16:02] (Debug) Failed to GetMapInfo for UI map with ID 69
[2025-03-11 21:16:02] (Debug) Failed to GetMapInfo for UI map with ID 56
Season of Discovery
[2025-03-11 21:11:50] (Debug) Failed to GetMapInfo for UI map with ID 317
[2025-03-11 21:11:50] (Debug) Failed to GetMapInfo for UI map with ID 319
[2025-03-11 21:11:50] (Debug) Failed to GetMapInfo for UI map with ID 69
[2025-03-11 21:11:50] (Debug) Failed to GetMapInfo for UI map with ID 291
[2025-03-11 21:11:50] (Debug) Failed to GetMapInfo for UI map with ID 56
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 15
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 36
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 70
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 64
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 729
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 416
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 77
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 25
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 10
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 124
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 247
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 205
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 81
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 50
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 26
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 78
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 51
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 52
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 83
[2025-03-11 21:11:54] (Debug) Failed to GetMapInfo for UI map with ID 210

This doesn't account for the zones text used by items like Old Ironjaw, but should cover waypoint data (coords).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: The time is nigh (Planning)
Development

No branches or pull requests

1 participant