From 7653e9e46586a0523f26b58a66ad110c583917c1 Mon Sep 17 00:00:00 2001 From: scawful Date: Fri, 10 May 2024 17:06:53 -0400 Subject: [PATCH] Add HandleTossedCart fn for gravity --- Sprites/Objects/minecart.asm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Sprites/Objects/minecart.asm b/Sprites/Objects/minecart.asm index 25501de..b08893f 100644 --- a/Sprites/Objects/minecart.asm +++ b/Sprites/Objects/minecart.asm @@ -204,6 +204,24 @@ HandleLiftAndToss: RTS } +HandleTossedCart: +{ + LDA SprHeight, X : BEQ .not_tossed + + LDA.w SprTimerB, X : BNE .wait_a_bit + ; Decrease the height towards the ground + DEC.w SprHeight, X + .wait_a_bit + ; If the cart is on the ground, stop tossing + LDA SprHeight, X : BNE .not_tossed + STZ.w SprMiscG, X + STZ.w SprYSpeed, X + STZ.w SprXSpeed, X + STZ.w SprHeight, X + .not_tossed + RTS + +} ; ========================================================= @@ -225,6 +243,8 @@ Sprite_Minecart_Main: Minecart_WaitHoriz: { %PlayAnimation(0,1,8) + + JSR HandleTossedCart LDA SprTimerA, X : BNE .not_ready LDA !LinkCarryOrToss : AND #$03 : BNE .lifting @@ -260,6 +280,8 @@ Sprite_Minecart_Main: Minecart_WaitVert: { %PlayAnimation(2,3,8) + JSR HandleTossedCart + LDA SprTimerA, X : BNE .not_ready LDA !LinkCarryOrToss : AND #$03 : BNE .lifting