Spline IK Bugfixes 1:

* Fixed crash when reloading a file with Spline IK and/or Damped Track constraints. The targets for these constraints weren't getting relinked.
* Fixed problems with removing Spline IK making some bones unable to be manipulated.
* Jotted down some comments in the Spline IK code noting places where additional tweaks will be added.
This commit is contained in:
2009-11-01 22:30:47 +00:00
parent a99157b20d
commit e8b5effdff
3 changed files with 47 additions and 10 deletions

View File

@@ -2265,6 +2265,20 @@ static void lib_link_constraints(FileData *fd, ID *id, ListBase *conlist)
data->target = newlibadr(fd, id->lib, data->target);
}
break;
case CONSTRAINT_TYPE_DAMPTRACK:
{
bDampTrackConstraint *data;
data= ((bDampTrackConstraint*)con->data);
data->tar = newlibadr(fd, id->lib, data->tar);
}
break;
case CONSTRAINT_TYPE_SPLINEIK:
{
bSplineIKConstraint *data;
data= ((bSplineIKConstraint*)con->data);
data->tar = newlibadr(fd, id->lib, data->tar);
}
break;
case CONSTRAINT_TYPE_NULL:
break;
}
@@ -10732,6 +10746,18 @@ static void expand_constraints(FileData *fd, Main *mainvar, ListBase *lb)
expand_doit(fd, mainvar, data->target);
}
break;
case CONSTRAINT_TYPE_DAMPTRACK:
{
bDampTrackConstraint *data = (bDampTrackConstraint*)curcon->data;
expand_doit(fd, mainvar, data->tar);
}
break;
case CONSTRAINT_TYPE_SPLINEIK:
{
bSplineIKConstraint *data = (bSplineIKConstraint*)curcon->data;
expand_doit(fd, mainvar, data->tar);
}
break;
default:
break;
}