Update Crossed OW to only perform Link/Bunny state changes when world changes
This commit is contained in:
31
owrando.asm
31
owrando.asm
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user