From d018848939d1101df21515cb81f611f23c119d10 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Tue, 26 Dec 2023 16:04:38 +0100 Subject: body --- src/sprite.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/sprite.c') diff --git a/src/sprite.c b/src/sprite.c index c6ee82e..30307ae 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -16,6 +16,7 @@ sprite create_sprite(image* img, int frame_count, int fwidth, int fheight, float void update_sprite(sprite* sprite) { sprite->time += SERVER_TICK_RATE; + if (sprite->sec_per_frame == 0.0f) return; // sprite does not play. int frame = sprite->time / sprite->sec_per_frame; sprite->current_frame = frame; if (frame >= sprite->frame_count) { @@ -24,7 +25,14 @@ void update_sprite(sprite* sprite) { } } -sprite_frame sprite_get_frame(sprite* sprite) { +void sprite_set_current_frame(sprite* sprite, int index) { + sprite->current_frame = index; +} + +sprite_frame sprite_get_frame(image* img, sprite* sprite) { + sprite->img_width = img->width; + sprite->img_height = img->height; + sprite_frame frame = {0}; int columns = sprite->img_width / sprite->frame_width; int rows = sprite->img_height/ sprite->frame_height; -- cgit v1.2.3-70-g09d2