Fixed mirror portals getting erased when changing worlds
This commit is contained in:
2
Rom.py
2
Rom.py
@@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '9dfff0f3d093eb9adce053e9773f523e'
|
RANDOMIZERBASEHASH = 'f51b9d3d5d995d55c111af82570d8f04'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
|
|||||||
@@ -391,6 +391,21 @@ OWWorldUpdate: ; x = owid of destination screen
|
|||||||
{
|
{
|
||||||
lda.l OWTileWorldAssoc,x : cmp.l $7ef3ca : beq .return
|
lda.l OWTileWorldAssoc,x : cmp.l $7ef3ca : beq .return
|
||||||
sta.l $7ef3ca ; change world
|
sta.l $7ef3ca ; change world
|
||||||
|
|
||||||
|
; activate mirror portal sprite
|
||||||
|
phx : cmp #0 : beq + : lda #1
|
||||||
|
+ cmp.l InvertedMode : bne +
|
||||||
|
lda #$09 : pha : bra .setPortalSpriteState
|
||||||
|
+ lda #$07 : pha ; some state that allows the portal to persist without it getting overwritten
|
||||||
|
|
||||||
|
.setPortalSpriteState
|
||||||
|
ldx #$0f
|
||||||
|
- lda $0e20,x : cmp #$6C : bne +
|
||||||
|
pla : sta $0dd0,x : plx : bra .playSfx
|
||||||
|
+ dex : bpl -
|
||||||
|
pla : plx
|
||||||
|
|
||||||
|
.playSfx
|
||||||
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
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user