Fix inverted bunny music

This commit is contained in:
qwertymodo
2018-11-28 16:37:27 -08:00
parent a1e34c280a
commit 80bc569279
2 changed files with 88 additions and 1 deletions

View File

@@ -2213,6 +2213,9 @@ PreOverworld_LoadProperties_SetSong:
org $05CC58 ; <- Bank05.asm:1307 (LDA $040A : CMP.b #$18)
JSL PsychoSolder_MusicCheck
NOP #1
;--------------------------------------------------------------------------------
org $02B13A ; <- Bank02.asm:7647
dl Overworld_FinishMirrorWarp
;================================================================================
;================================================================================

View File

@@ -52,7 +52,7 @@ PreOverworld_LoadProperties_ChooseMusic:
.endOfLightWorldChecks
; if we are in the light world go ahead and set chosen selection
LDA $7EF3CA : BEQ .lastCheck
LDA $7EF3CA : BEQ .checkInverted+4
LDX.b #$0D ; dark woods theme
@@ -62,6 +62,10 @@ PreOverworld_LoadProperties_ChooseMusic:
LDX.b #$09 ; dark overworld theme
+
; if not inverted and light world, or inverted and dark world, skip moon pearl check
.checkInverted
LDA $7EF3CA : CLC : ROL #$03 : CMP InvertedMode : BEQ .lastCheck
; Does Link have a moon pearl?
LDA $7EF357 : BNE +
LDX.b #$04 ; bunny theme
@@ -79,6 +83,86 @@ PreOverworld_LoadProperties_ChooseMusic:
JML.l PreOverworld_LoadProperties_SetSong
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
Overworld_FinishMirrorWarp:
REP #$20
LDA.w #$2641 : STA $4370
LDX.b #$3E
LDA.w #$FF00
.clear_hdma_table
STA $1B00, X : STA $1B40, X
STA $1B80, X : STA $1BC0, X
STA $1C00, X : STA $1C40, X
STA $1C80, X
DEX #2 : BPL .clear_hdma_table
LDA.w #$0000 : STA $7EC007 : STA $7EC009
SEP #$20
JSL $00D7C8 ; $57C8 IN ROM
LDA.b #$80 : STA $9B
LDX.b #$04 ; bunny theme
; if not inverted and light world, or inverted and dark world, skip moon pearl check
LDA $7EF3CA : CLC : ROL #$03 : CMP InvertedMode : BEQ +
LDA $7EF357 : BEQ .endOfLightWorldChecks
+
LDX.b #$09 ; default dark world theme
LDA $8A : CMP.b #$40 : !BGE .endOfLightWorldChecks
LDX.b #$02 ; hyrule field theme
; Check if we're entering the village
CMP.b #$18 : BNE .endOfLightWorldChecks
; Check what phase we're in
LDA $7EF3C5 : CMP.b #$03 : !BGE .endOfLightWorldChecks
LDX.b #$07 ; Default village theme (phase <3)
.endOfLightWorldChecks
STX $012C
LDA $8A : CMP.b #$40 : BEQ .darkWoods
CMP.b #$43 : BEQ .darkMountain
CMP.b #$45 : BEQ .darkMountain
CMP.b #$47 : BNE .notDarkMountain
.darkMountain
LDA #$09 : STA $012D ; set storm ambient SFX
.darkWoods
LDX.b #$0D ; dark mountain/woods theme
LDA $7EF357 : ORA InvertedMode : BNE +
LDA #$04 ; bunny theme
+
STX $012C
.notDarkMountain
LDA $11 : STA $010C
STZ $11
STZ $B0
STZ $0200
STZ $0710
RTL
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
;0 = Is Kakariko Overworld
;1 = Not Kakariko Overworld