From 04d54be8df65c35fd4b8f55868fa7de0ab1435da Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 31 Jan 2015 17:19:12 +0100 Subject: [PATCH] (Menu drivers) Start setting up setting pointers --- menu/drivers/glui.c | 4 +++- menu/drivers/rgui.c | 3 ++- menu/drivers/rmenu.c | 8 +++++++- menu/drivers/rmenu_xui.cpp | 38 ++++++++++++++++++++++---------------- menu/drivers/xmb.c | 6 ++++++ 5 files changed, 40 insertions(+), 19 deletions(-) diff --git a/menu/drivers/glui.c b/menu/drivers/glui.c index de733cef85..99893acc25 100644 --- a/menu/drivers/glui.c +++ b/menu/drivers/glui.c @@ -385,12 +385,14 @@ static void glui_frame(void) const char *path = NULL, *entry_label = NULL; unsigned type = 0, w = 0; bool selected = false; + rarch_setting_t *setting = NULL; menu_list_get_at_offset(driver.menu->menu_list->selection_buf, i, &path, &entry_label, &type); - rarch_setting_t *setting = (rarch_setting_t*)setting_data_find_setting( + setting = (rarch_setting_t*)setting_data_find_setting( driver.menu->list_settings, driver.menu->menu_list->selection_buf->list[i].label); + (void)setting; disp_set_label(driver.menu->menu_list->selection_buf, &w, type, i, label, diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 46ea0251e4..ec23fae94f 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -439,10 +439,11 @@ static void rgui_render(void) const char *path = NULL, *entry_label = NULL; unsigned type = 0, w = 0; bool selected = false; + rarch_setting_t *setting = NULL; menu_list_get_at_offset(driver.menu->menu_list->selection_buf, i, &path, &entry_label, &type); - rarch_setting_t *setting = (rarch_setting_t*)setting_data_find_setting( + setting = (rarch_setting_t*)setting_data_find_setting( driver.menu->list_settings, driver.menu->menu_list->selection_buf->list[i].label); (void)setting; diff --git a/menu/drivers/rmenu.c b/menu/drivers/rmenu.c index fe9c2fa536..c5ece701fd 100644 --- a/menu/drivers/rmenu.c +++ b/menu/drivers/rmenu.c @@ -230,15 +230,21 @@ static void rmenu_render(void) const char *path = NULL, *entry_label = NULL; unsigned type = 0, w = 0; bool selected = false; + rarch_setting_t *setting = NULL; menu_list_get_at_offset(menu->menu_list->selection_buf, i, &path, &entry_label, &type); + setting = (rarch_setting_t*)setting_data_find_setting( + driver.menu->list_settings, + driver.menu->menu_list->selection_buf->list[i].label); + (void)setting; + disp_set_label(menu->menu_list->selection_buf, &w, type, i, label, type_str, sizeof(type_str), entry_label, path, path_buf, sizeof(path_buf)); - + selected = (i == driver.menu->selection_ptr); menu_ticker_line(entry_title_buf, RMENU_TERM_WIDTH - (w + 1 + 2), diff --git a/menu/drivers/rmenu_xui.cpp b/menu/drivers/rmenu_xui.cpp index 9181f644ff..b64123695b 100644 --- a/menu/drivers/rmenu_xui.cpp +++ b/menu/drivers/rmenu_xui.cpp @@ -577,25 +577,31 @@ static void rmenu_xui_render(void) end = menu_list_get_size(driver.menu->menu_list); for (i = 0; i < end; i++) - { - wchar_t msg_left[PATH_MAX_LENGTH], msg_right[PATH_MAX_LENGTH]; - char type_str[PATH_MAX_LENGTH], path_buf[PATH_MAX_LENGTH]; - const char *path = NULL, *entry_label = NULL; - unsigned type = 0, w = 0; + { + wchar_t msg_left[PATH_MAX_LENGTH], msg_right[PATH_MAX_LENGTH]; + char type_str[PATH_MAX_LENGTH], path_buf[PATH_MAX_LENGTH]; + const char *path = NULL, *entry_label = NULL; + unsigned type = 0, w = 0; + rarch_setting_t *setting = NULL; - menu_list_get_at_offset(driver.menu->menu_list->selection_buf, i, &path, - &entry_label, &type); + menu_list_get_at_offset(driver.menu->menu_list->selection_buf, i, &path, + &entry_label, &type); - disp_set_label(driver.menu->menu_list->selection_buf, - &w, type, i, label, - type_str, sizeof(type_str), - entry_label, path, - path_buf, sizeof(path_buf)); + setting = (rarch_setting_t*)setting_data_find_setting( + driver.menu->list_settings, + driver.menu->menu_list->selection_buf->list[i].label); + (void)setting; - mbstowcs(msg_left, path_buf, sizeof(msg_left) / sizeof(wchar_t)); - mbstowcs(msg_right, type_str, sizeof(msg_right) / sizeof(wchar_t)); - rmenu_xui_set_list_text(i, msg_left, msg_right); - } + disp_set_label(driver.menu->menu_list->selection_buf, + &w, type, i, label, + type_str, sizeof(type_str), + entry_label, path, + path_buf, sizeof(path_buf)); + + mbstowcs(msg_left, path_buf, sizeof(msg_left) / sizeof(wchar_t)); + mbstowcs(msg_right, type_str, sizeof(msg_right) / sizeof(wchar_t)); + rmenu_xui_set_list_text(i, msg_left, msg_right); + } XuiListSetCurSelVisible(m_menulist, driver.menu->selection_ptr); if (driver.menu->keyboard.display) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 5bce843e5d..3217bd2cce 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -877,10 +877,16 @@ static void xmb_draw_items(file_list_t *list, file_list_t *stack, const char *path = NULL, *entry_label = NULL; unsigned type = 0, w = 0; xmb_node_t *node = NULL; + rarch_setting_t *setting = NULL; menu_list_get_at_offset(list, i, &path, &entry_label, &type); node = (xmb_node_t*)file_list_get_userdata_at_offset(list, i); + setting = (rarch_setting_t*)setting_data_find_setting( + driver.menu->list_settings, + driver.menu->menu_list->selection_buf->list[i].label); + (void)setting; + disp_set_label(list, &w, type, i, label, val_buf, sizeof(val_buf), entry_label, path,