Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- In order to perform GIM, Link must be in the state of collecting an item. This is marked by a flag at Link's Actor + 0x66E (the 0x04 byte). All methods of get item delay are methods of setting this flag outside of the normal item collection process. Broadly speaking, there are two ways of achieving this.
- --Canceling a Dive--
- When Link dives to collect an item, the game has a built-in collection delay designed to prevent that item from being collected until Link surfaces in water. This is controlled by the 0x04 bit at Link's Actor + 0x672. If we can keep that bit set when Link is outside of water, the next item we pick up will be delayed just as if we had grabbed it out of a dive.
- The most popular way to achieve this is to begin a dive, cancel it and grab vines. Grabbing the vines takes you out of the water without canceling the relevant diving state, though you need some sort of extra help to be able to grab vines immediately after a dive cancel (this could be a superswim, oob camera, fairy revival camera, lowering water in BotW, possibly others...).
- Instead of grabbing vines, we could use Iron Boots to swim on land, begin a dive, and use Hookshot to cancel it. We are immediately taken out of the swimming state, but the dive state persists.
- The 'dive flag' is also set when you jump into water and are sinking down before initially popping up. This method in Forest Temple (https://www.youtube.com/watch?v=n_0DlvzTttY) takes advantage of that fact. The dive flag that's naturally set from jumping into water is prolonged by the fairy revival cutscene, and Link has enough time to grab the ladder while that flag is still set, preserving it. (Since we did not press A to dive, the 0x08 bit adjacent to the dive state is not set, so the A button does not change to numbers, as it does in other variants of this method.)
- --Breaking out of Get Item--
- The other main method is to actually initiate the get item cutscene, but then break free of it. What normally prevents this is a flag (0x20 at Link's Actor + 0x66C) which freezes other actors and keeps Link locked into the animation. If one could collect an item without setting this flag, Link could be damaged out of the collection animation without completing the text box, preserving the get item state. It happens that if Link collects an item during certain altered camera states (e.g. leaving a crawlspace, being revived by a fairy in water), this flag is not set when an item is collected. Link can then take enemy damage, fall down a slope, float up in water, etc. to gain control during the collection animation.
- --Notes--
- All of the methods I mentioned here are shown on http://zelda.speedruns.com/oot/tech/get-item-manipulation
- If you'd like to look at addresses mentioned here with a memory viewer, Link's Actor is at 0x801DAA30 on 1.0 or 0x801DB2F0 on 1.2. Simply add the offset to produce the relevant address.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement