Moved OW flag checks to global variable
This commit is contained in:
@@ -114,6 +114,9 @@ function hexto555(h) = ((((h&$FF)/8)<<10)|(((h>>8&$FF)/8)<<5)|(((h>>16&$FF)/8)<<
|
|||||||
!MULTIWORLD_HUD_DELAY = "#120"
|
!MULTIWORLD_HUD_DELAY = "#120"
|
||||||
!Dungeon_ChestData = "$01E96C"
|
!Dungeon_ChestData = "$01E96C"
|
||||||
|
|
||||||
|
!FLAG_OW_MIXED = $04
|
||||||
|
!FLAG_OW_CROSSED = $02
|
||||||
|
|
||||||
incsrc hooks.asm
|
incsrc hooks.asm
|
||||||
incsrc treekid.asm
|
incsrc treekid.asm
|
||||||
incsrc spriteswap.asm
|
incsrc spriteswap.asm
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ RTL
|
|||||||
AnimatedEntranceFix: ;when an entrance animation tries to start
|
AnimatedEntranceFix: ;when an entrance animation tries to start
|
||||||
PHA : PHX
|
PHA : PHX
|
||||||
LDA.l InvertedMode : BEQ + ;If we are in inverted mode
|
LDA.l InvertedMode : BEQ + ;If we are in inverted mode
|
||||||
LDA.l OWMode+1 : CMP #$04 : BEQ + ;If we are in Mixed OW shuffle mode
|
LDA.l OWMode+1 : AND.b #!FLAG_OW_MIXED : BEQ + ;If we are in Mixed OW shuffle mode
|
||||||
LDA $8A : AND #$40 : BNE + ;and in the light world
|
LDA $8A : AND #$40 : BNE + ;and in the light world
|
||||||
PLX : PLA
|
PLX : PLA
|
||||||
STZ $04C6 ; skip it.
|
STZ $04C6 ; skip it.
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ FluteBoy:
|
|||||||
JML.l FluteBoy_Continue
|
JML.l FluteBoy_Continue
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
FreeDuckCheck:
|
FreeDuckCheck:
|
||||||
LDA.l OWMode+1 : CMP.b #$04 : BEQ .skipInvertedCheck
|
LDA.l OWMode+1 : AND.b #!FLAG_OW_MIXED : BEQ .skipInvertedCheck
|
||||||
LDA.l InvertedMode : BEQ .done
|
LDA.l InvertedMode : BEQ .done
|
||||||
.skipInvertedCheck
|
.skipInvertedCheck
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ HudAdditions:
|
|||||||
++
|
++
|
||||||
|
|
||||||
LDX $1B : BNE + ; if outdoors
|
LDX $1B : BNE + ; if outdoors
|
||||||
lda.l OWMode : and #$06ff : bne ++ : rts ; Skip if vanilla ow rando
|
lda.l OWMode : and.w #((!FLAG_OW_CROSSED+!FLAG_OW_MIXED)<<8)+$ff : bne ++ : rts ; Skip if vanilla ow rando
|
||||||
++ lda $7ef36d : and #$00ff : beq ++
|
++ lda $7ef36d : and #$00ff : beq ++
|
||||||
lda $7ef3ca : and #$00ff : beq +++
|
lda $7ef3ca : and #$00ff : beq +++
|
||||||
lda #$2d60 : bra .owdisplay
|
lda #$2d60 : bra .owdisplay
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ OWNewDestination:
|
|||||||
sep #$30 : lda OWOppSlotOffset,y : !add $04 : asl : and #$7f : sta $700
|
sep #$30 : lda OWOppSlotOffset,y : !add $04 : asl : and #$7f : sta $700
|
||||||
|
|
||||||
; crossed OW shuffle
|
; crossed OW shuffle
|
||||||
lda.l OWMode+1 : and.b #$02 : beq .return
|
LDA.l OWMode+1 : AND.b #!FLAG_OW_CROSSED : beq .return
|
||||||
ldx $05 : lda.l OWTileWorldAssoc,x : sta.l $7ef3ca ; change world
|
ldx $05 : lda.l OWTileWorldAssoc,x : sta.l $7ef3ca ; change world
|
||||||
|
|
||||||
; toggle bunny mode
|
; toggle bunny mode
|
||||||
|
|||||||
Reference in New Issue
Block a user