From 8bd186356a3187c733411e9a9a4d348991d5e306 Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 19 Jan 2025 14:01:25 -0500 Subject: [PATCH] Refactor SongFlag handling to use byte operations --- Items/ocarina.asm | 4 ++-- Overworld/time_system.asm | 6 +++--- Sprites/Bosses/wolfos.asm | 2 +- Sprites/Enemies/pols_voice.asm | 2 +- Sprites/NPCs/bug_net_kid.asm | 4 ++-- Sprites/NPCs/deku_scrub.asm | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Items/ocarina.asm b/Items/ocarina.asm index 8e59b13..de25f63 100644 --- a/Items/ocarina.asm +++ b/Items/ocarina.asm @@ -148,12 +148,12 @@ LinkItem_NewFlute: JMP .song_of_storms .song_of_time LDA.b #$27 : JSR $802F ; Player_DoSfx3 - LDA.b #$02 : STA SongFlag + LDA.b #$02 : STA.b SongFlag RTS .song_of_healing LDA.b #$13 : JSR Player_DoSfx2 - LDA.b #$01 : STA SongFlag + LDA.b #$01 : STA.b SongFlag RTS .song_of_storms diff --git a/Overworld/time_system.asm b/Overworld/time_system.asm index bd929ec..a0c50dc 100644 --- a/Overworld/time_system.asm +++ b/Overworld/time_system.asm @@ -193,7 +193,7 @@ RunClock: CheckForSongOfTime: { ; Check if Song of Time was activated - LDA SongFlag : CMP.b #$02 : BNE + + LDA.b SongFlag : CMP.b #$02 : BNE + ; Speed up the time LDA.b #$00 : STA.l TimeSpeed @@ -201,14 +201,14 @@ CheckForSongOfTime: LDA.l Hours : CMP.b #$06 : BNE ++ LDA.l Minutes : BNE ++ LDA.b #$3F : STA.l TimeSpeed - STZ SongFlag + STZ.b SongFlag ++ ; If we reached 6pm LDA.l Hours : CMP.b #$12 : BNE ++ LDA.l Minutes : BNE ++ LDA.b #$3F : STA.l TimeSpeed - STZ SongFlag + STZ.b SongFlag ++ + RTS diff --git a/Sprites/Bosses/wolfos.asm b/Sprites/Bosses/wolfos.asm index ae2a09d..6d77c43 100644 --- a/Sprites/Bosses/wolfos.asm +++ b/Sprites/Bosses/wolfos.asm @@ -250,7 +250,7 @@ Sprite_Wolfos_Main: ; Wait for Song of Healing before granting the mask. LDA.b SongFlag : CMP.b #$01 : BNE .ninguna_cancion - STZ.w SongFlag + STZ.b SongFlag LDA.b #$20 : STA.w SprTimerD, X LDA.w POSX : STA.w SprX, X LDA.w POSXH : STA.w SprXH, X diff --git a/Sprites/Enemies/pols_voice.asm b/Sprites/Enemies/pols_voice.asm index 52f6e1a..feb4ec9 100644 --- a/Sprites/Enemies/pols_voice.asm +++ b/Sprites/Enemies/pols_voice.asm @@ -126,7 +126,7 @@ Sprite_PolsVoice_Main: PolsVoice_CheckForFluteSong: { ; If the player plays the flute - LDA SongFlag : BEQ + + LDA.b SongFlag : BEQ + LDA.b #$03 : STA.w SprState, X + RTS diff --git a/Sprites/NPCs/bug_net_kid.asm b/Sprites/NPCs/bug_net_kid.asm index 20635f0..722e816 100644 --- a/Sprites/NPCs/bug_net_kid.asm +++ b/Sprites/NPCs/bug_net_kid.asm @@ -3,10 +3,10 @@ SickKid_CheckForSongOfHealing: { - LDA SongFlag : CMP.b #$01 : BNE .no_song + LDA.b SongFlag : CMP.b #$01 : BNE .no_song INC $0D80, X INC $02E4 - STZ.w SongFlag + STZ.b SongFlag .no_song RTL } diff --git a/Sprites/NPCs/deku_scrub.asm b/Sprites/NPCs/deku_scrub.asm index 05888e4..8474cfd 100644 --- a/Sprites/NPCs/deku_scrub.asm +++ b/Sprites/NPCs/deku_scrub.asm @@ -107,8 +107,8 @@ Sprite_DekuScrub_Main: QuiereCuracion: { %PlayAnimation(0, 1, 16) - LDA SongFlag : CMP.b #$01 : BNE .ninguna_cancion - STZ.w SongFlag + LDA.b SongFlag : CMP.b #$01 : BNE .ninguna_cancion + STZ.b SongFlag LDA.b #$C0 : STA.w SprTimerD, X %GotoAction(2) .ninguna_cancion