Skip to content

fix(cheats): Teleport and Switch age no longer leave the minimap hidden for good (#2217) - #2402

Merged
hckrman101 merged 1 commit into
NotRexed:mainfrom
jarynclouatre:fix/teleport-minimap-flag
Nov 11, 2026
Merged

hckrman101 merged 1 commit into
NotRexed:mainfrom
jarynclouatre:fix/teleport-minimap-flag

Conversation

@jarynclouatre

@jarynclouatre jarynclouatre commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

The Debug tab's Teleport and Switch age can leave a save with no minimap in any area, for good (#2217).

Why

An area that hides the minimap while Link is in it sets the game's MapIconDeactivateByAreaActor flag and shows the minimap again as he walks out. The flag is saved. The cheats' map change (oot_teleport, which Switch age goes through too) takes him out of the area without that, so the flag stays set: no minimap anywhere from then on, in that save and every save made from it. Zarigis found the flag and confirmed it with a save editor in the issue.

The change

oot_teleport clears the flag once the game's event manager takes its request, and logs a line when it was set:

cheats: teleport: the area left had hidden the minimap (MapIconDeactivateByAreaActor): shown again

A teleport that is refused (an event is playing, a map is loading, a request from a moment ago is still in progress), or that the event manager answers with 0 (it did not take it, and the map does not change), leaves the flag alone: Link is still in the area. A save the flag is already stuck in is mended by its next teleport.

Tested

  • tests/test_teleport_minimap_flag.py (new, Linux) builds oot_teleport and what it calls from host/hos_main.c as it is, over a stand-in for the game (its flags' table, its event manager, the five game functions the teleport calls): a teleport that is sent clears the flag and logs the line; with the flag clear nothing is written or said; a refused or ignored teleport, and one the event manager answers with 0, leaves it. On main it fails with "a teleport out of an area that hid the minimap left it hidden".
  • python -I -B tests/run_all.py: nothing new fails.
  • In the game (Windows 11, RTX 4070 Ti SUPER, headless, a scripted run): teleport to Hyrule Field, the flag set there by hand (a local debug build that writes it and logs its value; that patch is not part of this change), then teleport to Gerudo Valley. On main the flag is still 1 after arriving in Gerudo Valley. With this change the log has the line above at the teleport, the flag goes 1 -> 0 as the request is taken (the event manager's answer is 1), and it is 0 after arriving.

Not tested: a real area that hides the minimap (the flag was set by hand, in an area that does not set it); Switch age (it goes through the same function); a look at the screen with a save that has lost its minimap; Linux in the game.

Fixes #2217

…en for good (NotRexed#2217)

An area that hides the minimap while Link is in it sets the game's
MapIconDeactivateByAreaActor flag, which is saved, and shows the minimap
again as he walks out. The Debug tab's map change took him out without
that: the flag stayed set, and no area had a minimap from then on, in that
save and every save made from it.

oot_teleport now clears the flag once the game's event manager takes its
request (Switch age goes through it too), and says so in the log. A
teleport that is refused, or that the event manager does not take, leaves
it: Link is still in the area. A save the flag is already stuck in is
mended by its next teleport.

@Joey-Magnus Joey-Magnus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The red checks aren't this PR's. Windows part 1 is test_native_astc_texture_count.py, which #2397 fixed on main after this run. The appimage failure was three Launchpad PPA timeouts. The fix only runs when the request was taken (ok && result, after *c = saved), and the test cuts the real oot_teleport from the source. A re-run or branch update should go green.

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.

Debug tab: Teleport / Switch age can leave the minimap hidden for good (MapIconDeactivateByAreaActor stays set in the save)

2 participants