From 43448cc5b6d51f9e1735768dba7709129a6096d3 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Fri, 21 Oct 2022 00:11:45 -0500 Subject: [PATCH] Fixed OOB transition behavior in Mixed OWR --- owrando.asm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/owrando.asm b/owrando.asm index 2863b0d..3472bfa 100644 --- a/owrando.asm +++ b/owrando.asm @@ -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: {