Fix some music issues

This commit is contained in:
codemann8
2024-08-27 07:12:57 -05:00
parent a5dfd97687
commit 23943f2234
4 changed files with 57 additions and 14 deletions

View File

@@ -81,11 +81,8 @@ FixAga2Bunny:
JSL DecideIfBunny : BNE + JSL DecideIfBunny : BNE +
JSR MakeBunny JSR MakeBunny
+ +
.done .done
PHX JML Overworld_DetermineAndSetMusic
JSL Overworld_DetermineMusic : STX.w MusicControlRequest
PLX
RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -1732,7 +1732,7 @@ org $828D6E
JSL FallingMusicFadeOut : BRA + : NOP #2 : + JSL FallingMusicFadeOut : BRA + : NOP #2 : +
;================================================================================ ;================================================================================
org $829090 ; <- 11090 - Bank02.asm:3099 (LDA $7EF374 : LSR A) org $829090 ; <- 11090 - Bank02.asm:3099 (LDA $7EF374 : LSR A)
JSL CheckHeraBossDefeated : NOP JSL CheckHeraBossDefeated_AlsoCheckMusic : NOP
;================================================================================ ;================================================================================
org $829798 ; <- 11798 - Bank02.asm:4287 (CMP $02895C, X : BNE BRANCH_ALPHA) org $829798 ; <- 11798 - Bank02.asm:4287 (CMP $02895C, X : BNE BRANCH_ALPHA)
NOP #6 ; remove crystal room cutscene check that causes softlocks NOP #6 ; remove crystal room cutscene check that causes softlocks
@@ -2243,9 +2243,39 @@ org $8AB949 ; <- Bank0A.asm:270 (Different from US ROM)
JSL BirdTravel_LoadTargetAreaMusic JSL BirdTravel_LoadTargetAreaMusic
BRA + : NOP #14 : + BRA + : NOP #14 : +
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $829D42
JSL Overworld_DetermineMusic
BRA + : NOP #4 : +
;--------------------------------------------------------------------------------
org $82A981
JSL Overworld_DetermineAndSetMusic
;--------------------------------------------------------------------------------
org $82B027 ; <- Bank02.asm:7535-7541 org $82B027 ; <- Bank02.asm:7535-7541
JSL Overworld_DetermineMusic JSL Overworld_DetermineMusic
BRA + : NOP #42 : + BRA + : NOP #42 : +
;--------------------------------------------------------------------------------
org $82B0C4
JSL Overworld_DetermineAndSetMusic
BRA + : NOP #16 : +
;--------------------------------------------------------------------------------
org $82B1C1
JSL Overworld_DetermineAmbientSFX
JSL Overworld_DetermineMusic
BRA + : NOP #64 : +
;--------------------------------------------------------------------------------
org $82B441
JSL Overworld_DetermineMusic
BRA + : NOP #4 : +
;--------------------------------------------------------------------------------
org $82C1BA
JSL Overworld_DetermineMusic
BRA + : NOP #12 : +
;--------------------------------------------------------------------------------
org $88C442
JSL Overworld_DetermineAndSetMusic
;--------------------------------------------------------------------------------
org $9DFD27
JSL Overworld_DetermineAndSetMusic : NOP
;================================================================================ ;================================================================================
;================================================================================ ;================================================================================

View File

@@ -120,6 +120,7 @@ IsOverworldTrack:
CMP.b #05 : BEQ .yes ; 5 - Forest of Mystery CMP.b #05 : BEQ .yes ; 5 - Forest of Mystery
CMP.b #07 : BEQ .yes ; 7 - Kakariko Village CMP.b #07 : BEQ .yes ; 7 - Kakariko Village
CMP.b #09 : BEQ .yes ; 9 - Dark Golden Land CMP.b #09 : BEQ .yes ; 9 - Dark Golden Land
CMP.b #13 : BEQ .yes ; 13 - Dark Death Mountain
CMP.b #15 : BEQ .yes ; 15 - Dark Woods CMP.b #15 : BEQ .yes ; 15 - Dark Woods
CMP.b #60 : BEQ .yes ; 60 - Light World OW (after ped pull) CMP.b #60 : BEQ .yes ; 60 - Light World OW (after ped pull)
CMP.b #61 : BEQ .yes ; 61 - Dark World OW (with all crystals) CMP.b #61 : BEQ .yes ; 61 - Dark World OW (with all crystals)
@@ -349,7 +350,7 @@ SpiralStairsPreCheck:
JSL LookupSpiralOffset_long JSL LookupSpiralOffset_long
REP #$30 : AND.w #$00FF : ASL #2 : TAX REP #$30 : AND.w #$00FF : ASL #2 : TAX
LDA.l SpiralTable,X LDA.l SpiralTable,X
SEP #$10 : TAX : CPX.b #$07 : BNE .done ; check if hera boss SEP #$10 : CMP.w #$0007 : BNE .done ; check if hera boss
JSL CheckHeraBossDefeated : BCS .done JSL CheckHeraBossDefeated : BCS .done
LDX.b #$F1 : STX.w MusicControlRequest LDX.b #$F1 : STX.w MusicControlRequest
BRA .done BRA .done

View File

@@ -75,16 +75,28 @@ BirdTravel_LoadTargetAreaMusic:
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
Overworld_DetermineAndSetMusic:
PHX
JSL Overworld_DetermineMusic : STX.w MusicControlRequest
PLX
RTL
;--------------------------------------------------------------------------------
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;X to be set to music track to load ;X to be set to music track to load
Overworld_DetermineMusic: Overworld_DetermineMusic:
LDA.l ProgressIndicator : CMP.b #$02 : !BGE + LDA.l ProgressIndicator : CMP.b #$02 : !BGE +
LDX.b #$03 ; If phase < 2, play the rain music LDX.b #$03 ; If phase < 2, play the rain music
BRA .done BRA .done
+
+ LDA.b OverworldIndex : CMP.b #$43 : BEQ .darkMountain
CMP.b #$45 : BEQ .darkMountain LDA.l CurrentWorld : BEQ +
CMP.b #$47 : BEQ .darkMountain LDA.b OverworldIndex : ORA.b #$40
CMP.b #$43 : BEQ .darkMountain
CMP.b #$45 : BEQ .darkMountain
CMP.b #$47 : BEQ .darkMountain
+
LDX.b #$02 ; hyrule field theme LDX.b #$02 ; hyrule field theme
@@ -202,11 +214,14 @@ Underworld_DoorDown_Entry:
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
CheckHeraBossDefeated_AlsoCheckMusic:
LDA.w LastAPUCommand : AND.w #$00FF : CMP.w #$0015 : BNE + ; if boss music is playing
; Check if the boss in ToH has been defeated (16-bit accumulator) ; Check if the boss in ToH has been defeated (16-bit accumulator)
CheckHeraBossDefeated: CheckHeraBossDefeated:
LDA.l RoomDataWRAM[$07].high : AND.w #$00FF : BEQ + LDA.l RoomDataWRAM[$07].high : AND.w #$00FF : BNE +
SEC : RTL CLC : RTL
+ CLC : RTL + SEC : RTL
FallingMusicFadeOut: FallingMusicFadeOut:
CMP.w #$0017 ; what we wrote over CMP.w #$0017 ; what we wrote over