Skip to content

Vanilla bugfix, ladder cutscene softlock#6804

Open
djevangelia wants to merge 2 commits into
HarbourMasters:developfrom
djevangelia:laddercutscene
Open

Vanilla bugfix, ladder cutscene softlock#6804
djevangelia wants to merge 2 commits into
HarbourMasters:developfrom
djevangelia:laddercutscene

Conversation

@djevangelia

@djevangelia djevangelia commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Fix of vanilla softlock on ladder dismount during cutscene or using cutscene items (with restricted items glitch).

Dismounting a ladder in a cutscene or when using a cutscene item (possible using restricted items glitch), i.e. player->unk_6AD is 3 or 4, causes the animation in Player_Action_DismountLadder to never finish because Player_TryActionInterrupt always returns true and player cannot exit the action.
Fix: Disregard result of Player_TryActionInterrupt if unk_6AD >= 3.

I have also written in more detail here https://github.com/djevangelia/ootmm-bugfix/blob/main/oot%20ladder%20cutscene%20softlock.c, with addition that this also concerns unk_6AD = 4 (cutscene items).

This fix does not affect normal or glitched gameplay, this bug is purely a softlock.

Demonstration of softlock and fix in SoH: https://www.youtube.com/watch?v=9RazVt8pKeQ

I've also submitted naming the Player_Action_DismountLadder function etc to decomp zeldaret/oot#2771 but reviews there are generally going slow.

Build Artifacts

@Pepper0ni

Copy link
Copy Markdown
Contributor

While this is a purely positive fix, it should probably still be behind a setting, as unmodified Ship is supposed to be a totally vanilla experience, warts and all.

There are exceptions to this rule, notably hookshot as child crash, but generally those a combination of difficult to trigger by accident, hard to fix/re-break in that particular case, and purely destructive. This case only covers the latter, so I do not image it would get an exception, but if a more senior dev wants to overrule I would not mind.

@serprex

serprex commented Jun 23, 2026

Copy link
Copy Markdown
Member

thinking we might group this & other soft lock behind shared setting. maybe can review existing settings in case there's room for more consolidation

Comment thread soh/include/z64player.h Outdated
@djevangelia

Copy link
Copy Markdown
Contributor Author

Thanks! My interest is primarily working with decomp/vanilla and porting vanilla fixes, so if there should be a setting, once it's been decided upon just let me know how to put it in SoH and I'll change it.

I could see the case to make cutscene items (unk_6AD 4) a special case in this bugfix, as it allows use of Farore's Wind with ladder restricted items glitch (all CS items of course softlock, but FW is not usable after dismount). Depends on one's view on bugfixes and glitches - one could argue that FW should work, because the softlock is a bug; or, that like in vanilla FW should not be possible, even if the softlock is fixed. I can look into ways of prohibiting FW if needed.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants