Update Crossed OW to only perform Link/Bunny state changes when world changes

This commit is contained in:
codemann8
2021-08-26 00:51:41 -05:00
parent fe24f6f865
commit 5d6d509bd9

View File

@@ -339,25 +339,26 @@ OWNewDestination:
; crossed OW shuffle ; crossed OW shuffle
LDA.l OWMode+1 : AND.b #!FLAG_OW_CROSSED : beq .return LDA.l OWMode+1 : AND.b #!FLAG_OW_CROSSED : beq .return
ldx $05 : lda.l OWTileWorldAssoc,x : cmp.l $7ef3ca : beq + ldx $05 : lda.l OWTileWorldAssoc,x : cmp.l $7ef3ca : beq .return
sta.l $7ef3ca ; change world sta.l $7ef3ca ; change world
lda #$38 : sta $012f ; play sfx - #$3b is an alternative lda #$38 : sta $012f ; play sfx - #$3b is an alternative
; toggle bunny mode ; toggle bunny mode
lda.l InvertedMode : bne .inverted + lda $7ef357 : bne .nobunny
lda $7ef3ca : and.b #$40 : bra + lda.l InvertedMode : bne .inverted
.inverted lda $7ef3ca : and.b #$40 : eor #$40 lda $7ef3ca : and.b #$40 : bra +
+ cmp #$40 : bne .nobunny .inverted lda $7ef3ca : and.b #$40 : eor #$40
; turn into bunny + cmp #$40 : bne .nobunny
lda $5d : cmp #$04 : beq + ; if swimming, continue ; turn into bunny
lda #$17 : sta $5d lda $5d : cmp #$04 : beq + ; if swimming, continue
+ lda #$01 : sta $02e0 : sta $56 lda #$17 : sta $5d
bra .return + lda #$01 : sta $02e0 : sta $56
bra .return
.nobunny .nobunny
lda $5d : cmp #$17 : bne + ; retain current state unless bunny lda $5d : cmp #$17 : bne + ; retain current state unless bunny
stz $5d stz $5d
+ stz $02e0 : stz $56 + stz $02e0 : stz $56
.return .return
lda $05 : sta $8a lda $05 : sta $8a