mirror of
https://github.com/CTCaer/RetroArch.git
synced 2024-12-23 03:10:14 +00:00
Start refactoring 'Load' menu
This commit is contained in:
parent
6726b64d0d
commit
ae66fc95cc
@ -610,7 +610,8 @@ static void zarch_zui_render_lay_settings(zui_t *zui)
|
|||||||
zarch_layout = LAY_HOME;
|
zarch_layout = LAY_HOME;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool zarch_zui_gamepad_input(zui_t *zui, int *gamepad_index, int *list_first)
|
static bool zarch_zui_gamepad_input(zui_t *zui, int *gamepad_index, int *list_first,
|
||||||
|
unsigned skip)
|
||||||
{
|
{
|
||||||
unsigned size = menu_entries_get_size();
|
unsigned size = menu_entries_get_size();
|
||||||
unsigned cutoff_point = size - 5;
|
unsigned cutoff_point = size - 5;
|
||||||
@ -663,7 +664,7 @@ static bool zarch_zui_gamepad_input(zui_t *zui, int *gamepad_index, int *list_fi
|
|||||||
if (*list_first > (int)cutoff_point)
|
if (*list_first > (int)cutoff_point)
|
||||||
*list_first = cutoff_point;
|
*list_first = cutoff_point;
|
||||||
|
|
||||||
*list_first = min(max(*list_first, 0), cutoff_point);
|
*list_first = min(max(*list_first, 0), cutoff_point - skip);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -680,7 +681,7 @@ static int zarch_zui_render_lay_root_recent(zui_t *zui, zui_tabbed_t *tabbed)
|
|||||||
unsigned i, j = 0;
|
unsigned i, j = 0;
|
||||||
|
|
||||||
if (zarch_zui_gamepad_input(zui, &gamepad_index,
|
if (zarch_zui_gamepad_input(zui, &gamepad_index,
|
||||||
&zui->recent_dlist_first))
|
&zui->recent_dlist_first, 0))
|
||||||
zui->recent_dlist_first = gamepad_index;
|
zui->recent_dlist_first = gamepad_index;
|
||||||
|
|
||||||
for (i = zui->recent_dlist_first; i < size; ++i)
|
for (i = zui->recent_dlist_first; i < size; ++i)
|
||||||
@ -776,6 +777,7 @@ static int zarch_zui_render_lay_root_load(zui_t *zui, zui_tabbed_t *tabbed)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
static int gamepad_index = 0;
|
||||||
unsigned size = zui->load_dlist->size;
|
unsigned size = zui->load_dlist->size;
|
||||||
unsigned i, j = 1;
|
unsigned i, j = 1;
|
||||||
unsigned skip = 0;
|
unsigned skip = 0;
|
||||||
@ -789,15 +791,9 @@ static int zarch_zui_render_lay_root_load(zui_t *zui, zui_tabbed_t *tabbed)
|
|||||||
skip++;
|
skip++;
|
||||||
}
|
}
|
||||||
|
|
||||||
zui->load_dlist_first += zui->mouse.wheel;
|
if (zarch_zui_gamepad_input(zui, &gamepad_index,
|
||||||
|
&zui->load_dlist_first, skip))
|
||||||
if (zui->load_dlist_first < 0)
|
zui->load_dlist_first = gamepad_index;
|
||||||
zui->load_dlist_first = 0;
|
|
||||||
else if (zui->load_dlist_first > (int)size - 5)
|
|
||||||
zui->load_dlist_first = size - 5;
|
|
||||||
|
|
||||||
zui->load_dlist_first = min(max(zui->load_dlist_first, 0),
|
|
||||||
size - 5 - skip);
|
|
||||||
|
|
||||||
for (i = skip + zui->load_dlist_first; i < size; ++i)
|
for (i = skip + zui->load_dlist_first; i < size; ++i)
|
||||||
{
|
{
|
||||||
@ -820,7 +816,7 @@ static int zarch_zui_render_lay_root_load(zui_t *zui, zui_tabbed_t *tabbed)
|
|||||||
|
|
||||||
if (zarch_zui_list_item(zui, tabbed, 0,
|
if (zarch_zui_list_item(zui, tabbed, 0,
|
||||||
tabbed->tabline_size + 73 + j * ZUI_ITEM_SIZE_PX,
|
tabbed->tabline_size + 73 + j * ZUI_ITEM_SIZE_PX,
|
||||||
label, i, NULL, false))
|
label, i, NULL, gamepad_index == i))
|
||||||
{
|
{
|
||||||
if (path_is_directory(path))
|
if (path_is_directory(path))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user