diff --git a/darkworldspawn.asm b/darkworldspawn.asm index dca2cc8..1ed404d 100644 --- a/darkworldspawn.asm +++ b/darkworldspawn.asm @@ -2,7 +2,6 @@ ; Dark World Spawn Location Fix & Master Sword Grove Fix ;-------------------------------------------------------------------------------- DarkWorldSaveFix: - LDA.b #$70 : PHA : PLB ; thing we wrote over - data bank change JSL MasterSwordFollowerClear JML StatSaveCounter ;-------------------------------------------------------------------------------- diff --git a/events.asm b/events.asm index 0891353..6247a7a 100644 --- a/events.asm +++ b/events.asm @@ -60,12 +60,23 @@ OnDungeonExit: JSL SetSilverBowMode PLP : PLA RTL +;-------------------------------------------------------------------------------- +OnSave: + LDA.b #$70 : PHA : PLB ; thing we wrote over - data bank change + JSL DarkWorldSaveFix + JML MSUResumeReset +;-------------------------------------------------------------------------------- OnQuit: JSL SQEGFix LDA.b #$00 : STA.l AltTextFlag ; bandaid patch bug with mirroring away from text LDA.b #$10 : STA.b MAINDESQ ; thing we wrote over RTL ;-------------------------------------------------------------------------------- +OnDeathNoSave: + JSL MSUResumeReset + LDA.b #$05 : STA.b $10 ; what we wrote over +RTL +;-------------------------------------------------------------------------------- OnUncleItemGet: PHA diff --git a/hooks.asm b/hooks.asm index 227003c..941bdde 100755 --- a/hooks.asm +++ b/hooks.asm @@ -1874,11 +1874,14 @@ JSL CalculateSignIndex ; Dark World Spawn Location Fix & Follower Fixes ;-------------------------------------------------------------------------------- org $80894A ; <- 94A -PHB : JSL DarkWorldSaveFix +PHB : JSL OnSave ;-------------------------------------------------------------------------------- org $828046 ; <- 10046 - Bank02.asm : 217 (JSL EnableForceBlank) (Start of Module_LoadFile) JSL OnFileLoad ;-------------------------------------------------------------------------------- +org $89F5DF +JSL OnDeathNoSave +;-------------------------------------------------------------------------------- org $8280A2 JSL GetCurrentWorldForLoad ;-------------------------------------------------------------------------------- diff --git a/msu.asm b/msu.asm index 9ae52a8..37adba5 100644 --- a/msu.asm +++ b/msu.asm @@ -427,11 +427,7 @@ StoreMusicOnDeath: MSUInit: PHP - 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 + JSL MSUResumeReset 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 ;--------------------------------------------------------------------------------