Fixed fake world handling for glitched modes
This commit is contained in:
18
owrando.asm
18
owrando.asm
@@ -151,8 +151,8 @@ jsl OWWorldCheck16 : nop
|
|||||||
org $9bed95 ; < ? - palettes.asm:748 ()
|
org $9bed95 ; < ? - palettes.asm:748 ()
|
||||||
jsl OWWorldCheck16 : nop
|
jsl OWWorldCheck16 : nop
|
||||||
|
|
||||||
org $82b16e ; AND #$3F : ORA 7EF3CA
|
org $82B16C ; LDA $8A : AND #$3F : ORA 7EF3CA
|
||||||
and.b #$7f : eor.b #$40 : nop #2
|
JSL OWApplyWorld : BRA + : NOP #2 : +
|
||||||
|
|
||||||
org $89C3C4
|
org $89C3C4
|
||||||
jsl OWBonkDropPrepSprite : nop #2
|
jsl OWBonkDropPrepSprite : nop #2
|
||||||
@@ -225,6 +225,17 @@ OWMapWorldCheck16:
|
|||||||
.return
|
.return
|
||||||
rtl
|
rtl
|
||||||
}
|
}
|
||||||
|
OWApplyWorld:
|
||||||
|
{
|
||||||
|
LDX.b OverworldIndex
|
||||||
|
|
||||||
|
.fromScreen
|
||||||
|
LDA.l OWTileWorldAssoc,X : CMP.l CurrentWorld : BEQ .keepWorld ; if dest screen mismatches the current world
|
||||||
|
TXA : EOR.b #$40 : RTL
|
||||||
|
|
||||||
|
.keepWorld
|
||||||
|
TXA : RTL
|
||||||
|
}
|
||||||
|
|
||||||
OWWhirlpoolUpdate:
|
OWWhirlpoolUpdate:
|
||||||
{
|
{
|
||||||
@@ -757,8 +768,7 @@ OWEdgeTransition:
|
|||||||
.unshuffled
|
.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
|
||||||
TAX : LDA.l OWMode+1 : AND.b #!FLAG_OW_MIXED : BEQ .vanilla
|
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
|
JML OWApplyWorld_fromScreen
|
||||||
TXA : EOR.b #$40 : RTL
|
|
||||||
|
|
||||||
.vanilla
|
.vanilla
|
||||||
TXA : RTL
|
TXA : RTL
|
||||||
|
|||||||
Reference in New Issue
Block a user