aboutsummaryrefslogtreecommitdiff
path: root/src/draw/sprite.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/draw/sprite.odin')
-rw-r--r--src/draw/sprite.odin6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/draw/sprite.odin b/src/draw/sprite.odin
index aec6c61..ebe2e08 100644
--- a/src/draw/sprite.odin
+++ b/src/draw/sprite.odin
@@ -18,6 +18,8 @@ Sprite :: struct {
offset: Vec2,
rotation: f32,
scale: Vec2,
+
+ just_finished_loop: bool,
}
init_sprite :: proc(
@@ -56,6 +58,8 @@ set_sprite_active_tag :: proc(sprite: ^Sprite, tag_name: string) {
}
update_sprite :: proc(sprite: ^Sprite, dt: f32) {
+ sprite.just_finished_loop = false
+
sprite.frame_time += dt
tag := sprite.anim.frame_tags[sprite.active_anim]
@@ -69,9 +73,11 @@ update_sprite :: proc(sprite: ^Sprite, dt: f32) {
if sprite.current_frame < tag.from {
sprite.current_frame = tag.to
+ sprite.just_finished_loop = true
}
if sprite.current_frame > tag.to {
sprite.current_frame = tag.from
+ sprite.just_finished_loop = true
}
}