From f0fb30bc7b72f6b8538f53b1201a1a91fb0f310a Mon Sep 17 00:00:00 2001 From: scawful Date: Fri, 13 Dec 2024 09:50:48 -0500 Subject: [PATCH] Add Sprite_CheckForPresence, takes $00 as SprID --- Core/sprite_functions.asm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Core/sprite_functions.asm b/Core/sprite_functions.asm index c36b527..1770082 100644 --- a/Core/sprite_functions.asm +++ b/Core/sprite_functions.asm @@ -318,6 +318,34 @@ Sprite_Damage_Flash: RTS } +; $00 - ID of the sprite to check +; $02 - Index of the sprite found +Sprite_CheckForPresence: +{ + PHX + CLC + LDX.b #$10 + .x_loop + DEX + LDY.b #$04 + .y_loop + DEY + LDA $0E20, X : CMP.b $00 : BEQ .set_flag + BRA .not_b0 + .set_flag + SEC ; Set flag indicating sprite is present + STX.w $02 + BRA .done + + .not_b0 + CPY.b #$00 : BNE .y_loop + CPX.b #$00 : BNE .x_loop + .done + PLX + RTS + +} + ; ========================================================= Link_CheckNewY_ButtonPress_Long: