From 1ffbd74a089dfa58bfd5084128b5c5d5c4bb3569 Mon Sep 17 00:00:00 2001 From: Sara Date: Wed, 22 Nov 2023 20:57:38 +0100 Subject: [PATCH] feat(player): added PlayerIdleUpdate, which calls PlayerAnimationUpdate --- game/src/player.c | 14 ++++++++++---- game/src/player.h | 3 ++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/game/src/player.c b/game/src/player.c index e131970..24bfca0 100644 --- a/game/src/player.c +++ b/game/src/player.c @@ -95,10 +95,6 @@ const State* PlayerAnimationUpdate(Player* self, float deltaTime) { ++self->animFrame; size_t nextFrame = self->animFrame * 8 + self->faceDirection; sprite_set_tile(self->sprite, nextFrame); - - if (nextFrame > spritesheet_get_tile_count(sprite_get_spritesheet(self->sprite))) { - return PlayerIdle(); - } } return state_machine_get_current_state(self->animationStateMachine); @@ -109,3 +105,13 @@ void PlayerAnimationExit(Player* self) {} void PlayerIdleEnter(Player* self) { self->sprite = sprite_from_spritesheet(self->stand, 0); } + +void PlayerIdleUpdate(Player* self, float deltaTime) { + PlayerAnimationUpdate(self, deltaTime); + + if(sprite_get_time_normalized(self->sprite)) { + return PlayerIdle(); + } else { + return PlayerIdle(); + } +} diff --git a/game/src/player.h b/game/src/player.h index 41194e6..fbec059 100644 --- a/game/src/player.h +++ b/game/src/player.h @@ -66,11 +66,12 @@ extern const State* PlayerAnimationUpdate(Player* player, float deltaTime); extern void PlayerAnimationExit(Player* player); extern void PlayerIdleEnter(Player* player); +extern void PlayerIdleUpdate(Player* player, float deltaTime); DefineState(PlayerIdle, Player, PlayerIdleEnter, PlayerAnimationExit, - PlayerAnimationUpdate + PlayerIdleUpdate ) #endif // !TOPDOWN_PLAYER_H