Ocarina of Time
Weirdslide / Weirdshot
This page covers the Weirdslide glitch and others that use a Weirdslide as a basis. It also covers two TAS-only tricks that are related to Weirdslide: A-Slide (Analog-Slide) and Z-Slide.
For practical purposes in speedruns, skip to the Weirdshot section, as you do not strictly need to understand why Weirdslides happen.
Weirdslide
To perform a Weirdslide, roll into a damage source (usually a bomb) so it hits you with invincibility, and hold Target+Shield+Down (or Left/Right) during the roll.
Technical explanation
Similarly to tricks like Megaflips and Superslides, Weirdslides utilize shielding a source of damage while invincible (by rolling usually, or with Nayru's Love), which briefly gives Link a horizontal velocity of -18. Holding the analog stick down or sideways while this happens bypasses the shield recoil action function that normally instantly decreases Link's speed down to 0 over a few frames, allowing him to maintain high negative velocity for much longer (and potentially indefinitely in a tool-assisted setting, see A-Slide / Z-Slide).
This happens because Link's action function gets set to the backwalking or sidewalking (depending on your control stick direction) action function instead—Link essentially initiates a backwalk or sidewalk, which has a couple of effects. First, Link's movement angle (not facing angle) gets set to the backwalk/sidewalk direction, which causes him to move in the opposite direction of the control stick because he has negative velocity. Second, while the control stick is held, Link will continue to decelerate each frame according to either the backwalk (1.5 each frame) or sidewalk (2 each frame) acceleration rate (again depending on the control stick direction).
Link's walking/running animation code is also ill-equipped to handle high (positive or negative) speeds, particularly when the X input on the control stick is slightly negative. This can cause the code to attempt to read animation data from out of bounds, which would be garbage data interpreted as animations. During a simple Weirdslide or A-Slide, this can occasionally cause some minor animation bugs (e.g. Link may appear to squat or clip into the ground slightly). Pulling first-person items during such a slide exaggerates the effect, which causes Weirdshots and Weirdclips to be possible.
Because the game attempts to play garbage animation data during Weirdslides, they theoretically can crash the game. However, it happens that the garbage data that Adult Link reads from can never crash (under normal gameplay). As Child Link, certain Weirdshot frames can crash depending on various factors, but it is uncommon.
A-Slide / Z-Slide
A-Slide (short for Analog-Slide) and Z-Slide are a pair of glitches that both exploit more or less a similar technique. They do not actually require a Weirdslide to execute, but are covered here because they allow the high negative velocity (e.g. from a Weirdslide) to be extended indefinitely, so it is one of the ideal use cases for them.
Both A-Slides and Z-Slides exploit the fact that the game fails to decrease Link's speed for 1 frame when transitioning between certain states, namely for an A-Slide the transition between Backwalk/Sidewalk -> Neutral, and for a Z-Slide the transition between Targeted walking/running and Untargeted walking/running (forward). By alternating between these states each frame, Link never loses speed. Because of the precise inputs required, both techniques are considered only useful in TAS settings.
Weirdshot
Weirdshot is a glitch that uses a Weirdslide (or A-Slide) to achieve high negative speed to play garbage animation data, causing Link's arm position to be abnormally offset; first-person items will spawn at that incorrect position. Usually this position is out of bounds underground, allowing Link to use the Hookshot, Bow, Slingshot, or Boomerang on objects or into places he could not normally reach. This does not move Link's actual position in the world, but it does move his skeleton (model) and his collider.
Performing weirdshots
Weirdshots are commonly done unbuffered in mid-to-high-level runs, but it is fairly common to buffer them as well (sometimes to guarantee the Weirdshot with a low explosive count). It is often a difficult trick to master and there have historically been some myths surrounding the best ways to perform them.
Weirdshotting generally consists of a few basic steps:
- Drop a bomb and get Link in position (manually or using a setup)
- Quickdraw hookshot
- Roll on a working frame and hold Down + Target + Shield + Hookshot
- Release Shield on a working frame then Target 2+ frames later
Important details
TL;DR for runners: If camera angle is less than Link's facing angle, Weirdshots never work; if it is greater than his facing angle, they can work but are less lenient. Link's exact spacing from the bomb is not as important as the camera alignment. Tapping up (while untargeted) to align the camera exactly equal to Link's angle makes Weirdshots the most lenient. However, in some situations the camera can not be aligned like this (for example, when the camera angle is slightly less than cardinal, it will constantly try to pan to cardinal).
Using the sideroll setup (explained in Setups section) or manually positioning such that Link is to the side of the bomb also helps make Weirdshots more lenient with suboptimal camera alignments.
Every method of Weirdshotting involves dropping a bomb and moving Link some distance backwards and sometimes to the side. Link's spacing from the bomb is not overly strict; it can be reliably done without a standard setup (e.g. by backwalking for a short time), and there is a good range to the left and right as long as Link is still well within the explosion's radius.
What matters more than Link's position is the camera angle relative to his facing angle, due to the fact that Weirdslides are susceptible to animation corruption with specific control stick inputs. Sometimes, even when targeting walls for a consistent angle, the camera will not be directly behind Link. This can cause the Weirdslide to move to the right instead of forward (most often with a damage source positioned predominantly in front of Link), which will not work for weirdshots.
- If the camera angle is less than Link's facing angle, weirdshots never work
- If the camera angle is equal to Link's facing angle, weirdshots are most lenient
- If the camera angle is greater than Link's facing angle, weirdshots lose some leniency
- specifically, some of the early roll frames stop working in this case
In other words, you can hold target + slightly down and press A to downroll, and if Link rolls to his left, weirdshots will never work. If this roll goes to Link's right, the camera angle could be equal or greater than the facing angle. If it is greater than the facing angle, early roll frames stop working for the weirdshot, but the effect is not as bad if the bomb is to Link's side rather than directly in front.
The camera angle can usually be fixed simply by untargeting and tapping straight Up for at least 1 frame (ESS up, flicking up, walking up, etc.). The exceptions are in cases where the camera is restricted by a wall or trying to auto-align to a cardinal direction (which happens when the camera is slightly less than cardinal).
Setups
Sideroll setup (recommended)
Dry roll and then 1 backflip + neutral roll. The dry roll can also be done after the backflip backroll. Both shown in video.Bonk setup
To align camera more consistently, don't target while doing the bonk roll (and hold Up at least 1 frame before rolling).Crouch stabs setup
Dropping a bomb against a wall then doing 2 crouch stabs also sets up your position correctly. Usually doing angled crouch stabs is ideal to put the bomb to Link's side a bit (see the above important details), but straight crouch stabs also work. You can instant shield drop if stabbing to the right or forward, but you may want to overhead drop if stabbing to the left to make sure the bomb is more to Link's side.Frame data / buffering tips
This document shows frame data for rolling and releasing shield and target, using the two common setups shown above.
You can use this data to determine what setup and frames you want to look for, instead of memorizing every possible combination. Some simple observations based on the frame data:
- the last 5 frames of the bomb animation (before the explosion) work for rolling in both setups
- releasing R for 2/3 frames then releasing Z always works
- releasing R on the 5th/6th frame Link touches the explosion always works
One suggested strategy might be (see the basic Weirdshot steps above):
- Use the sideroll setup for your position
- Roll on one of the last 5 bomb frames before the explosion
- Release shield on the 4th, 5th, or 6th frame of Link touching the explosion
- you can start holding Hookshot after releasing shield instead of the whole time
- the 3rd frame can work most of the time too, just not if you roll on a small blue frame
- Release target 2 or 3 frames after releasing shield
The video demonstrates this strategy (stepping frame-by-frame rather than pause buffering).
Unbuffered weirdshot tutorials
These are two videos which have long been useful to weirdshot learners, showing the unbuffered inputs visualized on both an input display program and a physical controller. Use these in addition to the frame data and important details explained above.
Bombchu weirdshots
Weirdshots can be done in a very similar way with bombchus, although these are slower and usually considered more difficult, especially considering their rarity. They require pulling Hookshot after dropping the chu but before rolling, which is a tight window.
Aim to drop a chu around the 8th red flash (the first very-fast flash) then quickly quickdraw Hookshot and roll, then the inputs should be fairly similar to the bomb method.
Against a wall it is possible to do a double chu weirdshot by crouch stabbing the wall twice to get in position, instead of waiting for a single chu to tick down.
Weirdclip
Because certain Weirdslides can position Link's collider and skeleton underground, as in a Weirdshot, it is possible to use this fact to bypass certain soft colliders, which is called a Weirdclip.
As Adult, to execute a Weirdclip, perform a Weirdshot but do not let go of Target at the end. Some specific Weirdclip setups may require precise Weirdshot frames in order to work (for an example, see Zora's Fountain § Skip silver rock).
As Child, Weirdclips can also be done without a first-person item (for an example, see Zora's Domain § Child reverse KZ weirdslide).
Backshot
Discovered By: Jengerer
If the hookshot's trace at any individual frame contacts float-perfectly with a hookshotable surface facing away from the player, it will latch on despite not normally being able to hookshot the target from behind.
