changeset 9:66f318fd97a0

core: fix animation_is_complete
author David Demelier <markand@malikania.fr>
date Tue, 07 Jan 2020 20:22:22 +0100
parents 106620648160
children c91c3272101b
files src/animation.c
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/animation.c	Mon Jan 06 21:45:00 2020 +0100
+++ b/src/animation.c	Tue Jan 07 20:22:22 2020 +0100
@@ -64,14 +64,16 @@
 	if (an->elapsed < an->delay)
 		return;
 
-	an->elapsed = 0;
-	an->column += 1;
-
-	if (an->column >= an->sprite->ncols) {
-		an->column = 0;
-
+	/* Increment column first */
+	if (++an->column >= an->sprite->ncols) {
+		/*
+		 * Increment row, if we reach the last row it means we are
+		 * at the last frame.
+		 */
 		if (++an->row >= an->sprite->nrows)
-			an->row = 0;
+			an->row = an->sprite->nrows;
+		else
+			an->column = 0;
 	}
 }