diff options
Diffstat (limited to 'src/draw')
| -rw-r--r-- | src/draw/sprite.odin | 6 |
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 } } |
