From 26e44eb4bcb8516b1f9a58a1ffe2fb5e6504adb3 Mon Sep 17 00:00:00 2001 From: mid <> Date: Sat, 10 May 2025 18:20:00 +0300 Subject: [PATCH] Animation looping --- src/k3.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/k3.c b/src/k3.c index d9241cb..ac58d0e 100644 --- a/src/k3.c +++ b/src/k3.c @@ -404,6 +404,11 @@ static void anim_update(struct k3Animator *anim) { void k3AnimatorSet(struct k3Animator *anim, float time) { if(!anim->inter) anim->inter = _mm_malloc(sizeof(mat4) * anim->base->boneCount * anim->base->frameCount, 16); + if(!anim->loop) { + time = fmaxf(time, 0); + time = fminf(time, (float) (anim->base->frameCount - 1) / anim->base->fps); + } + anim->time = time; anim_update(anim);