#ifndef ANIMATION_H_ #define ANIMATION_H_ #include #include #include "demo.h" struct animation_init { SDL_Texture* spritesheet_texture; SDL_Renderer* ren; const char* spritesheet; int initial_frame_count; float initial_angle; float* initial_frame_times; SDL_Rect* initial_frames; }; struct animation { SDL_Texture* texture; int num_frames; float angle; int current_frame; float current_time; float* frame_times; SDL_Rect* frames; }; void init_animation(struct animation* animation, struct animation_init* init); void update_animation(struct animation* animation, float dt); void free_animation(struct animation* animation); void draw_animation(struct demo* demo, const struct animation* animation, const SDL_Rect* d_rect); void reset_animation(struct animation* animation); #endif // ANIMATION_H_