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:
2005-07-26 09:21:20 +00:00
parent a8ae1c64f4
commit 4b69bcc7ad
3 changed files with 5 additions and 4 deletions

View File

@@ -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);

View File

@@ -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 */

View File

@@ -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);