Fix endgame dark woods music

This commit is contained in:
qwertymodo
2019-10-12 13:02:20 -07:00
parent bb2fdc8041
commit dd6fd2576f
3 changed files with 26 additions and 5 deletions

View File

@@ -2265,6 +2265,9 @@ org $02A9B0 ; (BCS $A9B7)
NOP #2
org $02C1C8 ; (BCS $C1CC)
NOP #2
;
org $02ADA0 ; (LDA.b #$F1 : STA $012C)
JSL Overworld_MosaicDarkWorldChecks : NOP
;--------------------------------------------------------------------------------
org $05CC58 ; <- Bank05.asm:1307 (LDA $040A : CMP.b #$18)
JSL PsychoSolder_MusicCheck

View File

@@ -198,6 +198,7 @@ CheckMusicLoadRequest:
CMP.b #02 : BEQ .lightworld
CMP.b #09 : BEQ .darkworld
CMP.b #13 : BEQ .darkwoods
CMP.b #15 : BEQ .darkwoods
CMP.b #16 : BEQ .castle
CMP.b #17 : BEQ .dungeon
CMP.b #22 : BEQ .dungeon
@@ -220,11 +221,7 @@ CheckMusicLoadRequest:
LDA.b #61 : BRA .check_fallback-3
.darkwoods
PHA
LDA $7EF37A : CMP.b #$7F : BNE +
LDA !REG_MSU_FALLBACK_TABLE+7 : BIT #$10 : BEQ +
PLA : LDA.b #61 : STA !REG_MUSIC_CONTROL_REQUEST
BRA .mute
+
LDA $7EF37A : CMP.b #$7F : BEQ -
LDA $7EF3CA : BEQ --
LDA $8A : CMP #$40 : BNE --
PLA

View File

@@ -259,6 +259,27 @@ PsychoSolder_MusicCheck:
RTL
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
; Additional dark world checks to determine whether or not to fade out music
; on mosaic transitions
;
; On entry, A = $8A (overworld area being loaded)
Overworld_MosaicDarkWorldChecks:
CMP.b #$40 : beq .checkCrystals
CMP.b #$42 : beq .checkCrystals
CMP.b #$50 : beq .checkCrystals
CMP.b #$51 : bne .doFade
.checkCrystals
LDA $7EF37A : CMP.b #$7F : BEQ .done
.doFade
LDA.b #$F1 : STA $012C ; thing we wrote over, fade out music
.done
RTL
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
!SPCFreeSpace = $0700