5#ifndef SPRITE_ANIMATION_MANAGER_H
6#define SPRITE_ANIMATION_MANAGER_H
12#define ANIMATION_REFRESH_TIME_MIN 17
14typedef struct sprite_velocity {
19typedef struct sprite_pivot {
24typedef struct sprite_position {
29typedef struct sprite_refresh_info {
36typedef struct sprite_frame_info {
41typedef struct object_2d_info {
void deinitialize_object(object_2d_info_t *object)
Deinitialize 2D object.
Definition: sprite_animation_manager.c:44
void draw_sprite_animation(object_2d_info_t *object)
Draw sprite animation from the 2D object.
Definition: sprite_animation_manager.c:50
void initialize_object(object_2d_info_t *object, C2D_Sprite *sprites, const char *filename, const sprite_pivot_t pivot, const sprite_position_t position, const float rotation, uint64_t animation_refresh_time)
Initialize 2D object.
Definition: sprite_animation_manager.c:3
Definition: sprite_animation_manager.h:41
sprite_frame_info_t frame_info
2D object frame information
Definition: sprite_animation_manager.h:46
sprite_velocity_t velocity
2D object velocity information
Definition: sprite_animation_manager.h:44
C2D_Sprite * object_sprite
2D object sprite information
Definition: sprite_animation_manager.h:42
sprite_refresh_info_t refresh_info
2D object refresh information
Definition: sprite_animation_manager.h:45
C2D_SpriteSheet spritesheet
2D object Spritesheet information
Definition: sprite_animation_manager.h:43
Definition: sprite_animation_manager.h:36
int current_frame_index
Current sprite ID number.
Definition: sprite_animation_manager.h:37
size_t num_of_sprites
Number of sprites.
Definition: sprite_animation_manager.h:38
Definition: sprite_animation_manager.h:19
float y
Sprite y pivot point.
Definition: sprite_animation_manager.h:21
float x
Sprite x pivot point.
Definition: sprite_animation_manager.h:20
Definition: sprite_animation_manager.h:24
float y
Sprite y position in the Cartesian coordinate system.
Definition: sprite_animation_manager.h:26
float x
Sprite x position in the Cartesian coordinate system.
Definition: sprite_animation_manager.h:25
Definition: sprite_animation_manager.h:29
uint64_t start
Start time.
Definition: sprite_animation_manager.h:30
uint64_t elapsed
Elapsed time (start - stop)
Definition: sprite_animation_manager.h:32
uint64_t refresh_time
Next sprite update time [Unit: ms].
Definition: sprite_animation_manager.h:33
uint64_t stop
Lap time.
Definition: sprite_animation_manager.h:31
Definition: sprite_animation_manager.h:14
float dy
Sprite velocity in y direction.
Definition: sprite_animation_manager.h:16
float dx
Sprite velocity in x direction.
Definition: sprite_animation_manager.h:15