Ocarina of Time's Wrong Warp Explained! (Part 1)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

It's a shame this was made before ACE... cause wrong warp is very clearly not the most infamous glitch nowadays lol.

👍︎︎ 6 👤︎︎ u/kingbird123 📅︎︎ Mar 28 2020 🗫︎ replies
Captions
in the past 20 years our Cree enough time has been widely popular in speed-running not only because the game is incredible but also because it's incredibly broken today we're going to look at an extremely potent yet misunderstood glitch that allows speedrunners to beat the game in under 17 minutes one that can let you directly access the games credits from the fire temple a glitch that creates time paradoxes this is Ocarina of times wrong warp explained disclaimer this video was written and recorded before the discovery of arbitrary code execution that revolutionized ocarina of time in recent months everything in this video is still true but wrong warping is no longer involved in the fastest anypercent round before we begin I need to thank mcx rules for making this video possible his extensive knowledge of the inner workings of ocarina of time was incredibly helpful for my research and he was kind enough to answer dozens upon dozens of questions as I wrote the script for this video I can't understate just how clueless I would have been without him so first let's see what a wrong warp is here's a comparison of a normal LARP and a wrong warp in a normal work link is sent to the intended place and the cutscene plays out with a wrong warp the warping sequence is interrupted and link is sent to another place usually completely unrelated to the intended destination while wrong warping is used a lot in the all dungeons and hundred-percent categories it's mostly known for its use in any percent in which link goes from the Deku Tree directly to Ganon's collapsing towers skipping nearly the entire game it seems like the wrong warp could be used to go anywhere from any dungeon exit but that's not actually the case it turns out this is a very complicated glitch with lots of restrictions to fully understand how wrong warps work we first need to understand how warping in general works when link takes a warp or enters any other loading zone the game needs to go through a process to transition from one scene to another as an example let's use the warp at the end of the Deku Tree first as Lane steps in the blue warp the game strips control away from the player then link walks to the center of the warp and this sequence plays out meanwhile a timer conveniently called the blue warped is counting up on every frame when this timer hits a hundred and one two variables used in the scene transition or set the next cutscene number is set to 1 and the next entrance index is set to 238 then the screen fades out that the game starts the scene transition the next entrance index is used to submitting will be in but also where he'll be entering from a scene can have more than one entrance kokkuri forest has 13 of them these include six houses and chops both lost was entrances the Deku Tree three special entrances that follow cutscenes and an unused one where link is spawned on top of his house all of these entrances are assigned a unique value in ordered in a long list called the entrance table the next entrance index of 238 corresponds to a special entrance of Kokiri Forest that's reserved for cutscenes only and is labeled as Kokiri Forest his first entrance or entrance zero cutscenes are always associated with the first entrance of any given scene so that's why this one is used the first step is to make sure the correct cutscene plays after the scene transition for this the game looks at the next cutscene number Kokiri Forest has a few different cutscenes and the post dungeon cutscene is number one first a check is made to see if the next cutscene number equals negative one which is the default value that means no cuts he needs to play since his thought equal to negative one a cutscene does play so the nice cutscene number is copied to the current cutscene number than it is reset back to negative one finally because this cutscene always plays during the day the time is manually set to noon next the game checks for these five specific special cases when link Lords are Requiem spirits when healer is a Nocturne of shadow when he gets to faerie ocarina from sorry when he gets two line arrows and when Ganon tower collapses as this wipe doesn't involve any of those cases nothing happens here now this is when the game actually finds where to send link next three variables are at play here the next entrance index and the scene setup index and the current entrance index the scene setup index as a variable used to dictate how a scene needs to be set up many scenes such as towns and houses will be different depending on links age and a time of they so they have a setup for all four combinations of these factors if the cut-scene number is between 0 and 15 a cutscene will be playing so the scene has to be set up differently from the first four setups in that case the scene will define more than four setups and the setup of any given cutscene will always be the cutscene number plus four the scene setup index is a modifier that is added to the next entrance index to set the current entrance index this means of each entrance has a group of indexes that lead to it they all have the basic form if the time factors don't change anything in the scene these four setups will simply be duplicates the first entrance of the scene is the one that holds the cutscene so that entrance has one more scene set up for every cutscene that can play in it in this case the cutscene number is 1 so the scene setup index is set to 5 this is Dan added to 238 to get a current entrance index of 243 this index is specifically reserved for the cutscene after beating the DECA tree so the game now knows jalil kokiri forest setup for the post dungeon cutscene so it will load the scene from his memory and play the cutscene this is what happens when the warp works as intended now let's see how that sequence can be broken and why it can send link to a completely different place for this we're going to look at the classic example Ganondorf for many percent which sends child link straight into Ganon's collapsing tower with a dead Ganondorf an adult Zelda so the trick begins by leaving the box room after killing DOMA and coming back in it to make the wrong war possible link will have to exit through the boss door but the stone slab that shuts down at the start of the fight made it inaccessible after gamma is dead if link Lea enters the room the stone slab will be gone the door will then be accessible from the blue warp which is also going to be in the same place every time there are three ways to do this dying while dealing the killing blow clipping through the stone slab during the fight and using the door to leave and re-enter or save and quit the current fastest route is to leave the Deku Tree after killing DOMA to come back later for the wrong warp so dying is preferred for this demonstration we're gonna kill Goma save and quit and re-enter our file [Music] next link drops bugs and catches them again this is so that he has a full bottle in his hand which sets up the next part when link presses the C button to use a bottle that has buds a fish or fairy in it this animation will play if flank is in midair while the button is pressed the game will wait for link to land and then trigger the animation however for this to work the bottle needs to already be in lakes hand now if the game is waiting for link to land and a new item is used something interesting will happen the game is still trying to play the animation associated with the item link wants to use but that item is no longer a bottle by pressing B link is trying to use his sword but unlike the bottle the sword has no animation associated with it if the game tries to play the animation of an item that doesn't have one it will revert to the default animation which happens to be playing the ocarina so link will play his sword like an ocarina but playing the ocarina isn't a goal here the goal is to interrupt the sequence for link enters the blue warp and is teleported out of the dungeon if link starts playing the ocarina in the same frame as he enters in the warp the sequence will look like it's starting but link will not enter the warp at this point the ocarina can be cancelled to regain control the link which lets him move around while the game is trying to teleport him away from the dungeon so at this point everything that normally goes on during a regular LARP is still happening when the blue warp timer hits a hundred and one the screen will fade out and the same transition will happen however that timer is tied to the blue warp so if the camera is far enough in looking away from it the timer will stop updating giving link as much time as he wants to move around the next part is to exit the bus room through the door so that the scene transition happens right as the blue our timer hits a hundred and one using careful movement and camera manipulation if done correctly here's how the scene transition goes this all happens during the last frame where the boss room is loaded but the game processes it in this order a few frames prior as link went through the door the next entrance index was set to 594 which corresponds to a Deku Tree basement first it is copied over to the current entrance index all objects in the room are then updated one final time before being diluted during that object update the blue warp sets the next entrance index to 238 which is Kokiri Forest and the next cutscene number two one so it can play this cutscene however the next entrance index has already been copied over to the current entrance index so it's too late now the blue ARP is telling link to go to Kokiri Forest but he's already set to go to the Deku Tree basement then the next cutscene number is copied over to the current cutscene number then reset back to negative one the time of day doesn't need to be changed so that step is skipped also none of the five special cutscenes apply so the check for them returns nothing next the game figures out where to send link because link entered the door to the Deku Tree basement the current entrance index is 594 but at the same time since the blue warp was sending link to a cutscene had set the cutscene number to one so the scene setup index is set to five then it's added to the entrance index to get a final entrance index of 599 remember that each entrance has four indexes plus one per cutscene while Kokiri Forest has 10 different cutscenes that can play in it so it has 14 indexes in total as scene setup index of five is not a problem here in fact it can be anything from 0 all the way up to 13 the technically basement entrance however has no cutscene related to it so it only has four indexes it takes up entries 594 through 597 but not 599 so 599 points to another entrance entirely which one though assuming maps are ordered somewhat logically in a games memory you would expect it to be a related entrance like the boss room or the main deck re-entrance or maybe the next dungeon to dongal's cavern but that's not the case it turns out the entrance list has almost no logical order different entrances in the same scene are all over the place and completely unrelated scenes are next to each other it just so happens that the next set of entrance indexes from 598 to 601 is one of the rooms in the interior of the tower collapse sequence at the end of the game so at index 599 the game is sending link to the tower collapse interior and the game crashes but why first this is not a game crash it's actually a softlock the game itself is running but it's locked in this state it's softlocked because since the cutscene index is at 1 the game played a cutscene in a tower collapse interior so which cutscene did it play you would think it might be the end of Deku Tree cutscene but that wouldn't be correct in fact it played the title screen cutscene since links coordinates in the title screen cutscene are way out of bounds in the tower collapse interior see the game softlocks but why did it played a title screen well because in this example we used a save and quit to go back to gómez room so the title screen is the last cutscene that played this means that the cutscene pointer is still pointing to the tunnel screen when a cutscene needs to be played the cutscene pointer is a variable that points to a location in the memory where the data for the cutscene was loaded normally the cutscene pointer is updated by the header of the scene where the cutscenes about to play but the tower collapse interiors header doesn't have a cutscene command so it didn't change the cutscene pointer so what's the scene header to keep it simple it's a list of commands that initialize a new scene during the transition it sets values for a lot of different things like link spawns collision and default background music there is also a command in this list called the alternate header command which allows us seem to have multiple scene headers and therefore multiple ways to be initialized this is required for scene to be able to have cutscene set up so that it can be initialized differently when a cutscene plays Ganon's tower collapse interior doesn't have any alternate headers or cutscene commands so when wrong warping to it the game will attempt to play the last cutscene watched so let's go back and redo the trick but using the former anypercent route here link is at low health while fighting DOMA and some slashes into her to deal the final blow killing himself in the process this lets him walk back to the entrance of the dungeon this means that when link comes back in the boss room the last cutscene was the one that plays when entering the Deku Tree for the first time when this cutscene tries to play in a tower collapse interior a problem occurs because the inside the DECA tree first time cutscene was loaded a while ago it's data isn't useful anymore and is prone to be overwritten by other things being loaded into the memory as the tower collapse interior is loaded its scene data overrides the deco tree first time cutscene data when initializing a cutscene the game looks at the cutscene data to see how many frames it has and how many commands it needs to execute because the cutscene data was overwritten by new unrelated data the game reads garbage values when a cutscene has a negative number of frames or a negative number of commands the game has a fail-safe where it simply skips trying to play the cutscene altogether and this is how you can avoid soft locking the game during the wrong warp if you're practicing the trick it can also avoid a soft lock by pausing in links house after viewing the title screen cutscene doing that will replace the values that the game reads as cutscene data with text from the pause menu which if Don and Nick's house happens to be the right values to trigger the failsafe and skip the cutscene so that was the well-known Ganondorf wrong work but there are many other possibilities each dungeon blue warp has up to seven different possible outcomes we're going to look at all of these in part two of this video which you can click on right now face for watching you [Music]
Info
Channel: Bismuth
Views: 134,485
Rating: 4.9422412 out of 5
Keywords:
Id: Bgq3aiulecM
Channel Id: undefined
Length: 14min 30sec (870 seconds)
Published: Fri Mar 27 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.