Added correct call to have curve paths calculated, when the anim system
discovers it wasn't done yet. Needs displist now, not calc-path. :) Solves reported bug in regression file bowl.blend (camera didnt move) and errors in NLA stride paths.
This commit is contained in:
@@ -543,8 +543,8 @@ void do_all_actions(Object *ob)
|
|||||||
|
|
||||||
if (cu->flag & CU_PATH){
|
if (cu->flag & CU_PATH){
|
||||||
/* Ensure we have a valid path */
|
/* Ensure we have a valid path */
|
||||||
if(cu->path==NULL || cu->path->data==NULL) printf("action path error in ob %s\n", ob->parent->id.name+2);
|
if(cu->path==NULL || cu->path->data==NULL) makeDispListCurveTypes(ob->parent);
|
||||||
else {
|
if(cu->path) {
|
||||||
|
|
||||||
/* Find the position on the path */
|
/* Find the position on the path */
|
||||||
ctime= bsystem_time(ob, ob->parent, (float)G.scene->r.cfra, 0.0);
|
ctime= bsystem_time(ob, ob->parent, (float)G.scene->r.cfra, 0.0);
|
||||||
|
|||||||
@@ -1073,7 +1073,8 @@ void ob_parcurve(Object *ob, Object *par, float mat[][4])
|
|||||||
Mat4One(mat);
|
Mat4One(mat);
|
||||||
|
|
||||||
cu= par->data;
|
cu= par->data;
|
||||||
if(cu->path==NULL || cu->path->data==NULL) calc_curvepath(par);
|
if(cu->path==NULL || cu->path->data==NULL) /* only happens on reload file */
|
||||||
|
makeDispListCurveTypes(par);
|
||||||
if(cu->path==NULL) return;
|
if(cu->path==NULL) return;
|
||||||
|
|
||||||
/* exception, timeoffset is regarded as distance offset */
|
/* exception, timeoffset is regarded as distance offset */
|
||||||
|
|||||||
@@ -1906,7 +1906,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
|
|||||||
Object *ob;
|
Object *ob;
|
||||||
|
|
||||||
setwinmatrixview3d(0); /* 0= no pick rect */
|
setwinmatrixview3d(0); /* 0= no pick rect */
|
||||||
setviewmatrixview3d();
|
setviewmatrixview3d(); /* note: calls where_is_object for camera... */
|
||||||
|
|
||||||
Mat4MulMat4(v3d->persmat, v3d->viewmat, curarea->winmat);
|
Mat4MulMat4(v3d->persmat, v3d->viewmat, curarea->winmat);
|
||||||
Mat4Invert(v3d->persinv, v3d->persmat);
|
Mat4Invert(v3d->persinv, v3d->persmat);
|
||||||
|
|||||||
Reference in New Issue
Block a user