[Bf-blender-cvs] [5ccd60e0e7c] blender2.8: GP: Fix Time Offset for frames before range

Antonioya noreply at git.blender.org
Tue Nov 6 11:10:24 CET 2018


Commit: 5ccd60e0e7ceb2e4c8028de54400c3c5b3692f87
Author: Antonioya
Date:   Tue Nov 6 11:09:52 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB5ccd60e0e7ceb2e4c8028de54400c3c5b3692f87

GP: Fix Time Offset for frames before range

===================================================================

M	source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c

===================================================================

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c
index 65f75b5eca6..e220d5a5e85 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c
@@ -80,6 +80,7 @@ static int remapTime(
 	CLAMP_MIN(efra, 1);
 	const int time_range = efra - sfra + 1;
 	int offset = mmd->offset;
+	int segments = 0;
 
 	/* omit if filter by layer */
 	if (mmd->layername[0] != '\0') {
@@ -136,8 +137,16 @@ static int remapTime(
 		}
 	}
 
-	if (cfra >= efra) {
-		cfra = sfra + (cfra - ((cfra / time_range) * time_range)) - 1;
+	/* check frames before start */
+	if (cfra < sfra) {
+		segments = ((cfra + sfra) / time_range);
+		cfra = cfra + (segments * time_range);
+	}
+
+	/* check frames after end */
+	if (cfra > efra) {
+		segments = ((cfra - sfra) / time_range);
+		cfra = cfra - (segments * time_range);
 	}
 
 	if (mmd->flag & GP_TIME_KEEP_LOOP) {



More information about the Bf-blender-cvs mailing list