Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonioya <blendergit@gmail.com>2018-11-06 13:09:52 +0300
committerAntonioya <blendergit@gmail.com>2018-11-06 13:10:14 +0300
commit5ccd60e0e7ceb2e4c8028de54400c3c5b3692f87 (patch)
tree5bdf54f50ec5bd702fa9b687a9ff956d583a6ba5 /source/blender/gpencil_modifiers
parent0f1390c99e17e8d21af49ed2fc78d8c7b293b06a (diff)
GP: Fix Time Offset for frames before range
Diffstat (limited to 'source/blender/gpencil_modifiers')
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c13
1 files changed, 11 insertions, 2 deletions
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) {