Repository navigation
fix(cheats): Teleport and Switch age no longer leave the minimap hidden for good (#2217) - #2402
Merged
hckrman101 merged 1 commit intoNov 11, 2026
Conversation
…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
approved these changes
Nov 11, 2026
Joey-Magnus
left a comment
Contributor
There was a problem hiding this comment.
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.
3 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
MapIconDeactivateByAreaActorflag 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_teleportclears the flag once the game's event manager takes its request, and logs a line when it was set: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) buildsoot_teleportand what it calls fromhost/hos_main.cas 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. Onmainit 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.mainthe 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