Skip to content

Poc entrance tracker#260

Open
Phillyjawn wants to merge 8 commits intogarrettjoecox:entrance-shufflefrom
Phillyjawn:pocEntranceTracker
Open

Poc entrance tracker#260
Phillyjawn wants to merge 8 commits intogarrettjoecox:entrance-shufflefrom
Phillyjawn:pocEntranceTracker

Conversation

@Phillyjawn
Copy link

@Phillyjawn Phillyjawn commented Jan 26, 2026

Locations and Route Finder: Normal vs Extended Routing

Overview

The Route Finder in the Entrance Tracker has two modes for discovering paths between locations:

Normal Mode (Default)

  • Routes only through locations that are part of the active entrance shuffle pools
  • Shows clean, predictable routes using only shuffled entrance pools
  • Each step in the route corresponds to an actual entrance the player can use
  • Guaranteed to find a route if one exists through shuffled locations

Extended Routing (Experimental)

  • Routes through ALL locations in the logic system, including those not in shuffle pools
  • May show routes containing "internal transition" steps that don't correspond to real entrances
  • Useful for understanding world connectivity and debugging, but requires game knowledge to interpret
  • Routes may reference internal logic regions rather than actual in-game locations

Why Extended Routing Shows "Garbage" Data

The Majora's Mask randomizer's logic system contains region definitions for every internal location and connection in the game. However, only a subset of these are included in the entrance shuffle pools:

Entrance Shuffle Pools

  • POOL_INTERIOR: Interior entrances like shops, houses, mini-dungeons
  • POOL_DUNGEON: Dungeon entrances
  • POOL_OVERWORLD: Overworld area transitions

Regions NOT in Shuffle Pools

The logic system defines regions for many locations that are intentionally excluded from shuffling:

Dungeon Internal Transitions (Moon Deku Trial, Goron Shop, etc.)

  • These are connections WITHIN dungeons between different rooms/areas
  • Not part of the player-facing entrance shuffle
  • Example: The logic might track "Moon Deku Trial" as a region, but you never shuffle into it directly—you shuffle into the dungeon entrance and then navigate internally

Same-Scene Internal Transitions

  • Regions for different areas within the same scene (e.g., Clock Town North, Clock Town South)
  • Used by the logic for requirements but don't correspond to distinct locations you navigate to via entrances
  • Example: "East Clock Town" vs "South Clock Town" are in the same SCENE_CLOCK_TOWN

Logic-Only Regions

  • Regions created purely for randomizer logic tracking that don't map to player-facing locations
  • Named after the scene they belong to when no custom name is set
  • Examples might include specific puzzle rooms or progression gates

How This Affects Route Finding

Normal Mode Behavior

When you search for a route in normal mode:

  1. Only exits defined in the entrance shuffle pools are traversed
  2. If a route requires passing through a non-pooled region, it returns "No route found"
  3. This prevents impossible-looking routes like "West Clock Town → Moon Deku Trial → Goron Shop → Zora Cape"

Extended Mode Behavior

When you search for a route in extended mode:

  1. ALL exits are considered, including internal logic connections
  2. The BFS finds the shortest path through the entire region graph
  3. Regions not in the pools show up by their scene name alone (e.g., "Moon Deku Trial" is the scene name)
  4. Routes may include internal transitions marked as "(internal transition)"

Example: The Infamous "Garbage Route"

Normal Mode Result:

No route found

Extended Mode Result:

West Clock Town → Moon Deku Trial → Goron Shop → Swamp Shooting Gallery → Zora Cape

What This Actually Means:

  • West Clock Town → Moon Deku Trial: Transitioning through internal logic regions within the first dungeon
  • Moon Deku Trial → Goron Shop: Not a real entrance/exit pair
  • Goron Shop → Swamp Shooting Gallery: Another internal transition
  • Swamp Shooting Gallery → Zora Cape: Eventually reaching the destination

The Real Path:
If you mentally translate "Moon Deku Trial" to "Exit to Termina" and "Goron Shop" to "Path to Southern Swamp", the path structure is valid—it's just showing you internal region connections rather than player-facing entrances. Since those two locations are not in the shuffle pool, they get garbage values.

Technical Details

Regions Not in Pools

NOT Shuffled (by looking at what exists but isn't in the pools):

  • Ikana Castle (and all internal rooms/exits)
  • Secret Shrine
  • Grottos (all variants)
  • Stone Tower & Stone Tower Temple (all variants)
  • Beneath the Well
  • Beneath the Graveyard
  • Deku Palace (internal rooms)
  • Deku King's Chamber
  • Pirates Fortress (exterior & interior)
  • Ikana Canyon (as destination)
  • Ikana Graveyard
  • Road to Ikana
  • Road to Southern Swamp
  • Romani Ranch
  • Goron Racetrack (the race area)
  • Goron Shrine
  • Goron Graveyard
  • Mountain Village Winter
  • Path to Goron Village Winter
  • Path to Mountain Village
  • Zora Cape
  • Zora Hall
  • Woodfall (interior region)
  • Woods of Mystery
  • Waterfall Rapids
  • Pinnacle Rock
  • Sakons Hideout
  • Southern Swamp Poisoned (as interior destination)
    And one-way exits like Gohts Lair, Odolwas Lair, Twinmolds Lair, Clock Tower Rooftop, etc. are also not shuffled.

So basically: most dungeons, caves, optional areas, and connecting regions are not shuffled - only the "main" interior shops/houses and 3 main temples are shuffled.

Display Name Handling

When a region isn't in the pools:

  • It may not have a custom name field set in the logic
  • Falls back to displaying the scene name
  • This is why you see scene names like "Moon Deku Trial" (which is SCENE_BMORI1)
  • Custom names are only added for regions that are actual shuffle endpoints

Future Improvements

As the Entrance Shuffler poc expands, the tracker will be able to expand as well finding more areas in pools and more custom names can be added for vague items in pools.

I plan on adding ??? for spoiler free tracking so you can see how many areas you are still missing in a given area.

Build Artifacts

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