Fix non looping animation being broken

This commit is contained in:
DBotThePony 2022-06-17 23:05:26 +07:00
parent d87e672fe7
commit 7504c1381d
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -56,7 +56,7 @@ class FrameSetAnimator(
if (frameDiff == 0) if (frameDiff == 0)
return return
if (frame + frameDiff >= lastFrame && !animationLoops) { if (frame + firstFrame >= lastFrame && !animationLoops) {
return return
} }
@ -64,8 +64,14 @@ class FrameSetAnimator(
lastRender = glfwGetTime() lastRender = glfwGetTime()
if (counter >= 1.0) { if (counter >= 1.0) {
frame = (frame + counter.toInt()) % frameDiff val desired = frame + counter.toInt()
counter %= 1.0
if (animationLoops || desired + firstFrame < lastFrame) {
frame = desired % frameDiff
counter %= 1.0
} else {
frame = lastFrame - firstFrame
}
} }
} }
} }