diff options
| author | Aldrik Ramaekers <aldrik@amftech.nl> | 2023-12-26 16:04:38 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@amftech.nl> | 2023-12-26 16:04:38 +0100 |
| commit | d018848939d1101df21515cb81f611f23c119d10 (patch) | |
| tree | 02b7bcdc876de586d5fdce9ff92f0d01f670d4db /src/sprite.c | |
| parent | ef471c71e0da0269ed2a924eaae991ac2d0cfa20 (diff) | |
body
Diffstat (limited to 'src/sprite.c')
| -rw-r--r-- | src/sprite.c | 10 |
1 files changed, 9 insertions, 1 deletions
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; |
