From 296c311b0a478d30c64bd75014f158773f268e63 Mon Sep 17 00:00:00 2001 From: aerinon Date: Fri, 27 Jan 2023 15:12:30 -0700 Subject: [PATCH] Fix for lamp check in escape if entering from dark world. Also fixes the torch going out bug. --- doorrando/drhooks.asm | 2 -- doorrando/overrides.asm | 24 ------------------------ lampmantlecone.asm | 15 ++++++--------- 3 files changed, 6 insertions(+), 35 deletions(-) diff --git a/doorrando/drhooks.asm b/doorrando/drhooks.asm index 4bc0d46..3022d71 100644 --- a/doorrando/drhooks.asm +++ b/doorrando/drhooks.asm @@ -110,8 +110,6 @@ org $9bece4 Palette_SpriteAux1: -org $8DFA53 -jsl LampCheckOverride org $828046 ; <- 10046 - Bank02.asm : 217 (JSL EnableForceBlank) (Start of Module_LoadFile) jsl OnFileLoadOverride org $87A93F ; < 3A93F - Bank07.asm 6548 (LDA $8A : AND.b #$40 - Mirror checks) diff --git a/doorrando/overrides.asm b/doorrando/overrides.asm index 7a443d7..3f9cdc6 100644 --- a/doorrando/overrides.asm +++ b/doorrando/overrides.asm @@ -1,27 +1,3 @@ -;================================================================================ -; Lamp Mantle & Light Cone Fix -;-------------------------------------------------------------------------------- -; Output: 0 for darkness, 1 for lamp cone -;-------------------------------------------------------------------------------- -LampCheckOverride: - LDA $7F50C4 : CMP.b #$01 : BNE + : RTL : + - CMP.b #$FF : BNE + : INC : RTL : + - - LDA LampEquipment : BNE .done ; skip if we already have lantern - - LDA CurrentWorld : BNE + - .lightWorld - LDA $040C : CMP.b #$04 : !BGE ++ ; check if we're in HC - LDA LampConeSewers : BRA .done - ++ - LDA LampConeLightWorld : BRA .done - + - .darkWorld - LDA LampConeDarkWorld - .done - ;BNE + : STZ $1D : + ; remember to turn cone off after a torch -RTL - GtBossHeartCheckOverride: lda $a0 : cmp #$1c : beq ++ cmp #$6c : beq ++ diff --git a/lampmantlecone.asm b/lampmantlecone.asm index 1262087..8f7bf6c 100644 --- a/lampmantlecone.asm +++ b/lampmantlecone.asm @@ -8,16 +8,13 @@ LampCheck: CMP.b #$FF : BNE + : INC : RTL : + LDA LampEquipment : BNE .done ; skip if we already have lantern - - LDA CurrentWorld : BNE + - .lightWorld - LDA $040C : BNE ++ ; check if we're in sewers + + LDA $040C : CMP.b #$FF : BEQ + + CMP.b #$04 : BCS + ; check if we're in HC LDA LampConeSewers : BRA .done - ++ - LDA LampConeLightWorld : BRA .done - + - .darkWorld - LDA LampConeDarkWorld + + LDA CurrentWorld : BNE + + LDA LampConeLightWorld : BRA .done + + LDA LampConeDarkWorld .done ;BNE + : STZ $1D : + ; remember to turn cone off after a torch RTL