mirror of
https://github.com/notwa/mm
synced 2025-02-05 13:23:23 -08:00
fix shuffling cleansed/unfrozen scenes
This commit is contained in:
parent
00509592dc
commit
93115a1d63
1 changed files with 35 additions and 6 deletions
|
@ -248,12 +248,27 @@ shuffle_exit:
|
||||||
shuffle_exit_return:
|
shuffle_exit_return:
|
||||||
jpop 4, ra, 1
|
jpop 4, ra, 1
|
||||||
|
|
||||||
shuffle_hook:
|
unset_alt_scene:
|
||||||
|
andi t9, a0, 0x01FF
|
||||||
|
andi t0, a0, 0xFE00
|
||||||
|
// use poisoned swamp
|
||||||
|
li at, 0x0C00
|
||||||
|
bne t0, at, +
|
||||||
|
li at, 0x8400
|
||||||
|
addu a0, t9, at
|
||||||
|
+:
|
||||||
|
// use frozen mountain
|
||||||
|
li at, 0x9A00
|
||||||
|
bne t0, at, +
|
||||||
|
li at, 0xAE00
|
||||||
|
addu a0, t9, at
|
||||||
|
+:
|
||||||
|
jr
|
||||||
|
mov v0, a0
|
||||||
|
|
||||||
|
set_alt_scene:
|
||||||
push 4, s0, ra
|
push 4, s0, ra
|
||||||
jal shuffle_exit // immediately pass a0 to here
|
mov s0, a0
|
||||||
nop
|
|
||||||
mov s0, v0
|
|
||||||
// handle alt scenes depending on game state
|
|
||||||
// use clean swamp when odolwa is beaten
|
// use clean swamp when odolwa is beaten
|
||||||
li a0, @week_event_reg
|
li a0, @week_event_reg
|
||||||
li a1, 20
|
li a1, 20
|
||||||
|
@ -274,7 +289,7 @@ shuffle_hook:
|
||||||
li a1, 33
|
li a1, 33
|
||||||
jal get_event_flag
|
jal get_event_flag
|
||||||
li a2, 7
|
li a2, 7
|
||||||
beqz v0, shuffle_hook_more
|
beqz v0, set_alt_scene_return
|
||||||
nop
|
nop
|
||||||
andi t9, s0, 0x01FF
|
andi t9, s0, 0x01FF
|
||||||
andi t0, s0, 0xFE00
|
andi t0, s0, 0xFE00
|
||||||
|
@ -293,6 +308,20 @@ shuffle_hook:
|
||||||
li at, 0xB600
|
li at, 0xB600
|
||||||
addu s0, t9, at
|
addu s0, t9, at
|
||||||
+:
|
+:
|
||||||
|
set_alt_scene_return:
|
||||||
|
mov v0, s0
|
||||||
|
jpop 4, s0, ra
|
||||||
|
|
||||||
|
shuffle_hook:
|
||||||
|
push 4, s0, ra
|
||||||
|
// immediately passes a0 to this
|
||||||
|
jal unset_alt_scene
|
||||||
|
nop
|
||||||
|
jal shuffle_exit
|
||||||
|
mov a0, v0
|
||||||
|
jal set_alt_scene
|
||||||
|
mov a0, v0
|
||||||
|
mov s0, v0
|
||||||
shuffle_hook_more:
|
shuffle_hook_more:
|
||||||
// set woodfall temple as raised after beating odolwa
|
// set woodfall temple as raised after beating odolwa
|
||||||
// otherwise the swamp won't be cleansed
|
// otherwise the swamp won't be cleansed
|
||||||
|
|
Loading…
Add table
Reference in a new issue