Load correct Link/Bunny palette on transition
This commit is contained in:
2
Rom.py
2
Rom.py
@@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '8e95ee70d7afec407016449e86439550'
|
RANDOMIZERBASEHASH = '8862307c3bdf3ae838f7e07b5df6596b'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user