summaryrefslogtreecommitdiff
path: root/src/sprite.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sprite.c')
-rw-r--r--src/sprite.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/sprite.c b/src/sprite.c
new file mode 100644
index 0000000..6b35e62
--- /dev/null
+++ b/src/sprite.c
@@ -0,0 +1,28 @@
+#include "../include/sprite.h"
+
+sprite create_sprite(image* img, int frame_count, int fwidth, int fheight, float sec_per_frame) {
+ sprite s;
+ s.current_frame = 0;
+ s.frame_count = frame_count;
+ s.frame_height = fheight;
+ s.frame_width = fwidth;
+ s.image = img;
+ s.sec_per_frame = sec_per_frame;
+ s.time = 0.0f;
+ return s;
+}
+
+void update_sprite(sprite* sprite) {
+ int frame = sprite->time / sprite->sec_per_frame;
+ sprite->current_frame = frame;
+ sprite->time += update_delta;
+}
+
+sprite_frame get_frame(sprite* sprite) {
+ sprite_frame frame;
+ frame.tl = (vec2f){0,0};
+ frame.tr = (vec2f){1,0};
+ frame.bl = (vec2f){0,1};
+ frame.br = (vec2f){1,1};
+ return frame;
+} \ No newline at end of file