Change GT2 music to only play upstairs

This commit is contained in:
qwertymodo
2019-09-21 15:25:35 -07:00
parent 9b4eac681a
commit f18d003a2b
3 changed files with 17 additions and 18 deletions

View File

@@ -207,13 +207,6 @@ RTL
PostItemAnimation:
LDA.b #$00 : STA !ITEM_BUSY ; mark item as finished
LDA $02D8 : CMP #$32 : BNE + ; Big Key
LDA $1B : BEQ + ; Check that we're indoors
LDA $040C : CMP #$1A : BNE + ; Check that we're in Ganon's Tower
LDA !REG_MSU_FALLBACK_TABLE+7 : AND #$04 : BEQ +
LDA.b #59 : STA !REG_MUSIC_CONTROL_REQUEST
+
LDA $7F509F : BEQ +
STZ $1CF0 : STZ $1CF1 ; reset decompression buffer
JSL.l Main_ShowTextMessage_Alt

View File

@@ -1447,6 +1447,15 @@ org $0080D7 ; <- D7 - Bank00.asm:172 (SEP #$30)
JML msu_main : NOP
spc_continue:
org $028B7A ; <- C220 A5A0 - Bank02.asm:2225 (REP #$20 : LDA $A0)
JSL SpiralStairsPreCheck
org $029069 ; <- A21C A5A0 - Bank02.asm:3081 (LDX.b #$1C : LDA $A0)
JSL SpiralStairsPostCheck
org $02D6E8 ; <- 9C0A01 - Bank02.asm:10811 (STZ $010A)
NOP #3
org $08C421 ; <- AD4021 F005 - ancilla_receive_item.asm:108 (LDA $2140 : BEQ .wait_for_music)
JML pendant_fanfare : NOP
pendant_continue:

19
msu.asm
View File

@@ -146,8 +146,14 @@
CheckMusicLoadRequest:
PHP : REP #$10 : PHA : PHX : PHY
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip : BMI .skip : CMP !REG_CURRENT_COMMAND : BNE .continue
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip+3 : BMI .skip+3
CMP !REG_CURRENT_COMMAND : BNE .continue
CMP.b #22 : BNE .continue ; Check GT when mirroring from upstairs
LDA !REG_CURRENT_MSU_TRACK : CMP.b #59 : BNE .skip
LDA.b #$00 : STA !REG_CURRENT_COMMAND
BRA .continue
.skip
LDA !REG_MUSIC_CONTROL_REQUEST
STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
PLY : PLX : PLA : PLP
RTL
@@ -170,9 +176,7 @@ CheckMusicLoadRequest:
+ : LDA !REG_MSU_PACK_CURRENT : STA !REG_MSU_PACK_REQUEST
++ : STA !REG_MSU_PACK_CURRENT
JSL msu_init_check_fallback
; Shut down NMI until music loads
+++ : STZ $4200
+++
LDA !REG_MUSIC_CONTROL_REQUEST : CMP #$08 : BEQ ++ ; Mirror SFX is not affected by NoBGM or pack $FE
LDA NoBGM : BNE +
@@ -224,13 +228,6 @@ CheckMusicLoadRequest:
CMP.b #$08 : BNE .check_fallback ; Hyrule Castle 2
.dungeon
LDA $040C : LSR : !ADD.b #33 : STA !REG_MUSIC_CONTROL_REQUEST
CMP.b #46 : BNE .check_fallback
; Ganon's Tower
LDA $7EF366 : AND.b #$04 : BEQ .check_fallback ; Check if we have the GT big key
LDA !REG_MSU_FALLBACK_TABLE+7 : AND.b #$04 : BEQ .check_fallback ; Check if the 2nd GT track exists
LDA.b #59
STA !REG_MUSIC_CONTROL_REQUEST
.check_fallback
LDA !REG_MUSIC_CONTROL_REQUEST : DEC : PHA