#pragma once #include #include #include typedef struct anim_player AnimPlayer; struct anim_player { SDL_Texture *image; uint32_t last_time; uint32_t ms_speed; uint32_t ms_duration; uint32_t sprite_width; uint32_t sprite_height; uint16_t count; uint16_t current; bool loop; bool finished; }; AnimPlayer ap_init (SDL_Renderer *renderer, const char *filepath, uint32_t ms_speed, uint32_t sprite_width, uint32_t sprite_height, bool loop); void ap_update (AnimPlayer *ap, uint32_t ticks); void ap_draw (SDL_Renderer *renderer, const AnimPlayer *ap, const SDL_Rect *dst, bool x_flip); void ap_reset (AnimPlayer *ap); void ap_destroy(AnimPlayer *ap);