mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 13:14:04 +00:00
Try to avoid hot function file_list_get_userdata_at_offset
This commit is contained in:
parent
55a766b0bc
commit
9a4472266f
@ -2724,8 +2724,7 @@ static void materialui_compute_entries_box_default(
|
||||
for (i = 0; i < entries_end; i++)
|
||||
{
|
||||
unsigned num_sublabel_lines = 0;
|
||||
materialui_node_t *node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
bool has_icon = false;
|
||||
|
||||
if (!node)
|
||||
@ -2824,8 +2823,7 @@ static void materialui_compute_entries_box_playlist_list(
|
||||
for (i = 0; i < entries_end; i++)
|
||||
{
|
||||
unsigned num_sublabel_lines = 0;
|
||||
materialui_node_t *node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -2888,8 +2886,7 @@ static void materialui_compute_entries_box_playlist_dual_icon(
|
||||
|
||||
for (i = 0; i < entries_end; i++)
|
||||
{
|
||||
materialui_node_t *node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -2955,8 +2952,7 @@ static void materialui_compute_entries_box_playlist_desktop(
|
||||
|
||||
for (i = 0; i < entries_end; i++)
|
||||
{
|
||||
materialui_node_t *node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -3015,7 +3011,7 @@ static float materialui_get_scroll(materialui_handle_t *mui)
|
||||
/* > Account for entries *before* current selection */
|
||||
for (i = 0; i < selection; i++)
|
||||
{
|
||||
node = (materialui_node_t*)file_list_get_userdata_at_offset(list, i);
|
||||
node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
/* If this ever happens, the scroll position
|
||||
* will be entirely wrong... */
|
||||
@ -3026,7 +3022,7 @@ static float materialui_get_scroll(materialui_handle_t *mui)
|
||||
}
|
||||
|
||||
/* > Account for current selection */
|
||||
node = (materialui_node_t*)file_list_get_userdata_at_offset(list, selection);
|
||||
node = (materialui_node_t*)list->list[selection].userdata;
|
||||
if (node)
|
||||
selection_centre += node->entry_height / 2.0f;
|
||||
|
||||
@ -3570,10 +3566,9 @@ static void materialui_render(void *data,
|
||||
|
||||
for (i = 0; i < entries_end; i++)
|
||||
{
|
||||
materialui_node_t *node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
int entry_x;
|
||||
int entry_y;
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
/* Sanity check */
|
||||
if (!node)
|
||||
@ -4649,7 +4644,7 @@ static void materialui_render_selected_entry_aux_playlist_desktop(
|
||||
unsigned header_height, int x_offset,
|
||||
file_list_t *list, size_t selection)
|
||||
{
|
||||
materialui_node_t *node = (materialui_node_t*)file_list_get_userdata_at_offset(list, selection);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[selection].userdata;
|
||||
float background_x = (float)(x_offset + (int)mui->landscape_optimization.border_width);
|
||||
float background_y = (float)header_height;
|
||||
/* Note: If landscape optimisations are enabled,
|
||||
@ -4725,9 +4720,7 @@ static void materialui_render_selected_entry_aux_playlist_desktop(
|
||||
if ((primary_thumbnail->status == GFX_THUMBNAIL_STATUS_UNKNOWN) &&
|
||||
(secondary_thumbnail->status == GFX_THUMBNAIL_STATUS_UNKNOWN))
|
||||
{
|
||||
materialui_node_t *last_node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list,
|
||||
mui->desktop_thumbnail_last_selection);
|
||||
materialui_node_t *last_node = (materialui_node_t*)list->list[mui->desktop_thumbnail_last_selection].userdata;
|
||||
|
||||
if (last_node)
|
||||
{
|
||||
@ -4936,7 +4929,7 @@ static void materialui_render_menu_list(
|
||||
{
|
||||
bool entry_selected = (selection == i);
|
||||
bool touch_feedback_active = touch_feedback_enabled && (mui->touch_feedback_selection == i);
|
||||
materialui_node_t *node = (materialui_node_t*)file_list_get_userdata_at_offset(list, i);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
menu_entry_t entry;
|
||||
|
||||
/* Sanity check */
|
||||
@ -5139,7 +5132,7 @@ static void materialui_render_selection_highlight(
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
node = (materialui_node_t*)file_list_get_userdata_at_offset(list, selection);
|
||||
node = (materialui_node_t*)list->list[selection].userdata;
|
||||
if (!node)
|
||||
return;
|
||||
|
||||
@ -5981,7 +5974,7 @@ static bool materialui_get_selected_thumbnails(
|
||||
if (!list)
|
||||
return false;
|
||||
|
||||
node = (materialui_node_t*)file_list_get_userdata_at_offset(list, selection);
|
||||
node = (materialui_node_t*)list->list[selection].userdata;
|
||||
if (!node)
|
||||
return false;
|
||||
|
||||
@ -7792,8 +7785,7 @@ static void materialui_reset_thumbnails(void)
|
||||
/* Free node thumbnails */
|
||||
for (i = 0; i < list->size; i++)
|
||||
{
|
||||
materialui_node_t *node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -9505,7 +9497,7 @@ static int materialui_pointer_up(void *userdata,
|
||||
if (!list)
|
||||
break;
|
||||
|
||||
node = (materialui_node_t*)file_list_get_userdata_at_offset(list, ptr);
|
||||
node = (materialui_node_t*)list->list[ptr].userdata;
|
||||
if (!node)
|
||||
break;
|
||||
|
||||
@ -9656,8 +9648,8 @@ static void materialui_list_insert(
|
||||
if (!mui || !list)
|
||||
return;
|
||||
|
||||
mui->need_compute = true;
|
||||
node = (materialui_node_t*)file_list_get_userdata_at_offset(list, i);
|
||||
mui->need_compute = true;
|
||||
node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
{
|
||||
@ -10269,8 +10261,7 @@ static void materialui_list_clear(file_list_t *list)
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
materialui_node_t *node = (materialui_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
materialui_node_t *node = (materialui_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -10334,7 +10325,8 @@ static void materialui_refresh_thumbnail_image(void *userdata, unsigned i)
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
node = (materialui_node_t*)file_list_get_userdata_at_offset(list, (size_t)i);
|
||||
node = (materialui_node_t*)
|
||||
list->list[(size_t)i].userdata;
|
||||
|
||||
if (!node)
|
||||
return;
|
||||
|
@ -120,7 +120,7 @@ static void ozone_set_thumbnail_content(void *data, const char *s)
|
||||
menu_entry_t entry;
|
||||
size_t selection = menu_navigation_get_selection();
|
||||
file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0);
|
||||
ozone_node_t *node = (ozone_node_t*)file_list_get_userdata_at_offset(selection_buf, selection);
|
||||
ozone_node_t *node = (ozone_node_t*)selection_buf->list[selection].userdata;
|
||||
|
||||
if (node)
|
||||
{
|
||||
@ -1874,9 +1874,8 @@ static void ozone_render(void *data,
|
||||
|
||||
for (i = 0; i < entries_end; i++)
|
||||
{
|
||||
ozone_node_t *node = (ozone_node_t*)
|
||||
file_list_get_userdata_at_offset(selection_buf, i);
|
||||
float entry_y;
|
||||
ozone_node_t *node = (ozone_node_t*)selection_buf->list[i].userdata;
|
||||
|
||||
/* Sanity check */
|
||||
if (!node)
|
||||
@ -2636,8 +2635,7 @@ static void ozone_selection_changed(ozone_handle_t *ozone, bool allow_animation)
|
||||
{
|
||||
file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0);
|
||||
size_t new_selection = menu_navigation_get_selection();
|
||||
ozone_node_t *node = (ozone_node_t*)
|
||||
file_list_get_userdata_at_offset(selection_buf, new_selection);
|
||||
ozone_node_t *node = (ozone_node_t*)selection_buf->list[new_selection].userdata;
|
||||
|
||||
if (!node)
|
||||
return;
|
||||
@ -3358,7 +3356,7 @@ static void ozone_list_insert(void *userdata,
|
||||
|
||||
ozone->need_compute = true;
|
||||
|
||||
node = (ozone_node_t*)file_list_get_userdata_at_offset(list, i);
|
||||
node = (ozone_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
node = ozone_alloc_node();
|
||||
@ -3453,7 +3451,7 @@ static void ozone_list_cache(void *data,
|
||||
|
||||
for (i = 0; i < entries_end; i++)
|
||||
{
|
||||
ozone_node_t *node = (ozone_node_t*) file_list_get_userdata_at_offset(selection_buf, i);
|
||||
ozone_node_t *node = (ozone_node_t*)selection_buf->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -3474,8 +3472,7 @@ text_iterate:
|
||||
last -= 1;
|
||||
last += first;
|
||||
|
||||
first_node = (ozone_node_t*)file_list_get_userdata_at_offset(
|
||||
selection_buf, first);
|
||||
first_node = (ozone_node_t*)selection_buf->list[first].userdata;
|
||||
ozone->old_list_offset_y = first_node->position_y;
|
||||
|
||||
ozone_list_deep_copy(selection_buf,
|
||||
|
@ -1319,7 +1319,7 @@ static void xmb_set_thumbnail_content(void *data, const char *s)
|
||||
menu_entry_t entry;
|
||||
size_t selection = menu_navigation_get_selection();
|
||||
file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0);
|
||||
xmb_node_t *node = (xmb_node_t*)file_list_get_userdata_at_offset(selection_buf, selection);
|
||||
xmb_node_t *node = (xmb_node_t*)selection_buf->list[selection].userdata;
|
||||
|
||||
if (node)
|
||||
{
|
||||
@ -1410,8 +1410,7 @@ static void xmb_selection_pointer_changed(
|
||||
float iy, real_iy;
|
||||
float ia = xmb->items_passive_alpha;
|
||||
float iz = xmb->items_passive_zoom;
|
||||
xmb_node_t *node = (xmb_node_t*)
|
||||
file_list_get_userdata_at_offset(selection_buf, i);
|
||||
xmb_node_t *node = (xmb_node_t*)selection_buf->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -1557,8 +1556,7 @@ static void xmb_list_open_old(xmb_handle_t *xmb,
|
||||
{
|
||||
float ia = 0;
|
||||
float real_y;
|
||||
xmb_node_t *node = (xmb_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
xmb_node_t *node = (xmb_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -1617,8 +1615,7 @@ static void xmb_list_open_new(xmb_handle_t *xmb,
|
||||
{
|
||||
float ia;
|
||||
float real_y;
|
||||
xmb_node_t *node = (xmb_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
xmb_node_t *node = (xmb_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -1782,8 +1779,7 @@ static void xmb_list_switch_old(xmb_handle_t *xmb,
|
||||
|
||||
for (i = 0; i < end; i++)
|
||||
{
|
||||
xmb_node_t *node = (xmb_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
xmb_node_t *node = (xmb_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -1855,8 +1851,7 @@ static void xmb_list_switch_new(xmb_handle_t *xmb,
|
||||
|
||||
for (i = 0; i < end; i++)
|
||||
{
|
||||
xmb_node_t *node = (xmb_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
xmb_node_t *node = (xmb_node_t*)list->list[i].userdata;
|
||||
float ia = xmb->items_passive_alpha;
|
||||
|
||||
if (!node)
|
||||
@ -3042,9 +3037,8 @@ static int xmb_draw_item(
|
||||
bool do_draw_text = false;
|
||||
unsigned ticker_limit = 35 * scale_mod[0];
|
||||
unsigned line_ticker_width = 45 * scale_mod[3];
|
||||
xmb_node_t * node = (xmb_node_t*)
|
||||
file_list_get_userdata_at_offset(list, i);
|
||||
settings_t *settings = config_get_ptr();
|
||||
xmb_node_t * node = (xmb_node_t*)list->list[i].userdata;
|
||||
bool use_smooth_ticker = settings->bools.menu_ticker_smooth;
|
||||
enum gfx_animation_ticker_type
|
||||
menu_ticker_type = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
|
||||
@ -3499,8 +3493,7 @@ static void xmb_draw_items(
|
||||
|
||||
if (list == &xmb->selection_buf_old)
|
||||
{
|
||||
xmb_node_t *node = (xmb_node_t*)
|
||||
file_list_get_userdata_at_offset(list, current);
|
||||
xmb_node_t *node = (xmb_node_t*)list->list[current].userdata;
|
||||
|
||||
if (node && (uint8_t)(255 * node->alpha) == 0)
|
||||
return;
|
||||
@ -5431,8 +5424,7 @@ static void xmb_layout(xmb_handle_t *xmb)
|
||||
{
|
||||
float ia = xmb->items_passive_alpha;
|
||||
float iz = xmb->items_passive_zoom;
|
||||
xmb_node_t *node = (xmb_node_t*)file_list_get_userdata_at_offset(
|
||||
selection_buf, i);
|
||||
xmb_node_t *node = (xmb_node_t*)selection_buf->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
continue;
|
||||
@ -6307,7 +6299,7 @@ static void xmb_list_insert(void *userdata,
|
||||
if (!xmb || !list)
|
||||
return;
|
||||
|
||||
node = (xmb_node_t*)file_list_get_userdata_at_offset(list, i);
|
||||
node = (xmb_node_t*)list->list[i].userdata;
|
||||
|
||||
if (!node)
|
||||
node = xmb_alloc_node();
|
||||
|
Loading…
x
Reference in New Issue
Block a user