have timeoffset use (int)floor(timeoffset+0.5f) when converting to an int to avoid problems with nagative values.

This commit is contained in:
2010-05-03 15:56:44 +00:00
parent 914d5e5f62
commit 0fdd003d9a
2 changed files with 14 additions and 12 deletions

View File

@@ -333,7 +333,7 @@ void group_handle_recalc_and_update(Scene *scene, Object *parent, Group *group)
/* switch to local time */
cfrao= scene->r.cfra;
scene->r.cfra -= (int)give_timeoffset(parent);
scene->r.cfra -= (int)floor(give_timeoffset(parent) + 0.5f);
/* we need a DAG per group... */
for(go= group->gobject.first; go; go= go->next) {

View File

@@ -232,20 +232,22 @@ void ANIM_draw_cfra (const bContext *C, View2D *v2d, short flag)
/* Draw dark green line if slow-parenting/time-offset is enabled */
if (flag & DRAWCFRA_SHOW_TIMEOFS) {
Object *ob= (scene->basact) ? (scene->basact->object) : 0;
// XXX ob->ipoflag is depreceated!
if ((ob) && (ob->ipoflag & OB_OFFS_OB) && (give_timeoffset(ob)!=0.0f)) {
vec[0]-= give_timeoffset(ob); /* could avoid calling twice */
if(ob) {
float timeoffset= give_timeoffset(ob);
// XXX ob->ipoflag is depreceated!
if ((ob->ipoflag & OB_OFFS_OB) && (timeoffset != 0.0f)) {
vec[0]-= timeoffset; /* could avoid calling twice */
UI_ThemeColorShade(TH_CFRAME, -30);
UI_ThemeColorShade(TH_CFRAME, -30);
glBegin(GL_LINE_STRIP);
/*vec[1]= v2d->cur.ymax;*/ // this is set already. this line is only included
glVertex2fv(vec);
glBegin(GL_LINE_STRIP);
/*vec[1]= v2d->cur.ymax;*/ // this is set already. this line is only included
glVertex2fv(vec);
vec[1]= v2d->cur.ymin;
glVertex2fv(vec);
glEnd();
vec[1]= v2d->cur.ymin;
glVertex2fv(vec);
glEnd();
}
}
}