Skip to content

Find the quickest path between any two angles in Ocarina of Time with a graph search.

License

Notifications You must be signed in to change notification settings

Savestate2A03/oot-angle-finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ocarina of Time Angle Finder

Find the quickest path between any two angles in Ocarina of Time with a graph search.

Usage

Movement Search Types

Modify ALLOWED_GROUPS in angle_finder.py to change which movements are allowed for angle finding.

Valid options are "basic", "target enabled", "no carry", "sword", "biggoron", "hammer", "shield corners", and "c-up frame turn".

Example ALLOWED_GROUPS

ALLOWED_GROUPS = ["basic",  "target enabled", "no carry", "hammer"]
Group Description
"basic" Enables using ess turns to look for angles.
"target enabled" Assumes the ability to lock the camera via target or c up which enables using ess up and turns (left, right, and 180).
"no carry" Assumes Link is not carrying anything which enables using rolls and sidehops.
"sword" Assumes Link is able to use the Master Sword or Kokiri Sword which enables quick spins.
"biggoron" Assumes Link is able to use the Biggoron Sword or Giant's Knife which enables slash cancels and quick spins with it.
"hammer" Assumes Link is able to use the Megaton Hammer which enables using hammer side swing cancels.
"shield corners" Assumes perfect corner values are available, which is only reasonably possible on N64 with a good controller.
"c-up frame turn" Enables using c-up frame turns, which is performed by going into c-up mode, holding target, looking left or right, and doing a 1 frame retarget.

Starting Angle List

Modify the starting list of angles to choose your starting angles. For example, you might do the cardinals (0x0000, 0x4000, 0x8000, 0xc000) and/or some nearby walls (for example, some near Link's house: 0x4d19, 0xad1c, 0xe000).

Example Starting Angles

    # Create a graph starting at the given angles.
    graph = explore([
        0x0000, 0x4000, 0x8000, 0xc000,
        0x4d19, 0xad1c, 0xe000
    ], avoid)

End Angle List

Modify the search list of angles to choose your ending angles. These angles are formatted as a single string so you can easily copy and paste values in from the SRM doc by Exodus.

Example Ending Angles

    angles = """
1234
3333
acab
9876
0dad
    """

About

Find the quickest path between any two angles in Ocarina of Time with a graph search.

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages