menu_animation.c - some cleanups

This commit is contained in:
twinaphex 2015-02-05 18:27:25 +01:00
parent a55e48e88c
commit 72ac1bd407

View File

@ -62,18 +62,13 @@ bool add_tween(float duration, float target_value, float* subject,
return true;
}
void update_tweens(float dt)
static int iterate_tween(tween_t *tween, float dt,
unsigned *active_tweens)
{
unsigned i;
unsigned active_tweens = 0;
for(i = 0; i < driver.menu->numtweens; i++)
{
tween_t *tween = &driver.menu->tweens[i];
if (!tween)
continue;
return -1;
if (tween->running_since >= tween->duration)
continue;
return -1;
tween->running_since += dt;
@ -93,9 +88,20 @@ void update_tweens(float dt)
}
if (tween->running_since < tween->duration)
active_tweens += 1;
*active_tweens += 1;
return 0;
}
void update_tweens(float dt)
{
unsigned i;
unsigned active_tweens = 0;
tween_t *tween = &driver.menu->tweens[0];
for(i = 0; i < driver.menu->numtweens; i++)
iterate_tween(tween++, dt, &active_tweens);
if (!active_tweens)
driver.menu->numtweens = 0;
}