Commit: 7461fead506ebac8bf730148e1ace66db116d18a
Author: Joshua Leung
Date: Sat Mar 8 17:57:31 2014 +1300
https://developer.blender.org/rB7461fead506ebac8bf730148e1ace66db116d18a
Fix T39035: Cycles F-Modifier truncates end/beginning frame values for
repetition
When the keyframes at either end of the source curve don't lie on exact frame
boundaries,
this casued problems with the Cycles F-Modifier, as part of the cycle would get
chopped
off.
This was caused by float -> integer truncation that was occurring, since one
variable
was of the wrong type. The problem here wasn't discovered until now (thanks to
gcc's
invalid-type warnings on printf's) as in standard usage, we can safely assume
that all
keyframes are strictly on frame boundaries.
===================================================================
M source/blender/blenkernel/intern/fmodifier.c
===================================================================
diff --git a/source/blender/blenkernel/intern/fmodifier.c
b/source/blender/blenkernel/intern/fmodifier.c
index bcbc557..56b087e 100644
--- a/source/blender/blenkernel/intern/fmodifier.c
+++ b/source/blender/blenkernel/intern/fmodifier.c
@@ -605,7 +605,8 @@ static float fcm_cycles_time(FModifierStackStorage
*storage, FCurve *fcu, FModif
FMod_Cycles *data = (FMod_Cycles *)fcm->data;
float prevkey[2], lastkey[2], cycyofs = 0.0f;
short side = 0, mode = 0;
- int cycles = 0, ofs = 0;
+ int cycles = 0;
+ float ofs = 0;
/* check if modifier is first in stack, otherwise disable ourself... */
/* FIXME... */
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs