Skip to content

feat: cross teleport songs - #209

Open
keraion wants to merge 33 commits into
Varuuna:developfrom
keraion:feature/cross-teleport-songs
Open

keraion wants to merge 33 commits into
Varuuna:developfrom
keraion:feature/cross-teleport-songs

Conversation

@keraion

@keraion keraion commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

This adds game specific teleportation songs (like the newer split that OOTMM does) to each game.

  • OOT gets Song of Soaring which can fly to any active owl statues in MM.
    • This has a custom-built map that handles roughly the same as MM's
  • MM gets each of the adult teleportation songs Minuet to Prelude

Limitations:

  • Currently isn't accounted for in logic, getting Song of Soaring (OOT) isn't the logical Song of Soaring (MM)
  • OOT plays the Zelda secret jingle instead of the song itself, MM plays Song of Soaring instead of the song itself.
  • Item sharing was waiting on feat(combo): Shared Items (OoTMM-style) #207, but now that's in it should be a fast follow.

Build Artifacts

Generalize the portal switch so the leaving game can ask for a specific
arrival entrance in the other game. The leaving DLL stages the target
(Combo_RequestCrossSwitch) and raises the existing portal flag; the
launcher drains it (SOH_/MM_GetPendingCrossTarget) and pushes it as a
one-shot arrival override (SOH_/MM_SetTargetEntrance) before the other
game's boot/resume, where TitleSetup_InitImpl / Setup_InitImpl honour it
instead of the hardcoded Mask Shop / South Clock Town arrivals. OOT routes
the target through Entrance_OverrideNextIndex like its own warp songs.

Groundwork for cross-game teleport songs (Song of Soaring in OOT, OOT warp
songs in MM). Export shape mirrors feat/cross-entrances.
fix(soh): owl frame - MAP title band on top, name plate below the map

fix: make owl map more pause menu like
# Conflicts:
#	docs/deviations/rando.md
#	mm/2s2h/BenPort.h
#	soh/soh/OTRGlobals.cpp
- fix comments back to human understanding, not for an agent
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.

1 participant