exodus122

Crawlspace interrupt with text box explanation (for Blank A)

Jun 28th, 2021 (edited)
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. Explanation for this trick: https://www.youtube.com/watch?v=qnD7pqyxY3U
  2.  
  3.  
  4. 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:
  5.  
  6. https://github.com/zeldaret/oot/blob/master/src/overlays/actors/ovl_player_actor/z_player.c#L10111
  7.  
  8. if (this->csMode != 0) {
  9. if ((this->csMode != 7) || !(this->stateFlags1 & 0x4206000)) {
  10. this->unk_6AD = 3;
  11. } else if (func_80852E14 != this->func_674) {
  12. func_80852944(globalCtx, this, NULL);
  13. }
  14. }
  15.  
  16. csMode is 0 during normal gameplay, but non-zero when a cutscene is playing.
  17. 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.
  18.  
  19. unk_6AD is a byte in link's actor which determines the type of first-person mode he is using:
  20. 0: none (default)
  21. 1: c-up
  22. 2: first-person weapon
  23. 3. unknown (set by attempting to do the glitch without having the down a/ ledge cancel/ blinking red states set)
  24.  
  25.  
  26. So by closing the text box in front of a crawlspace, the csMode is 7 and the "this->csMode != 0" check passes.
  27. Next it checks if either the cutscene mode is not 7, or none of the "0x4206000" states are set:
  28. 0x4000000 = Blinking Red (took damage)
  29. 0x200000 = Climbing a ladder or vines / Down A
  30. 0x4000 = Climbing to higher ground (or out of water) / Ledge Cancel
  31. 0x2000 = Hanging from a ledge / Ledge Cancel (with Down on A)
  32.  
  33. 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).
  34.  
  35. 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