Skip to content

feat: Forever map markers - #2681

Merged
EllesmereGaming merged 8 commits into
EllesmereGaming:mainfrom
Jetro974:forever-map-markers
Oct 17, 2026
Merged

EllesmereGaming merged 8 commits into
EllesmereGaming:mainfrom
Jetro974:forever-map-markers

Conversation

@Jetro974

@Jetro974 Jetro974 commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Find the boat, the dungeon or the flight master without leaving the map.
WoW Forever's world map shows none of them: where the zeppelin to Undercity docks, where a dungeon entrance hides or which road leads to the next zone means opening a wiki. This toggle puts them on the map, from the world down to each zone, and a click turns any of them into a /way-style link.

What does this PR do?

Adds Show Map Markers to Forever Essentials > General > World Map (WoW Forever only, off by default). Travel markers appear by zoom level:

  • World map: boats, zeppelins, skycutters, portals and the tram, one marker per dock or tower listing each destination.
  • Continent: adds dungeon and raid entrances (secondary entrances and wing names included).
  • Zone: adds flight masters (undiscovered ones marked) and an arrow on each road out of the zone, pointing to the zone it leads to.

The cog turns each set off (all shown by default once the option is on). Hovering a marker names it; touching markers share one tooltip. Clicking a marker prints its map pin link in chat, like /way does, led by its icon and kind ("Dungeon: The Deadmines (Main Entrance)", "Path from Elwynn Forest to Westfall", "Boat to Menethil Harbor"...); clicking the link places the game's pin. Markers on world and continent maps link to the zone they stand in.

A right click on a marker goes on to the map (back out a level), as anywhere else on it.

How was it tested?

WoW Forever client, in game:

  • World, continent and zone maps of both continents: each level shows its sets; markers keep one size at every zoom.
  • Each cog toggle hides and shows its set; Show Map Markers off removes everything.
  • Clicking a marker on each map level: the chat line names it, its link places the pin; in combat the line waits for the end of combat.
  • Discovering a flight point updates the markers.
  • With markers on, in combat: opening the map, changing maps and zooming raise no error and no blocked action (BugGrabber clean); a right click on every kind of marker goes on to the map (back out a level).

python3 .tools/guardrails.py passes; _keys.txt is regenerated.

Screenshots

image image image image

Checklist

  • New settings default OFF (no behavior change without opt-in)
  • Zero cost while disabled: nothing is built, registered or added to the map until the option is first turned on; turning it off removes the data provider
  • Cheap while enabled: driven by the map's data provider callbacks (map change, refresh, zoom) and TAXI_NODE_STATUS_CHANGED while flight points show; pins are pooled and rebuilt only when the map or the toggles change; no OnUpdate, no timers
  • No writes onto Blizzard-owned frames: no hooks; same integration as Reveal Unexplored Areas (feat: qoL: reveal unexplored areas on the world map #2654), a MapCanvasDataProviderMixin provider and our own pin frames on a frame of ours under the canvas. The left click only prints a worldmap link, Blizzard's own link handler places the pin. Right clicks pass through every pin to the map: SetPassThroughButtons is called once per pin when it is created, never in combat (a pin created in combat gets it when combat ends)
  • Tested in-game on live: N/A, Forever Essentials only loads on WoW Forever (tested there); no version gates or pre-Midnight APIs added

@Jetro974
Jetro974 force-pushed the forever-map-markers branch from fbcd922 to d271f25 Compare October 14, 2026 19:26
Jetro974 and others added 7 commits October 15, 2026 09:00
# Conflicts:
#	EllesmereUIForeverEssentials/EllesmereUIForeverEssentials_Camelot.toc
#	EllesmereUILocales/_keys.txt
#	EllesmereUIOptions/EUI_ForeverEssentials_General_Options.lua
# Conflicts:
#	EllesmereUIForeverEssentials/EllesmereUIForeverEssentials_Camelot.toc
#	EllesmereUILocales/_keys.txt
#	EllesmereUILocales/frFR.lua
#	EllesmereUIOptions/EUI_ForeverEssentials_General_Options.lua
#	EllesmereUIOptions/EUI_ForeverEssentials_Options.lua
@EllesmereGaming
EllesmereGaming merged commit 8619dbf into EllesmereGaming:main Oct 17, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants