Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Explanation for this trick: https://www.youtube.com/watch?v=qnD7pqyxY3U
- Every frame Link is able to be updated, a function called Player_UpdateCommon is called. This function basically updates the entire Link actor. There is one section of the function which is important for the above trick:
- https://github.com/zeldaret/oot/blob/master/src/overlays/actors/ovl_player_actor/z_player.c#L10111
- if (this->csMode != 0) {
- if ((this->csMode != 7) || !(this->stateFlags1 & 0x4206000)) {
- this->unk_6AD = 3;
- } else if (func_80852E14 != this->func_674) {
- func_80852944(globalCtx, this, NULL);
- }
- }
- csMode is 0 during normal gameplay, but non-zero when a cutscene is playing.
- csMode gets set to 7 when you close a special type of text box, which you get from certain instances of "En_Wonder_Talk2", such as walking to the kokiri shop or on the log with the frogs.
- unk_6AD is a byte in link's actor which determines the type of first-person mode he is using:
- 0: none (default)
- 1: c-up
- 2: first-person weapon
- 3. unknown (set by attempting to do the glitch without having the down a/ ledge cancel/ blinking red states set)
- So by closing the text box in front of a crawlspace, the csMode is 7 and the "this->csMode != 0" check passes.
- Next it checks if either the cutscene mode is not 7, or none of the "0x4206000" states are set:
- 0x4000000 = Blinking Red (took damage)
- 0x200000 = Climbing a ladder or vines / Down A
- 0x4000 = Climbing to higher ground (or out of water) / Ledge Cancel
- 0x2000 = Hanging from a ledge / Ledge Cancel (with Down on A)
- If none of these are set, then unk_6AD gets set to 3 and you get a glitchy looking camera going into the crawlspace (zoomed out).
- If any of them are set, then it calls func_80852944. This has a lot of nested function calls so I couldn't navigate my way through it, but something in here stops link from entering the crawlspace
Add Comment
Please, Sign In to add comment