From 70cf98eadc04c0393581ec248ec6165725566898 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 15 Jun 2015 01:40:03 +0200 Subject: [PATCH] Move menu->dt, menu->cur_time and menu->old_time to menu_animation_t --- menu/drivers/glui.c | 3 ++- menu/drivers/xmb.c | 2 +- menu/menu.c | 20 ++++++++++---------- menu/menu_animation.h | 6 ++++++ menu/menu_driver.h | 5 ----- menu/menu_input.c | 2 +- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/menu/drivers/glui.c b/menu/drivers/glui.c index 4994ecc217..4cc4088cb1 100644 --- a/menu/drivers/glui.c +++ b/menu/drivers/glui.c @@ -239,7 +239,8 @@ static void glui_render(void) glui = (glui_handle_t*)menu->userdata; - menu_animation_update(menu->animation, menu->dt / IDEAL_DT); + menu_animation_update(menu->animation, + menu->animation->delta_time / IDEAL_DT); /* TODO/FIXME - we don't use framebuffer at all * for GLUI, we should refactor this dependency diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 85e3efd3d4..0f4cdcb329 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1241,7 +1241,7 @@ static void xmb_render(void) if (!xmb) return; - menu_animation_update(menu->animation, menu->dt / IDEAL_DT); + menu_animation_update(menu->animation, menu->animation->delta_time / IDEAL_DT); current = nav->selection_ptr; end = menu_list_get_size(menu_list); diff --git a/menu/menu.c b/menu/menu.c index c402fa763f..aa0a0b0582 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -302,20 +302,20 @@ int menu_iterate(retro_input_t input, menu_input_t *menu_input = menu_input_get_ptr(); settings_t *settings = config_get_ptr(); - menu_input->joypad.state = menu_input_frame(input, trigger_input); - menu->cur_time = rarch_get_time_usec(); - menu->dt = menu->cur_time - menu->old_time; + menu_input->joypad.state = menu_input_frame(input, trigger_input); + menu->animation->cur_time = rarch_get_time_usec(); + menu->animation->delta_time = menu->animation->cur_time - menu->animation->old_time; - if (menu->dt >= IDEAL_DT * 4) - menu->dt = IDEAL_DT * 4; - if (menu->dt <= IDEAL_DT / 4) - menu->dt = IDEAL_DT / 4; - menu->old_time = menu->cur_time; + if (menu->animation->delta_time >= IDEAL_DT * 4) + menu->animation->delta_time = IDEAL_DT * 4; + if (menu->animation->delta_time <= IDEAL_DT / 4) + menu->animation->delta_time = IDEAL_DT / 4; + menu->animation->old_time = menu->animation->cur_time; - if (menu->cur_time - last_clock_update > 1000000 && settings->menu.timedate_enable) + if (menu->animation->cur_time - last_clock_update > 1000000 && settings->menu.timedate_enable) { menu->label.is_updated = true; - last_clock_update = menu->cur_time; + last_clock_update = menu->animation->cur_time; } action = menu_input->joypad.state; diff --git a/menu/menu_animation.h b/menu/menu_animation.h index 5da5f81cbe..c728761a2c 100644 --- a/menu/menu_animation.h +++ b/menu/menu_animation.h @@ -20,6 +20,7 @@ #include #include #include +#include "../libretro.h" #ifdef __cplusplus extern "C" { @@ -47,6 +48,11 @@ typedef struct menu_animation size_t capacity; size_t size; bool is_active; + + /* Delta timing */ + float delta_time; + retro_time_t cur_time; + retro_time_t old_time; } menu_animation_t; enum menu_animation_easing_type diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 085d9b4835..775ee0c6c6 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -47,11 +47,6 @@ typedef struct { void *userdata; - /* Delta timing */ - float dt; - retro_time_t cur_time; - retro_time_t old_time; - /* Used for key repeat */ struct { diff --git a/menu/menu_input.c b/menu/menu_input.c index e42a04cf48..c9729cb0f9 100644 --- a/menu/menu_input.c +++ b/menu/menu_input.c @@ -1032,7 +1032,7 @@ unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_input) nav->scroll.acceleration = 0; } - menu->delay.count += menu->dt / IDEAL_DT; + menu->delay.count += menu->animation->delta_time / IDEAL_DT; if (driver->block_input) trigger_input = 0;