diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-05-19 16:39:57 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-05-19 16:39:57 +0400 |
commit | fbe541d1a85dd4700e153e17bd6bcbcbc7d9cbb6 (patch) | |
tree | 71fefdbd8cb6395aecfb3e8dce9397370683359e | |
parent | e088f592bd82f5c3863368f49eabd3e8afffe119 (diff) |
modify fcurve evaluation for bool/enum/int values. was converting from a float to an int which means 0.9x evaluates to 0.0, negative numbers are also rounded up.
Round at 0.5 instead & treat negative numbers the same.
-rw-r--r-- | source/blender/blenkernel/intern/fcurve.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c index b1272ee2d53..d6a9d950015 100644 --- a/source/blender/blenkernel/intern/fcurve.c +++ b/source/blender/blenkernel/intern/fcurve.c @@ -2039,7 +2039,7 @@ float evaluate_fcurve (FCurve *fcu, float evaltime) * here so that the curve can be sampled correctly */ if (fcu->flag & FCURVE_INT_VALUES) - cvalue= (float)((int)cvalue); + cvalue= floorf(cvalue + 0.5f); /* return evaluated value */ return cvalue; |