#include "animation.h" #include void animation_new(Animation *animation, bopti_image_t *image, unsigned char len, unsigned short frame_ms) { animation->image = image; animation->frame = 0; animation->len = len; animation->frame_ms = frame_ms; animation->current_ms = 0; animation->width = image->width / len; animation->height = image->height; animation->wrap_dest = 0; } void animation_draw(Animation *animation, int x, int y) { dsubimage(x, y, animation->image, animation->frame * animation->width, 0, animation->width, animation->height, DIMAGE_NONE); } void animation_update(Animation *animation, unsigned short frame_ms) { animation->current_ms += frame_ms; while(animation->current_ms > animation->frame_ms) { animation->frame++; if(animation->frame >= animation->len) { animation->frame = animation->wrap_dest; } animation->current_ms -= animation->frame_ms; } }