Merge remote-tracking branch 'codemann/OWMain' into overworld_kara
This commit is contained in:
@@ -134,4 +134,21 @@ protectff:
|
||||
|
||||
.spow
|
||||
db $80, $81, $81, $FF, $FF, $FF, $FF, $FF
|
||||
db $FF, $81, $81, $FF, $FF, $FF, $FF, $FF
|
||||
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
|
||||
@@ -2322,6 +2322,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
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -2368,6 +2371,7 @@ JML.l MirrorBonk
|
||||
MirrorBonk_NormalReturn:
|
||||
org $07A9D1 ; <- 3A9D1 - Bank07.asm:6649 (BRANCH_GAMMA:)
|
||||
MirrorBonk_BranchGamma:
|
||||
JML.l OWMirrorSpriteMove
|
||||
;================================================================================
|
||||
|
||||
;================================================================================
|
||||
|
||||
15
owrando.asm
15
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
|
||||
@@ -157,6 +158,12 @@ 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 +
|
||||
lda $1acf : eor #$80 : sta $1acf
|
||||
+ lda #$2c : jml.l $07A985 ; what we wrote over
|
||||
}
|
||||
|
||||
OWFluteCancel:
|
||||
{
|
||||
@@ -402,6 +409,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
|
||||
|
||||
Reference in New Issue
Block a user