From f18d003a2b73c6c0ddb62b86414adc20892dfaad Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Sat, 21 Sep 2019 15:25:35 -0700 Subject: [PATCH] Change GT2 music to only play upstairs --- events.asm | 7 ------- hooks.asm | 9 +++++++++ msu.asm | 19 ++++++++----------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/events.asm b/events.asm index bac0fbc..072d347 100644 --- a/events.asm +++ b/events.asm @@ -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 diff --git a/hooks.asm b/hooks.asm index 58d609b..d53dc37 100755 --- a/hooks.asm +++ b/hooks.asm @@ -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: diff --git a/msu.asm b/msu.asm index bdbadb3..c4fb189 100644 --- a/msu.asm +++ b/msu.asm @@ -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