Start updating menu->input.joypad and menu->input.mouse per-frame
This commit is contained in:
parent
92c4e5ce66
commit
76407c9ef2
|
@ -332,11 +332,11 @@ int menu_iterate(retro_input_t input,
|
|||
{
|
||||
static retro_time_t last_clock_update = 0;
|
||||
int32_t ret = 0;
|
||||
unsigned action = menu_input_frame(input, trigger_input);
|
||||
runloop_t *runloop = rarch_main_get_ptr();
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
menu->input.joypad = menu_input_frame(input, trigger_input);
|
||||
menu->cur_time = rarch_get_time_usec();
|
||||
menu->dt = menu->cur_time - menu->old_time;
|
||||
|
||||
|
@ -352,7 +352,7 @@ int menu_iterate(retro_input_t input,
|
|||
last_clock_update = menu->cur_time;
|
||||
}
|
||||
|
||||
menu_entry_iterate(action);
|
||||
menu_entry_iterate(menu->input.joypad);
|
||||
|
||||
if (runloop->is_menu && !runloop->is_idle)
|
||||
menu_display_fb();
|
||||
|
|
|
@ -225,6 +225,12 @@ typedef struct
|
|||
bool active;
|
||||
} action;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned joypad;
|
||||
uint64_t mouse;
|
||||
} input;
|
||||
|
||||
rarch_setting_t *list_settings;
|
||||
animation_t *animation;
|
||||
bool animation_is_active;
|
||||
|
|
|
@ -764,6 +764,8 @@ static int menu_input_mouse_post_iterate(uint64_t *input_mouse,
|
|||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
|
||||
*input_mouse = MOUSE_ACTION_NONE;
|
||||
|
||||
if (!menu)
|
||||
return -1;
|
||||
|
||||
|
@ -944,8 +946,8 @@ static int menu_input_pointer_post_iterate(menu_file_list_cbs_t *cbs,
|
|||
void menu_input_post_iterate(int *ret, unsigned action)
|
||||
{
|
||||
menu_entry_t entry;
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
uint64_t input_mouse = MOUSE_ACTION_NONE;
|
||||
settings_t *settings = config_get_ptr();
|
||||
size_t selected = menu_navigation_get_current_selection();
|
||||
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
|
||||
|
@ -954,9 +956,9 @@ void menu_input_post_iterate(int *ret, unsigned action)
|
|||
menu_entry_get(&entry, selected, NULL, false);
|
||||
|
||||
if (settings->menu.mouse.enable)
|
||||
*ret = menu_input_mouse_post_iterate (&input_mouse, cbs, &entry, action);
|
||||
*ret = menu_input_mouse_post_iterate (&menu->input.mouse, cbs, &entry, action);
|
||||
|
||||
*ret = menu_input_mouse_frame(cbs, &entry, input_mouse);
|
||||
*ret = menu_input_mouse_frame(cbs, &entry, menu->input.mouse);
|
||||
|
||||
if (settings->menu.pointer.enable)
|
||||
*ret |= menu_input_pointer_post_iterate(cbs, &entry, action);
|
||||
|
|
Loading…
Reference in New Issue