From a20c432003352dd2944e8c37b031abd45c4a808b Mon Sep 17 00:00:00 2001 From: CaitSith2 Date: Wed, 13 May 2020 10:23:22 -0700 Subject: [PATCH 1/2] Reset inner floodgates if and only if the... ...small keys are actually flooded. --- floodgatesoftlock.asm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/floodgatesoftlock.asm b/floodgatesoftlock.asm index be3a06b..a1dcc83 100644 --- a/floodgatesoftlock.asm +++ b/floodgatesoftlock.asm @@ -11,9 +11,12 @@ FloodGateReset: LDA $7EF051 : AND.b #$FE : STA $7EF051 ; clear water front room (room 40) + FloodGateResetInner: - LDA.l Bugfix_SwampWaterLevel : BEQ + - ; LDA $7EF06E : AND.b #$7F : STA $7EF06E ; clear water room 55 - outer room you shouldn't be able to softlock except in major glitches - LDA $7EF06A : AND.b #$7F : STA $7EF06A ; clear water room 53 - inner room with the easy key flood softlock + LDA.l Bugfix_SwampWaterLevel : BEQ ++ + LDA $7EF06F : AND.b #$04 : BNE + ; Check if key in room 55 has been collected. + LDA $7EF06E : AND.b #$7F : STA $7EF06E ; clear water room 55 - outer room you shouldn't be able to softlock except in major glitches + + LDA $7EF06B : AND.b #$04 : BNE ++ ; Check if key in room 53 has been collected. + LDA $7EF06A : AND.b #$7F : STA $7EF06A ; clear water room 53 - inner room with the easy key flood softlock + ++ RTL -;================================================================================ \ No newline at end of file +;================================================================================ From c3398b305a84ba4e1f53a9b574f6f267de4d0b29 Mon Sep 17 00:00:00 2001 From: caitsith2 Date: Tue, 23 Jun 2020 01:20:31 -0700 Subject: [PATCH 2/2] Check for flippers in room 55, and if not present, drain it. (Allows for SW to NW, SW to East, and NW to East without flippers.) no need to check for flippers on room 53, as getting to the west door is completely blocked, whether or not it is flooded without flippers. --- floodgatesoftlock.asm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/floodgatesoftlock.asm b/floodgatesoftlock.asm index a1dcc83..043e422 100644 --- a/floodgatesoftlock.asm +++ b/floodgatesoftlock.asm @@ -11,12 +11,15 @@ FloodGateReset: LDA $7EF051 : AND.b #$FE : STA $7EF051 ; clear water front room (room 40) + FloodGateResetInner: - LDA.l Bugfix_SwampWaterLevel : BEQ ++ - LDA $7EF06F : AND.b #$04 : BNE + ; Check if key in room 55 has been collected. - LDA $7EF06E : AND.b #$7F : STA $7EF06E ; clear water room 55 - outer room you shouldn't be able to softlock except in major glitches + LDA.l Bugfix_SwampWaterLevel : BEQ +++ + LDA $7EF06F : AND.b #$04 : BEQ + ; Check if key in room 55 has been collected. + LDA $7EF356 : AND.b #$01 : BNE ++ ; Check for flippers. This can otherwise softlock doors if flooded without flippers and no way to reset. + - LDA $7EF06B : AND.b #$04 : BNE ++ ; Check if key in room 53 has been collected. - LDA $7EF06A : AND.b #$7F : STA $7EF06A ; clear water room 53 - inner room with the easy key flood softlock + LDA $7EF06E : AND.b #$7F : STA $7EF06E ; clear water room 55 - outer room you shouldn't be able to softlock except in major glitches ++ + LDA $7EF06B : AND.b #$04 : BNE +++ ; Check if key in room 53 has been collected. + ; no need to check for flippers on the inner room, as you can't get to the west door no matter what, without flippers. + LDA $7EF06A : AND.b #$7F : STA $7EF06A ; clear water room 53 - inner room with the easy key flood softlock + +++ RTL ;================================================================================