From c3df5f6cb1b918be622bec0c7be40fe2749bfa8a Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 6 Dec 2021 07:43:04 -0600 Subject: [PATCH 1/4] Fixed mirror portals showing in DW --- owrando.asm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/owrando.asm b/owrando.asm index ada8e1c..6c0eccb 100644 --- a/owrando.asm +++ b/owrando.asm @@ -146,6 +146,7 @@ OWPreserveMirrorSprite: { lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq .vanilla rtl ; if OW Crossed, skip world check and continue + .vanilla lda InvertedMode : beq + lda $7ef3ca : beq .deleteMirror @@ -402,6 +403,14 @@ OWWorldUpdate: ; x = owid of destination screen { lda.l OWTileWorldAssoc,x : cmp.l $7ef3ca : beq .return sta.l $7ef3ca ; change world + + ; moving mirror portal off screen when in DW + cmp #0 : beq + : lda #1 + + cmp.l InvertedMode : bne + + lda $1acf : and #$0f : sta $1acf : bra .playSfx ; bring portal back into position + + lda $1acf : eor #$80 : sta $1acf ; move portal off screen + + .playSfx lda #$38 : sta $012f ; play sfx - #$3b is an alternative ; toggle bunny mode From 9c3d85e360c7716f5cf2b6fbbf3808d589d0c205 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 13 Dec 2021 23:16:29 -0600 Subject: [PATCH 2/4] Improvement to FF damage fix to insta-warp Link to destination once Link has exceeded the bounds of the current screen --- flipperkill.asm | 19 ++++++++++++++++++- hooks.asm | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/flipperkill.asm b/flipperkill.asm index 6f8c420..67b84be 100644 --- a/flipperkill.asm +++ b/flipperkill.asm @@ -134,4 +134,21 @@ protectff: .spow db $80, $81, $81, $FF, $FF, $FF, $FF, $FF - db $FF, $81, $81, $FF, $FF, $FF, $FF, $FF \ No newline at end of file + db $FF, $81, $81, $FF, $FF, $FF, $FF, $FF + +FlipperScrollWarp: + STZ $00 : STZ $02 ; what we wrote over + LDA $308358 : BEQ .checkX : RTL + .checkX + LDA $22 : CMP.w $0604 : BCC + + CMP.w $0616 : BCS + + BRA .checkY + + LDA $7EC186 + STA $22 + .checkY + LDA $20 : CMP.w $0600 : BCC + + CMP.w $0612 : BCS + + RTL + + LDA $7EC184 + STA $20 +RTL \ No newline at end of file diff --git a/hooks.asm b/hooks.asm index 7155833..3064e4a 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2328,6 +2328,9 @@ FakeFlipperProtection: JSL protectff RTS ;-------------------------------------------------------------------------------- +org $02B46C ; <- bank_02.asm:9722 (STZ.b $00 : STZ.b $02) +JSL FlipperScrollWarp +;-------------------------------------------------------------------------------- ;org $078F27 ; <- 38F27 ;JSL.l FlipperReset ;-------------------------------------------------------------------------------- From 0a4c624f2fce53472df7fe402c6ceb4ab592b386 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 22 Dec 2021 10:49:12 -0600 Subject: [PATCH 3/4] Move mirror portal off screen during mirror bonk in Crossed OW --- hooks.asm | 1 + owrando.asm | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/hooks.asm b/hooks.asm index 3064e4a..181df84 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2377,6 +2377,7 @@ JML.l MirrorBonk MirrorBonk_NormalReturn: org $07A9D1 ; <- 3A9D1 - Bank07.asm:6649 (BRANCH_GAMMA:) MirrorBonk_BranchGamma: +JML.l OWMirrorSpriteMove ;================================================================================ ;================================================================================ diff --git a/owrando.asm b/owrando.asm index 6c0eccb..b44d43a 100644 --- a/owrando.asm +++ b/owrando.asm @@ -158,6 +158,13 @@ OWPreserveMirrorSprite: pla : lda #$de : pha ; in vanilla, if in dark world, jump to $05afdf rtl } +OWMirrorSpriteMove: +{ + lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq .return + lda $1acf : eor #$80 : sta $1acf + .return + lda #$2c : jml.l $07A985 ; what we wrote over +} OWFluteCancel: { From d75325e1c58b2397cea76a7c017e7a31469aa187 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 22 Dec 2021 10:51:26 -0600 Subject: [PATCH 4/4] Move mirror portal off screen during mirror bonk in Crossed OW --- owrando.asm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/owrando.asm b/owrando.asm index b44d43a..c192f76 100644 --- a/owrando.asm +++ b/owrando.asm @@ -160,10 +160,9 @@ OWPreserveMirrorSprite: } OWMirrorSpriteMove: { - lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq .return + lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq + lda $1acf : eor #$80 : sta $1acf - .return - lda #$2c : jml.l $07A985 ; what we wrote over + + lda #$2c : jml.l $07A985 ; what we wrote over } OWFluteCancel: