From 0329dabf90c7db0de0861ae43229829590a5cc17 Mon Sep 17 00:00:00 2001 From: stevenhowes <38082088+stevenhowes@users.noreply.github.com> Date: Sat, 20 Mar 2021 18:00:07 +0000 Subject: [PATCH] Return ship to idle sprite when movement finished. --- !RunImage,ff8 | Bin 8480 -> 8516 bytes c/CTheEscape | 10 ++++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/!RunImage,ff8 b/!RunImage,ff8 index a528296a6fe281665537fbb2af614a59001edb8b..e616464152c48670688f8c9222c248e9849008ca 100644 GIT binary patch delta 2362 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 y4n+M_+73u3M0E0IXD+v#U%7sx6Zj diff --git a/c/CTheEscape b/c/CTheEscape index 2feec59..050576a 100644 --- a/c/CTheEscape +++ b/c/CTheEscape @@ -56,8 +56,10 @@ struct Star_s { struct Player_s { struct EntityLocation_s location; + enum sprite_e idlesprite; enum sprite_e sprite; unsigned char velocity; + int nextidlesprite; int shields; int integrity; int remainingdistance; @@ -215,6 +217,7 @@ void game_setup_player() Player.location.X = DISPLAY_X/2; Player.location.Y = PLAYER_Y_START; Player.sprite = player_ship; + Player.idlesprite = player_ship; Player.velocity = 100; Player.shields = 100; Player.integrity = 50; @@ -314,16 +317,19 @@ void game_input_tick() debugs[dbbase] = 1; } + if(tick > Player.nextidlesprite) + Player.sprite = Player.idlesprite; + // Right arrow if(input_readkey(121)) { Player.location.X += PLAYER_X_SPEED * (tick - lasttick); Player.sprite = player_shipr; + Player.nextidlesprite = tick + 15; // TODO: SHIP WIDTH if((Player.location.X + Player.hitbox_tr.X) > DISPLAY_X) { Player.location.X = DISPLAY_X - Player.hitbox_tr.X; - Player.sprite = player_ship; } } @@ -332,10 +338,10 @@ void game_input_tick() { Player.location.X -= PLAYER_X_SPEED * (tick - lasttick); Player.sprite = player_shipl; + Player.nextidlesprite = tick + 15; if((Player.location.X + Player.hitbox_bl.X) < 0) { Player.location.X = 0 - Player.hitbox_bl.X; - Player.sprite = player_ship; } } }