Skip to content

Commit a9fe32d

Browse files
committed
Merge 'Fix for ladder cutscene softlock vanilla bug' (#2551)
# Conflicts: # ASM/build/bundle.o # data/generated/rom_patch.txt
2 parents 5874a08 + c0ce041 commit a9fe32d

11 files changed

Lines changed: 37598 additions & 37570 deletions

File tree

ASM/build/asm_symbols.txt

Lines changed: 741 additions & 739 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ASM/src/build.asm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ RANDO_CONTEXT:
133133
.include "en_dns.asm"
134134
.include "bg_gate_shutter.asm"
135135
.include "big_poe.asm"
136+
.include "player_ladder_cutscene.asm"
136137

137138
.align 0x10
138139
.importobj "../build/bundle.o"

ASM/src/hacks.asm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4161,3 +4161,4 @@ DemoEffect_DrawJewel_AfterHook:
41614161
.include "hacks/ovl_en_ssh.asm"
41624162
.include "hacks/ovl_en_okarina_tag.asm"
41634163
.include "hacks/sound.asm"
4164+
.include "hacks/z_player.asm"

ASM/src/hacks/z_player.asm

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.headersize(0x808301c0 - 0xbcdb70)
2+
3+
;================================================================================
4+
; Fixes softlock when starting cutscene while dismounting a ladder.
5+
;================================================================================
6+
; Replaces lw t8,1644(s0)
7+
; lui at,0xffdf
8+
.org 0x8084a6c4 ; in Player_Action_DismountLadder (0x803a3064)
9+
jal player_ladder_cutscene
10+
nop

ASM/src/player_ladder_cutscene.asm

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
player_ladder_cutscene:
2+
lbu t4,1693(s0) ; player->unk_6AD
3+
addi t3,t4,-3 ; Cutscene = 3, CS item = 4
4+
bltz t3,@@player_ladder_return ; If not CS/CS item, continue as usual
5+
nop
6+
addi ra,0x14 ; Else, continue at 0x8084a6e0/0x803a3080 (load argument to LinkAnimation_Update)
7+
8+
@@player_ladder_return: ; Original code
9+
lw t8,1644(s0)
10+
jr ra
11+
lui at,0xffdf

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
* Various minor fixes for advanced logic.
2323
* Fix for advanced logic tricks being cached when switching to glitchless logic.
2424
* Fix for misc hints when the hinted item was randomly selected as a starting item.
25+
* Fix a vanilla softlock when starting a cutscene while climbing a ladder.
2526

2627
## Other Changes
2728
* It is no longer required to have either the goron tunic or the Fewer Tunic Requirements trick for adult to go from the Bolero warp pad to the Fire temple in logic.

Patches.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,13 +1286,6 @@ def calculate_traded_flags(world):
12861286
if world.dungeon_mq['Spirit Temple']: # Patch Spirit MQ Lobby front right chest to use permanent switch flag 0x1F
12871287
rom.write_byte(0x2b08ce4 + 13, 0x1F)
12881288

1289-
if not world.dungeon_mq['Bottom of the Well']:
1290-
# Collecting the final BotW basement silver rupee and activating the cutscene of the door unlocking while on the ladder causes a softlock.
1291-
# Move slightly the X coordinate of this actor so that it cannot be collected while climbing.
1292-
# This is a vanilla bug tracked at https://github.com/OoTRandomizer/OoT-Randomizer/issues/2004
1293-
# If and when that bug is fixed in rando, this displacement can be removed.
1294-
rom.write_int16(0x32E92C6, 0xFD78)
1295-
12961289
# Write flag table data
12971290
xflags_tables, alt_list = build_xflags_from_world(world)
12981291
xflag_scene_table, xflag_room_table, xflag_room_blob, max_bit = build_xflag_tables(xflags_tables)

data/generated/patch_symbols.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)