Fixed OOB transition behavior in Mixed OWR
This commit is contained in:
14
owrando.asm
14
owrando.asm
@@ -586,9 +586,9 @@ OWDetectSpecialTransition:
|
|||||||
}
|
}
|
||||||
OWEdgeTransition:
|
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
|
LDY.w $06FA : CPY.b #$7F
|
||||||
BEQ .vanilla
|
BEQ .unshuffled
|
||||||
REP #$10
|
REP #$10
|
||||||
LDX.w $06F8
|
LDX.w $06F8
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
@@ -596,9 +596,15 @@ OWEdgeTransition:
|
|||||||
PLB
|
PLB
|
||||||
SEP #$30
|
SEP #$30
|
||||||
RTL
|
RTL
|
||||||
.vanilla
|
|
||||||
|
.unshuffled
|
||||||
LDA.l Overworld_ActualScreenID,X : ORA.l CurrentWorld ; what we wrote over
|
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:
|
OWSpecialExit:
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user