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){
|
||||
/* 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);
|
||||
else {
|
||||
if(cu->path==NULL || cu->path->data==NULL) makeDispListCurveTypes(ob->parent);
|
||||
if(cu->path) {
|
||||
|
||||
/* Find the position on the path */
|
||||
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);
|
||||
|
||||
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;
|
||||
|
||||
/* exception, timeoffset is regarded as distance offset */
|
||||
|
@@ -1906,7 +1906,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
|
||||
Object *ob;
|
||||
|
||||
setwinmatrixview3d(0); /* 0= no pick rect */
|
||||
setviewmatrixview3d();
|
||||
setviewmatrixview3d(); /* note: calls where_is_object for camera... */
|
||||
|
||||
Mat4MulMat4(v3d->persmat, v3d->viewmat, curarea->winmat);
|
||||
Mat4Invert(v3d->persinv, v3d->persmat);
|
||||
|
Reference in New Issue
Block a user