[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14012] trunk/blender/source/blender/src: Bugfix:
Joshua Leung
aligorith at gmail.com
Sat Mar 8 12:08:25 CET 2008
Revision: 14012
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14012
Author: aligorith
Date: 2008-03-08 12:08:24 +0100 (Sat, 08 Mar 2008)
Log Message:
-----------
Bugfix:
Time-Slide transform tool in the Action Editor now works as well as it did before the Action-Keys transform refactor. However, numeric input is now broken as a side-effect of this.
Modified Paths:
--------------
trunk/blender/source/blender/src/transform.c
trunk/blender/source/blender/src/transform_conversions.c
Modified: trunk/blender/source/blender/src/transform.c
===================================================================
--- trunk/blender/source/blender/src/transform.c 2008-03-08 04:22:52 UTC (rev 14011)
+++ trunk/blender/source/blender/src/transform.c 2008-03-08 11:08:24 UTC (rev 14012)
@@ -4353,12 +4353,46 @@
float minx= *((float *)(t->customData));
float maxx= *((float *)(t->customData) + 1);
+ #if 0
+ if (NLA_ACTION_SCALED)
+ sval[0]= get_action_frame(OBACT, sval[0]);
+
+ /* used for drawing */
+ if (mode=='t') {
+ G.saction->flag |= SACTION_MOVING;
+ G.saction->timeslide= sval[0];
+ }
+
+ /// WHAT FOLLOWS IS IN THE LOOP
+ if (NLA_ACTION_SCALED)
+ cval[0]= get_action_frame(OBACT, cval[0]);
+
+ if (mode=='t')
+ G.saction->timeslide= cval[0];
+
+ if( sval[0] > minx && sval[0] < maxx) {
+ float timefac, cvalc= CLAMPIS(cval[0], minx, maxx);
+
+ /* left half */
+ if(tv[i].oldloc[0] < sval[0]) {
+ timefac= ( sval[0] - tv[i].oldloc[0])/(sval[0] - minx);
+ tv[i].loc[0]= cvalc - timefac*( cvalc - minx);
+ }
+ else {
+ timefac= (tv[i].oldloc[0] - sval[0])/(maxx - sval[0]);
+ tv[i].loc[0]= cvalc + timefac*(maxx- cvalc);
+ }
+ }
+#endif
+
/* set value for drawing black line */
if (t->spacetype == SPACE_ACTION) {
- G.saction->timeslide= t->fac;
+ float cvalf = t->fac;
if (NLA_ACTION_SCALED)
- sval= get_action_frame(OBACT, sval);
+ cvalf= get_action_frame(OBACT, cvalf);
+
+ G.saction->timeslide= cvalf;
}
/* it doesn't matter whether we apply to t->data or t->data2d, but t->data2d is more convenient */
@@ -4374,7 +4408,7 @@
cval= get_action_frame(ob, cval);
/* only apply to data if in range */
- if (sval > minx && sval < maxx) {
+ if ((sval > minx) && (sval < maxx)) {
float cvalc= CLAMPIS(cval, minx, maxx);
float timefac;
Modified: trunk/blender/source/blender/src/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/src/transform_conversions.c 2008-03-08 04:22:52 UTC (rev 14011)
+++ trunk/blender/source/blender/src/transform_conversions.c 2008-03-08 11:08:24 UTC (rev 14012)
@@ -2653,7 +2653,7 @@
/* check if we're supposed to be setting minx/maxx for TimeSlide */
if (t->mode == TFM_TIME_SLIDE) {
- float min = 0, max = 0;
+ float min=999999999.0f, max=-999999999.0;
int i;
td= (t->data + 1);
More information about the Bf-blender-cvs
mailing list