From 07d7c57d9d151cef5c92282a122f6035d9e04ebd Mon Sep 17 00:00:00 2001 From: scawful Date: Thu, 27 Jun 2024 19:26:23 -0400 Subject: [PATCH] Add Sprite_BounceOffWall, Sprite_InvertSpeed_XY --- Sprites/ZSpriteLib/sprite_new_functions.asm | 46 ++++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/Sprites/ZSpriteLib/sprite_new_functions.asm b/Sprites/ZSpriteLib/sprite_new_functions.asm index 9c49dd8..4954ecd 100644 --- a/Sprites/ZSpriteLib/sprite_new_functions.asm +++ b/Sprites/ZSpriteLib/sprite_new_functions.asm @@ -175,9 +175,51 @@ Sprite_BounceFromTileCollision: ++ RTL } +; ========================================================= -Sprite_ProjectSpeedRandomly: -{ +Sprite_BounceOffWall: + LDA.w $0E70,X + AND.b #$03 + BEQ .no_horizontal_collision + + JSR Sprite_InvertSpeed_X + +.no_horizontal_collision + LDA.w $0E70,X + AND.b #$0C + BEQ .no_vertical_collision + + JSR Sprite_InvertSpeed_Y + +.no_vertical_collision + RTS + +; ========================================================= + +Sprite_InvertSpeed_XY: + JSR Sprite_InvertSpeed_Y + +; ========================================================= + +Sprite_InvertSpeed_X: + LDA.w $0D50,X + EOR.b #$FF + INC A + STA.w $0D50,X + + RTS + +; ========================================================= + +Sprite_InvertSpeed_Y: + LDA.w $0D40,X + EOR.b #$FF + INC A + STA.w $0D40,X + + RTS + +; ========================================================= }