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