27 lines
765 B
C
27 lines
765 B
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <SDL2/SDL_render.h>
|
|
|
|
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);
|