Skip to content

No D-pad boot swap while Hookshot flying unless in lab#2581

Open
djevangelia wants to merge 1 commit into
OoTRandomizer:Devfrom
djevangelia:hookshotboot
Open

No D-pad boot swap while Hookshot flying unless in lab#2581
djevangelia wants to merge 1 commit into
OoTRandomizer:Devfrom
djevangelia:hookshotboot

Conversation

@djevangelia
Copy link
Copy Markdown

Prevent non-vanilla Hookshot jumps made possible by D-pad boot swap by restricting use of swap buttons if flying with Hookshot, with exception of Iron Boots in Hylia Laboratory. Fixes #546.

It's just adding conditions:
(!(z64_link.state_flags_3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT) || z64_game.scene_index == SCENE_LAKESIDE_LABORATORY)
to Iron Boots D-pad, and
!(z64_link.state_flags_3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT)
to Hover Boots.

In the issue there were concerns about Laboratory, where the easiest solution is to simply make the scene an exception to "no swapping during Hookshot". There weren't any other examples of active casual/"non-glitch" uses that should be kept. If there are any such cases they can surely be added.

Testing

Tested in Ares recent nightly build.
Looks like this: https://www.youtube.com/watch?v=XuHlMmLo3Fw

@fenhl fenhl added Type: Bug Something isn't working Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it labels May 21, 2026
@r0bd0g
Copy link
Copy Markdown

r0bd0g commented May 21, 2026

I don't agree with not having the fix in the lab lol. Next let's make ISG two frames instead of one idk.

@djevangelia
Copy link
Copy Markdown
Author

djevangelia commented May 21, 2026

Well, that's part of why I made this PR, so that players start discussing what the fix should look like (or if it should be fixed in the first place, even though most seem to agree that some action is necessary).

edit: To elaborate further, personally I wouldn't have done any fix because I find it funny and cool with (to my knowledge) no possibility of softlocking or otherwise impeding gameplay except voiding out.
But I don't play and there seem to be varying opinions - so I made a fix of a reported issue so it can either finally be fixed with/without modifications, or deemed as a non-bug.

@dotzo
Copy link
Copy Markdown

dotzo commented May 21, 2026

If we're finally going to fix this (seeing as it's been broken since day 1), it should be a full proper fix. That is to say, the entire d-pad should be disabled when pausing would also be disabled, notably flying with the hookshot.

@r0bd0g
Copy link
Copy Markdown

r0bd0g commented May 21, 2026

Am I dumb or is damage buffering just way less effective with the d pad? I get that the gamecube d-pad kinda sucks but I dunno if I believe that really explains it. I dunno if this is a related topic or not lol.

@dotzo
Copy link
Copy Markdown

dotzo commented May 21, 2026

It is. There's some weird delay with the d-pad that isn't present with the c-buttons, as if the input is delayed a frame. It's been that way since the advent of the d-pad.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it Type: Bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Quick Boots Hookshot Jump

4 participants