Load correct Link/Bunny palette on transition
This commit is contained in:
@@ -538,6 +538,9 @@ Underworld_LoadSpawnEntrance:
|
|||||||
org $02E99D
|
org $02E99D
|
||||||
FluteMenu_LoadTransport:
|
FluteMenu_LoadTransport:
|
||||||
|
|
||||||
|
org $02FD6D
|
||||||
|
LoadGearPalettes_link:
|
||||||
|
|
||||||
org $02FD8A ; 17D8A - Bank0E.asm: 3732 Note: Different bank
|
org $02FD8A ; 17D8A - Bank0E.asm: 3732 Note: Different bank
|
||||||
LoadGearPalettes_bunny:
|
LoadGearPalettes_bunny:
|
||||||
|
|
||||||
|
|||||||
32
owrando.asm
32
owrando.asm
@@ -985,17 +985,17 @@ OWWorldTerrainUpdate: ; x = owid of destination screen, y = 1 for land to water,
|
|||||||
lda #$38 : sta $012f ; play sfx - #$3b is an alternative
|
lda #$38 : sta $012f ; play sfx - #$3b is an alternative
|
||||||
|
|
||||||
; toggle bunny mode
|
; toggle bunny mode
|
||||||
lda MoonPearlEquipment : bne .nobunny
|
lda MoonPearlEquipment : beq + : jmp .nobunny
|
||||||
lda.l InvertedMode : bne .inverted
|
+ lda.l InvertedMode : bne .inverted
|
||||||
lda CurrentWorld : bra +
|
lda CurrentWorld : bra +
|
||||||
.inverted lda CurrentWorld : eor #$40
|
.inverted lda CurrentWorld : eor #$40
|
||||||
+ and #$40 : beq .nobunny
|
+ and #$40 : beq .nobunny
|
||||||
|
|
||||||
LDA.w $0703 : BEQ + ; check if forced transition
|
LDA.w $0703 : BEQ + ; check if forced transition
|
||||||
CPY.b #$03 : BEQ .end_forced_whirlpool
|
CPY.b #$03 : BEQ ++
|
||||||
LDA.b #$17 : STA.b $5D
|
LDA.b #$17 : STA.b $5D
|
||||||
LDA.b #$01 : STA.w $02E0 : STA.b $56
|
LDA.b #$01 : STA.w $02E0 : STA.b $56
|
||||||
LDA.w $0703 : BRA .end_forced_edge
|
LDA.w $0703 : JSR OWLoadGearPalettes : BRA .end_forced_edge
|
||||||
|
++ JSR OWLoadGearPalettes : BRA .end_forced_whirlpool
|
||||||
+
|
+
|
||||||
CPY.b #$01 : BEQ .auto ; check if going from land to water
|
CPY.b #$01 : BEQ .auto ; check if going from land to water
|
||||||
CPY.b #$02 : BEQ .to_bunny_reset_swim ; bunny state if swimming to land
|
CPY.b #$02 : BEQ .to_bunny_reset_swim ; bunny state if swimming to land
|
||||||
@@ -1014,8 +1014,8 @@ OWWorldTerrainUpdate: ; x = owid of destination screen, y = 1 for land to water,
|
|||||||
STZ.b $5D
|
STZ.b $5D
|
||||||
PLX
|
PLX
|
||||||
BRA .to_pseudo_bunny
|
BRA .to_pseudo_bunny
|
||||||
.whirlpool
|
.whirlpool
|
||||||
PLX : RTS
|
PLX : JMP OWLoadGearPalettes
|
||||||
.to_bunny_reset_swim
|
.to_bunny_reset_swim
|
||||||
LDA.b $5D : CMP.b #$04 : BNE .to_bunny ; check if swimming
|
LDA.b $5D : CMP.b #$04 : BNE .to_bunny ; check if swimming
|
||||||
JSL Link_ResetSwimmingState
|
JSL Link_ResetSwimmingState
|
||||||
@@ -1024,7 +1024,7 @@ OWWorldTerrainUpdate: ; x = owid of destination screen, y = 1 for land to water,
|
|||||||
LDA.b #$17 : STA.b $5D
|
LDA.b #$17 : STA.b $5D
|
||||||
.to_pseudo_bunny
|
.to_pseudo_bunny
|
||||||
LDA.b #$01 : STA.w $02E0 : STA.b $56
|
LDA.b #$01 : STA.w $02E0 : STA.b $56
|
||||||
RTS
|
JMP OWLoadGearPalettes
|
||||||
|
|
||||||
.nobunny
|
.nobunny
|
||||||
lda $5d : cmp #$17 : bne + ; retain current state unless bunny
|
lda $5d : cmp #$17 : bne + ; retain current state unless bunny
|
||||||
@@ -1073,6 +1073,18 @@ OWWorldTerrainUpdate: ; x = owid of destination screen, y = 1 for land to water,
|
|||||||
.return
|
.return
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
OWLoadGearPalettes:
|
||||||
|
{
|
||||||
|
PHX : PHY : LDA $00 : PHA
|
||||||
|
LDA.w $02E0 : BEQ +
|
||||||
|
JSL LoadGearPalettes_bunny
|
||||||
|
BRA .return
|
||||||
|
+
|
||||||
|
JSL LoadGearPalettes_link
|
||||||
|
.return
|
||||||
|
PLA : STA $00 : PLY : PLX
|
||||||
|
RTS
|
||||||
|
}
|
||||||
OWAdjustExitPosition:
|
OWAdjustExitPosition:
|
||||||
{
|
{
|
||||||
LDA.w $06FC : CMP.b #$60 : BEQ .stone_bridge
|
LDA.w $06FC : CMP.b #$60 : BEQ .stone_bridge
|
||||||
|
|||||||
Reference in New Issue
Block a user