Actual fix for issue with no music in LH after S+Q from Kakariko

This commit is contained in:
codemann8
2025-06-12 00:58:46 -05:00
parent 4088698af9
commit 021ba9d8a6
4 changed files with 28 additions and 7 deletions

View File

@@ -2,7 +2,6 @@
; Dark World Spawn Location Fix & Master Sword Grove Fix ; Dark World Spawn Location Fix & Master Sword Grove Fix
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
DarkWorldSaveFix: DarkWorldSaveFix:
LDA.b #$70 : PHA : PLB ; thing we wrote over - data bank change
JSL MasterSwordFollowerClear JSL MasterSwordFollowerClear
JML StatSaveCounter JML StatSaveCounter
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -60,12 +60,23 @@ OnDungeonExit:
JSL SetSilverBowMode JSL SetSilverBowMode
PLP : PLA PLP : PLA
RTL RTL
;--------------------------------------------------------------------------------
OnSave:
LDA.b #$70 : PHA : PLB ; thing we wrote over - data bank change
JSL DarkWorldSaveFix
JML MSUResumeReset
;--------------------------------------------------------------------------------
OnQuit: OnQuit:
JSL SQEGFix JSL SQEGFix
LDA.b #$00 : STA.l AltTextFlag ; bandaid patch bug with mirroring away from text LDA.b #$00 : STA.l AltTextFlag ; bandaid patch bug with mirroring away from text
LDA.b #$10 : STA.b MAINDESQ ; thing we wrote over LDA.b #$10 : STA.b MAINDESQ ; thing we wrote over
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
OnDeathNoSave:
JSL MSUResumeReset
LDA.b #$05 : STA.b $10 ; what we wrote over
RTL
;--------------------------------------------------------------------------------
OnUncleItemGet: OnUncleItemGet:
PHA PHA

View File

@@ -1874,11 +1874,14 @@ JSL CalculateSignIndex
; Dark World Spawn Location Fix & Follower Fixes ; Dark World Spawn Location Fix & Follower Fixes
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $80894A ; <- 94A org $80894A ; <- 94A
PHB : JSL DarkWorldSaveFix PHB : JSL OnSave
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $828046 ; <- 10046 - Bank02.asm : 217 (JSL EnableForceBlank) (Start of Module_LoadFile) org $828046 ; <- 10046 - Bank02.asm : 217 (JSL EnableForceBlank) (Start of Module_LoadFile)
JSL OnFileLoad JSL OnFileLoad
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $89F5DF
JSL OnDeathNoSave
;--------------------------------------------------------------------------------
org $8280A2 org $8280A2
JSL GetCurrentWorldForLoad JSL GetCurrentWorldForLoad
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

18
msu.asm
View File

@@ -427,11 +427,7 @@ StoreMusicOnDeath:
MSUInit: MSUInit:
PHP PHP
LDA.b #$00 JSL MSUResumeReset
STA.l MSULoadedTrack
STA.l MSUResumeTrack
STA.l MSUResumeTime : STA.l MSUResumeTime+1 : STA.l MSUResumeTime+2 : STA.l MSUResumeTime+3
STA.l MSUResumeControl
LDA.l NoBGM : BNE .done LDA.l NoBGM : BNE .done
@@ -496,6 +492,18 @@ MSUInit:
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;================================================================================
; Purge MSU Resume values
;--------------------------------------------------------------------------------
MSUResumeReset:
LDA.b #$00
STA.l MSULoadedTrack
STA.l MSUResumeTrack
STA.l MSUResumeTime : STA.l MSUResumeTime+1 : STA.l MSUResumeTime+2 : STA.l MSUResumeTime+3
STA.l MSUResumeControl
RTL
;--------------------------------------------------------------------------------
;================================================================================ ;================================================================================
; Stop MSU-1 audio track and save the current position when approriate ; Stop MSU-1 audio track and save the current position when approriate
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------