diff --git a/doorrando/overrides.asm b/doorrando/overrides.asm index 098c85b..80ec1c8 100644 --- a/doorrando/overrides.asm +++ b/doorrando/overrides.asm @@ -133,7 +133,7 @@ RainPrevention: - INX #2 : LDA.l RemoveRainDoorsRoom, X : CMP #$FFFF : BEQ .done CMP $A0 : BNE - SEP #$20 : LDA.l RainDoorMatch, X : CMP $00 : BNE .continue - REP #$20 : PLA : SEC : RTL + INC.w $0460 : INC.w $0460 : REP #$20 : PLA : SEC : RTL .continue REP #$20 : BRA - .done PLA : CLC : RTL @@ -153,3 +153,10 @@ BlindsAtticHint: SEP #$20 : RTL ; skip the dialog box if the hole is already open + SEP #$20 : JML Main_ShowTextMessage +BlindZeldaDespawnFix: + CMP.b #06 : BEQ + + LDA.w $0D00,X : BEQ + ; don't despawn follower if maiden isn't "present" + PLA : PLA : PEA.w SpritePrep_BlindMaiden_despawn_follower-1 : RTL + + PLA : PLA : PEA.w SpritePrep_BlindMaiden_kill_the_girl-1 : RTL + + diff --git a/hooks.asm b/hooks.asm index d44e15c..d8c55b3 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2595,7 +2595,14 @@ JSL.l QuickSwap org $0689AB ; <- 309AB - sprite_prep.asm: 647 (LDA $7EF3CC : CMP.b #$06 : BEQ .killSprite) ; Note: In JP 1.0 we have: (CMP.b #$00 : BNE .killSprite) appling US bugfix ; Prevent followers from causing blind/maiden to despawn: -CMP.b #$06 : db #$F0 ; BEQ +; Door rando: let zelda despawn the maiden. +JSL BlindZeldaDespawnFix + +org $0689AF +SpritePrep_BlindMaiden_despawn_follower: ; this is the normal execution path + +org $0689C9 +SpritePrep_BlindMaiden_kill_the_girl: ; not the follower ;-------------------------------------------------------------------------------- ; Fix old man purple chest issues using the same method as above org $1EE906 ; <- F6906 - sprite_old_mountain_man.asm : 31 (LDA $7EF3CC : CMP.b #$00 : BNE .already_have_tagalong)