Fixed OOB transition behavior in Mixed OWR

This commit is contained in:
codemann8
2022-10-21 00:11:45 -05:00
parent 33cfd010a0
commit 43448cc5b6

View File

@@ -586,9 +586,9 @@ OWDetectSpecialTransition:
}
OWEdgeTransition:
{
LDA.l OWMode : ORA.l OWMode+1 : BEQ .vanilla
LDA.l OWMode : ORA.l OWMode+1 : BEQ .unshuffled
LDY.w $06FA : CPY.b #$7F
BEQ .vanilla
BEQ .unshuffled
REP #$10
LDX.w $06F8
PHB : PHK : PLB
@@ -596,9 +596,15 @@ OWEdgeTransition:
PLB
SEP #$30
RTL
.vanilla
.unshuffled
LDA.l Overworld_ActualScreenID,X : ORA.l CurrentWorld ; what we wrote over
RTL
TAX : LDA.l OWMode+1 : AND.b #!FLAG_OW_MIXED : BEQ .vanilla
LDA.l OWTileWorldAssoc,X : CMP.l CurrentWorld : BEQ .vanilla ; if dest screen mismatches the current world
TXA : EOR #$40 : RTL
.vanilla
TXA : RTL
}
OWSpecialExit:
{