Refactor SongFlag handling to use byte operations

This commit is contained in:
scawful
2025-01-19 14:01:25 -05:00
parent a7b3278927
commit 8bd186356a
6 changed files with 11 additions and 11 deletions

View File

@@ -148,12 +148,12 @@ LinkItem_NewFlute:
JMP .song_of_storms JMP .song_of_storms
.song_of_time .song_of_time
LDA.b #$27 : JSR $802F ; Player_DoSfx3 LDA.b #$27 : JSR $802F ; Player_DoSfx3
LDA.b #$02 : STA SongFlag LDA.b #$02 : STA.b SongFlag
RTS RTS
.song_of_healing .song_of_healing
LDA.b #$13 : JSR Player_DoSfx2 LDA.b #$13 : JSR Player_DoSfx2
LDA.b #$01 : STA SongFlag LDA.b #$01 : STA.b SongFlag
RTS RTS
.song_of_storms .song_of_storms

View File

@@ -193,7 +193,7 @@ RunClock:
CheckForSongOfTime: CheckForSongOfTime:
{ {
; Check if Song of Time was activated ; Check if Song of Time was activated
LDA SongFlag : CMP.b #$02 : BNE + LDA.b SongFlag : CMP.b #$02 : BNE +
; Speed up the time ; Speed up the time
LDA.b #$00 : STA.l TimeSpeed LDA.b #$00 : STA.l TimeSpeed
@@ -201,14 +201,14 @@ CheckForSongOfTime:
LDA.l Hours : CMP.b #$06 : BNE ++ LDA.l Hours : CMP.b #$06 : BNE ++
LDA.l Minutes : BNE ++ LDA.l Minutes : BNE ++
LDA.b #$3F : STA.l TimeSpeed LDA.b #$3F : STA.l TimeSpeed
STZ SongFlag STZ.b SongFlag
++ ++
; If we reached 6pm ; If we reached 6pm
LDA.l Hours : CMP.b #$12 : BNE ++ LDA.l Hours : CMP.b #$12 : BNE ++
LDA.l Minutes : BNE ++ LDA.l Minutes : BNE ++
LDA.b #$3F : STA.l TimeSpeed LDA.b #$3F : STA.l TimeSpeed
STZ SongFlag STZ.b SongFlag
++ ++
+ +
RTS RTS

View File

@@ -250,7 +250,7 @@ Sprite_Wolfos_Main:
; Wait for Song of Healing before granting the mask. ; Wait for Song of Healing before granting the mask.
LDA.b SongFlag : CMP.b #$01 : BNE .ninguna_cancion LDA.b SongFlag : CMP.b #$01 : BNE .ninguna_cancion
STZ.w SongFlag STZ.b SongFlag
LDA.b #$20 : STA.w SprTimerD, X LDA.b #$20 : STA.w SprTimerD, X
LDA.w POSX : STA.w SprX, X LDA.w POSX : STA.w SprX, X
LDA.w POSXH : STA.w SprXH, X LDA.w POSXH : STA.w SprXH, X

View File

@@ -126,7 +126,7 @@ Sprite_PolsVoice_Main:
PolsVoice_CheckForFluteSong: PolsVoice_CheckForFluteSong:
{ {
; If the player plays the flute ; If the player plays the flute
LDA SongFlag : BEQ + LDA.b SongFlag : BEQ +
LDA.b #$03 : STA.w SprState, X LDA.b #$03 : STA.w SprState, X
+ +
RTS RTS

View File

@@ -3,10 +3,10 @@
SickKid_CheckForSongOfHealing: SickKid_CheckForSongOfHealing:
{ {
LDA SongFlag : CMP.b #$01 : BNE .no_song LDA.b SongFlag : CMP.b #$01 : BNE .no_song
INC $0D80, X INC $0D80, X
INC $02E4 INC $02E4
STZ.w SongFlag STZ.b SongFlag
.no_song .no_song
RTL RTL
} }

View File

@@ -107,8 +107,8 @@ Sprite_DekuScrub_Main:
QuiereCuracion: QuiereCuracion:
{ {
%PlayAnimation(0, 1, 16) %PlayAnimation(0, 1, 16)
LDA SongFlag : CMP.b #$01 : BNE .ninguna_cancion LDA.b SongFlag : CMP.b #$01 : BNE .ninguna_cancion
STZ.w SongFlag STZ.b SongFlag
LDA.b #$C0 : STA.w SprTimerD, X LDA.b #$C0 : STA.w SprTimerD, X
%GotoAction(2) %GotoAction(2)
.ninguna_cancion .ninguna_cancion