Revision: 20068
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20068
Author:   aligorith
Date:     2009-05-05 11:43:11 +0200 (Tue, 05 May 2009)

Log Message:
-----------
Cycles FModifier - Repeat Mirrored now works for cycles before the start of the 
keyframe range 

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c       
2009-05-05 05:57:08 UTC (rev 20067)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c       
2009-05-05 09:43:11 UTC (rev 20068)
@@ -1774,8 +1774,14 @@
                
                /* calculate where in the cycle we are (overwrite evaltime to 
reflect this) */
                if ((mode == FCM_EXTRAPOLATE_MIRROR) && ((int)(cycle) % 2)) {
-                       /* when 'mirror' option is used and cycle number is 
odd, this cycle is played in reverse */
-                       evaltime= (float)(lastkey[0] - fmod(evaltime-ofs, 
cycdx));
+                       /* when 'mirror' option is used and cycle number is 
odd, this cycle is played in reverse 
+                        *      - for 'before' extrapolation, we need to flip 
in a different way, otherwise values past
+                        *        then end of the curve get referenced (result 
of fmod will be negative, and with different phase)
+                        */
+                       if (side < 0)
+                               evaltime= (float)(prevkey[0] - 
fmod(evaltime-ofs, cycdx));
+                       else
+                               evaltime= (float)(lastkey[0] - 
fmod(evaltime-ofs, cycdx));
                }
                else {
                        /* the cycle is played normally... */


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to