Constraint Ipos didnt work when the bone/channel had no Action Ipo...
just had to move a line of code. :)
This commit is contained in:
Ton Roosendaal 2005-10-25 19:40:13 +00:00
parent 8a21421e54
commit 129097a097
2 changed files with 3 additions and 5 deletions

@ -505,14 +505,12 @@ void extract_pose_from_action(bPose *pose, bAction *act, float ctime)
if(achan) { if(achan) {
ipo = achan->ipo; ipo = achan->ipo;
if (ipo) { if (ipo) {
/* Evaluates and sets the internal ipo value */ /* Evaluates and sets the internal ipo value */
calc_ipo(ipo, ctime); calc_ipo(ipo, ctime);
/* This call also sets the pchan flags */ /* This call also sets the pchan flags */
execute_action_ipo(achan, pchan); execute_action_ipo(achan, pchan);
do_constraint_channels(&pchan->constraints, &achan->constraintChannels, ctime);
} }
do_constraint_channels(&pchan->constraints, &achan->constraintChannels, ctime);
} }
} }
} }

@ -669,8 +669,8 @@ void do_constraint_channels (ListBase *conbase, ListBase *chanbase, float ctime)
switch (icu->adrcode){ switch (icu->adrcode){
case CO_ENFORCE: case CO_ENFORCE:
con->enforce = icu->curval; con->enforce = icu->curval;
if (con->enforce<0) con->enforce=0; if (con->enforce<0.0f) con->enforce= 0.0f;
else if (con->enforce>1) con->enforce=1; else if (con->enforce>1.0f) con->enforce= 1.0f;
break; break;
} }
} }