From d2b4eaa13711b346df98e432bfd806be91dbac05 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Sat, 3 Nov 2018 17:11:38 +0100 Subject: GP: New Time Offset custom frame range parameters These parameters allow to define a frame range for the animation loop and make possible to loop a section while the scene is playing. --- source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source/blender/gpencil_modifiers') diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c index 0e66f639ce3..29f06a4017f 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c @@ -57,6 +57,8 @@ static void initData(GpencilModifierData *md) gpmd->offset = 1; gpmd->frame_scale = 1.0f; gpmd->flag |= GP_TIME_KEEP_LOOP; + gpmd->sfra = 1; + gpmd->efra = 250; } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) @@ -69,8 +71,9 @@ static int remapTime( struct Scene *scene, struct Object *UNUSED(ob), struct bGPDlayer *gpl, int cfra) { TimeGpencilModifierData *mmd = (TimeGpencilModifierData *)md; - const int sfra = scene->r.sfra; - const int efra = scene->r.efra; + const bool custom = mmd->flag & GP_TIME_CUSTOM_RANGE; + const int sfra = custom ? mmd->sfra : scene->r.sfra; + const int efra = custom ? mmd->efra : scene->r.efra; const bool invgpl = mmd->flag & GP_TIME_INVERT_LAYER; const bool invpass = mmd->flag & GP_TIME_INVERT_LAYERPASS; -- cgit v1.2.3