From 25dc4217c6d55f91ed6c7c21d34bf697b2b0d15e Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 2 Apr 2023 07:39:02 -0500 Subject: [PATCH] Fixed Old Man Death causing fake world in glitched --- darkworldspawn.asm | 20 +++++++++++++------- doorrando/doortables.asm | 4 +++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/darkworldspawn.asm b/darkworldspawn.asm index 9911032..bef527f 100644 --- a/darkworldspawn.asm +++ b/darkworldspawn.asm @@ -10,12 +10,14 @@ DoWorldFix: LDA InvertedMode : BEQ + JMP DoWorldFix_Inverted + - LDA FollowerIndicator : CMP #$04 : BEQ .aga1Alive ; if old man following, skip mirror/aga check LDA.l Bugfix_MirrorlessSQToLW : BEQ .skip_mirror_check - LDA MirrorEquipment : AND #$02 : BEQ .noMirror ; check if we have the mirror + LDA FollowerIndicator : CMP #$04 : BNE + ; if old man following, skip mirror/aga check + LDA.l OldManRetrievalWorld + BRA .noMirror + + LDA MirrorEquipment : AND #$02 : BEQ .noMirror ; check if we have the mirror .skip_mirror_check ; alt entrance point LDA ProgressIndicator : CMP.b #$03 : BCS .done ; check if agahnim 1 is alive - .aga1Alive + .setLightWorld LDA #$00 .noMirror STA CurrentWorld ; set flag to light world @@ -54,14 +56,18 @@ JMP DoWorldFix_skip_mirror_check RTL ;================================================================================ DoWorldFix_Inverted: - LDA FollowerIndicator : CMP #$04 : BEQ .aga1Alive ; if old man following, skip mirror/aga check LDA.l Bugfix_MirrorlessSQToLW : BEQ .skip_mirror_check - LDA.l MirrorEquipment : AND #$02 : BEQ .noMirror ; check if we have the mirror + LDA FollowerIndicator : CMP #$04 : BNE + ; if old man following, skip mirror/aga check + LDA.l OldManRetrievalWorld + BRA .setWorld + + LDA.l MirrorEquipment : AND #$02 : BEQ .noMirror ; check if we have the mirror .skip_mirror_check ; alt entrance point LDA ProgressIndicator : CMP.b #$03 : BCS .done ; check if agahnim 1 is alive .noMirror - .aga1Alive - LDA #$40 : STA CurrentWorld ; set flag to dark world + .setDarkWorld + LDA #$40 + .setWorld + STA CurrentWorld ; set flag to dark world LDA.l SmithDeleteOnSave : BEQ .transform LDA FollowerIndicator CMP #$07 : BEQ .clear ; clear frog diff --git a/doorrando/doortables.asm b/doorrando/doortables.asm index abdd13e..1ae843a 100644 --- a/doorrando/doortables.asm +++ b/doorrando/doortables.asm @@ -693,4 +693,6 @@ dw $ffff SanctuaryDarkWorld: dw $ffff OldManDarkWorld: -dw $ffff \ No newline at end of file +dw $ffff +OldManRetrievalWorld: +dw $0000 \ No newline at end of file