mirror of
https://github.com/libretro/RetroArch
synced 2025-02-20 15:40:44 +00:00
(Subsystem Settings) Create separate subsystem settings list - will
be selectively hidden later based on whether subsystems are implemented for the core
This commit is contained in:
parent
f3742a101c
commit
3fe8806018
@ -399,6 +399,8 @@ MSG_HASH(MENU_ENUM_LABEL_DEFERRED_QUICK_MENU_VIEWS_SETTINGS_LIST,
|
||||
"deferred_quick_menu_views_settings_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_SETTINGS_VIEWS_SETTINGS_LIST,
|
||||
"deferred_settings_views_settings_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_SUBSYSTEM_SETTINGS_LIST,
|
||||
"deferred_subsystem_settings_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_NETWORK_HOSTING_SETTINGS_LIST,
|
||||
"deferred_network_hosting_settings_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST,
|
||||
@ -861,6 +863,8 @@ MSG_HASH(MENU_ENUM_LABEL_NETWORK_REMOTE_USER_LAST_ENABLE,
|
||||
"network_remote_user_last_enable")
|
||||
MSG_HASH(MENU_ENUM_LABEL_NETWORK_ON_DEMAND_THUMBNAILS,
|
||||
"network_on_demand_thumbnails")
|
||||
MSG_HASH(MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS,
|
||||
"subsystem_settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_NETWORK_HOSTING_SETTINGS,
|
||||
"network_hosting_settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_NETWORK_SETTINGS,
|
||||
|
@ -2171,6 +2171,10 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_NETWORK_HOSTING_SETTINGS,
|
||||
"Host"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_SUBSYSTEM_SETTINGS,
|
||||
"Subsystems"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS,
|
||||
"Network"
|
||||
|
@ -182,6 +182,7 @@ generic_deferred_push(deferred_push_retro_achievements_settings_list,DISPLAYLIST
|
||||
generic_deferred_push(deferred_push_updater_settings_list, DISPLAYLIST_UPDATER_SETTINGS_LIST)
|
||||
generic_deferred_push(deferred_push_wifi_settings_list, DISPLAYLIST_WIFI_SETTINGS_LIST)
|
||||
generic_deferred_push(deferred_push_network_settings_list, DISPLAYLIST_NETWORK_SETTINGS_LIST)
|
||||
generic_deferred_push(deferred_push_subsystem_settings_list, DISPLAYLIST_SUBSYSTEM_SETTINGS_LIST)
|
||||
generic_deferred_push(deferred_push_network_hosting_settings_list, DISPLAYLIST_NETWORK_HOSTING_SETTINGS_LIST)
|
||||
generic_deferred_push(deferred_push_lakka_services_list, DISPLAYLIST_LAKKA_SERVICES_LIST)
|
||||
generic_deferred_push(deferred_push_user_settings_list, DISPLAYLIST_USER_SETTINGS_LIST)
|
||||
@ -716,6 +717,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
||||
{MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST, deferred_push_retro_achievements_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST, deferred_push_updater_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST, deferred_push_network_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_SUBSYSTEM_SETTINGS_LIST, deferred_push_subsystem_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_NETWORK_HOSTING_SETTINGS_LIST, deferred_push_network_hosting_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_WIFI_SETTINGS_LIST, deferred_push_wifi_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_LAKKA_SERVICES_LIST, deferred_push_lakka_services_list},
|
||||
|
@ -280,6 +280,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
|
||||
return MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST;
|
||||
case ACTION_OK_DL_NETWORK_HOSTING_SETTINGS_LIST:
|
||||
return MENU_ENUM_LABEL_DEFERRED_NETWORK_HOSTING_SETTINGS_LIST;
|
||||
case ACTION_OK_DL_SUBSYSTEM_SETTINGS_LIST:
|
||||
return MENU_ENUM_LABEL_DEFERRED_SUBSYSTEM_SETTINGS_LIST;
|
||||
case ACTION_OK_DL_NETWORK_SETTINGS_LIST:
|
||||
return MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST;
|
||||
case ACTION_OK_DL_WIFI_SETTINGS_LIST:
|
||||
@ -1112,6 +1114,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_UPDATER_SETTINGS_LIST:
|
||||
case ACTION_OK_DL_NETWORK_SETTINGS_LIST:
|
||||
case ACTION_OK_DL_NETWORK_HOSTING_SETTINGS_LIST:
|
||||
case ACTION_OK_DL_SUBSYSTEM_SETTINGS_LIST:
|
||||
case ACTION_OK_DL_WIFI_SETTINGS_LIST:
|
||||
case ACTION_OK_DL_NETPLAY:
|
||||
case ACTION_OK_DL_NETPLAY_LAN_SCAN_SETTINGS_LIST:
|
||||
@ -4793,6 +4796,7 @@ default_action_ok_func(action_ok_configurations_list, ACTION_OK_DL_CONFIGURATION
|
||||
default_action_ok_func(action_ok_saving_list, ACTION_OK_DL_SAVING_SETTINGS_LIST)
|
||||
default_action_ok_func(action_ok_network_list, ACTION_OK_DL_NETWORK_SETTINGS_LIST)
|
||||
default_action_ok_func(action_ok_network_hosting_list, ACTION_OK_DL_NETWORK_HOSTING_SETTINGS_LIST)
|
||||
default_action_ok_func(action_ok_subsystem_list, ACTION_OK_DL_SUBSYSTEM_SETTINGS_LIST)
|
||||
default_action_ok_func(action_ok_database_manager_list, ACTION_OK_DL_DATABASE_MANAGER_LIST)
|
||||
default_action_ok_func(action_ok_wifi_list, ACTION_OK_DL_WIFI_SETTINGS_LIST)
|
||||
default_action_ok_func(action_ok_cursor_manager_list, ACTION_OK_DL_CURSOR_MANAGER_LIST)
|
||||
@ -6950,6 +6954,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_NETWORK_HOSTING_SETTINGS:
|
||||
BIND_ACTION_OK(cbs, action_ok_network_hosting_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS:
|
||||
BIND_ACTION_OK(cbs, action_ok_subsystem_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_NETWORK_SETTINGS:
|
||||
BIND_ACTION_OK(cbs, action_ok_network_list);
|
||||
break;
|
||||
|
@ -377,6 +377,7 @@ default_title_macro(action_get_menu_file_browser_settings_list, MENU_ENUM_LABEL_
|
||||
default_title_macro(action_get_retro_achievements_settings_list,MENU_ENUM_LABEL_VALUE_RETRO_ACHIEVEMENTS_SETTINGS)
|
||||
default_title_macro(action_get_wifi_settings_list, MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS)
|
||||
default_title_macro(action_get_network_hosting_settings_list, MENU_ENUM_LABEL_VALUE_NETWORK_HOSTING_SETTINGS)
|
||||
default_title_macro(action_get_subsystem_settings_list, MENU_ENUM_LABEL_VALUE_SUBSYSTEM_SETTINGS)
|
||||
default_title_macro(action_get_network_settings_list, MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS)
|
||||
default_title_macro(action_get_netplay_lan_scan_settings_list, MENU_ENUM_LABEL_VALUE_NETPLAY_LAN_SCAN_SETTINGS)
|
||||
#ifdef HAVE_LAKKA
|
||||
@ -666,6 +667,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
|
||||
{MENU_ENUM_LABEL_DEFERRED_WIFI_SETTINGS_LIST, action_get_wifi_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST, action_get_updater_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_NETWORK_HOSTING_SETTINGS_LIST, action_get_network_hosting_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_SUBSYSTEM_SETTINGS_LIST, action_get_subsystem_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST, action_get_network_settings_list},
|
||||
{MENU_ENUM_LABEL_DEFERRED_NETPLAY_LAN_SCAN_SETTINGS_LIST, action_get_netplay_lan_scan_settings_list},
|
||||
#ifdef HAVE_LAKKA
|
||||
|
@ -6675,19 +6675,11 @@ static int materialui_list_push(void *data, void *userdata,
|
||||
|
||||
if (settings->bools.menu_show_load_content)
|
||||
{
|
||||
const struct retro_subsystem_info* subsystem;
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
|
||||
/* Core fully loaded, use the subsystem data */
|
||||
if (system->subsystem.data)
|
||||
subsystem = system->subsystem.data;
|
||||
/* Core not loaded completely, use the data we peeked on load core */
|
||||
else
|
||||
subsystem = subsystem_data;
|
||||
|
||||
menu_subsystem_populate(subsystem, info->list);
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_content_show_history)
|
||||
|
@ -831,19 +831,11 @@ static int ozone_list_push(void *data, void *userdata,
|
||||
|
||||
if (settings->bools.menu_show_load_content)
|
||||
{
|
||||
const struct retro_subsystem_info* subsystem;
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
|
||||
/* Core fully loaded, use the subsystem data */
|
||||
if (system->subsystem.data)
|
||||
subsystem = system->subsystem.data;
|
||||
/* Core not loaded completely, use the data we peeked on load core */
|
||||
else
|
||||
subsystem = subsystem_data;
|
||||
|
||||
menu_subsystem_populate(subsystem, info->list);
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_load_disc)
|
||||
|
@ -6178,20 +6178,14 @@ static int xmb_list_push(void *data, void *userdata,
|
||||
|
||||
if (settings->bools.menu_show_load_content)
|
||||
{
|
||||
const struct retro_subsystem_info* subsystem;
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
/* Core fully loaded, use the subsystem data */
|
||||
if (system->subsystem.data)
|
||||
subsystem = system->subsystem.data;
|
||||
/* Core not loaded completely, use the data we peeked on load core */
|
||||
else
|
||||
subsystem = subsystem_data;
|
||||
|
||||
menu_subsystem_populate(subsystem, info->list);
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
}
|
||||
|
||||
|
||||
if (settings->bools.menu_show_load_disc)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_DISC;
|
||||
|
@ -173,6 +173,7 @@ enum
|
||||
ACTION_OK_DL_UPDATER_SETTINGS_LIST,
|
||||
ACTION_OK_DL_WIFI_SETTINGS_LIST,
|
||||
ACTION_OK_DL_NETWORK_SETTINGS_LIST,
|
||||
ACTION_OK_DL_SUBSYSTEM_SETTINGS_LIST,
|
||||
ACTION_OK_DL_NETWORK_HOSTING_SETTINGS_LIST,
|
||||
ACTION_OK_DL_NETPLAY_LAN_SCAN_SETTINGS_LIST,
|
||||
ACTION_OK_DL_LAKKA_SERVICES_LIST,
|
||||
|
@ -7007,6 +7007,34 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case DISPLAYLIST_SUBSYSTEM_SETTINGS_LIST:
|
||||
{
|
||||
const struct retro_subsystem_info* subsystem = subsystem_data;
|
||||
rarch_system_info_t *sys_info =
|
||||
runloop_get_system_info();
|
||||
/* Core not loaded completely, use the data we
|
||||
* peeked on load core */
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||
|
||||
/* Core fully loaded, use the subsystem data */
|
||||
if (sys_info && sys_info->subsystem.data)
|
||||
subsystem = sys_info->subsystem.data;
|
||||
|
||||
count = menu_subsystem_populate(subsystem, info->list);
|
||||
|
||||
if (count == 0)
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY),
|
||||
MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY,
|
||||
FILE_TYPE_NONE, 0, 0);
|
||||
|
||||
info->need_push = true;
|
||||
info->need_refresh = true;
|
||||
info->need_clear = true;
|
||||
}
|
||||
break;
|
||||
case DISPLAYLIST_NETWORK_HOSTING_SETTINGS_LIST:
|
||||
#ifdef HAVE_NETWORKING
|
||||
{
|
||||
|
@ -136,6 +136,7 @@ enum menu_displaylist_ctl_state
|
||||
DISPLAYLIST_ACHIEVEMENT_LIST,
|
||||
DISPLAYLIST_USER_BINDS_LIST,
|
||||
DISPLAYLIST_ACCOUNTS_LIST,
|
||||
DISPLAYLIST_SUBSYSTEM_SETTINGS_LIST,
|
||||
DISPLAYLIST_MIXER_STREAM_SETTINGS_LIST,
|
||||
DISPLAYLIST_DRIVER_SETTINGS_LIST,
|
||||
DISPLAYLIST_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST,
|
||||
|
@ -3966,8 +3966,9 @@ void hex32_to_rgba_normalized(uint32_t hex, float* rgba, float alpha)
|
||||
rgba[3] = rgba[7] = rgba[11] = rgba[15] = alpha;
|
||||
}
|
||||
|
||||
void menu_subsystem_populate(const struct retro_subsystem_info* subsystem, void *data)
|
||||
unsigned menu_subsystem_populate(const struct retro_subsystem_info* subsystem, void *data)
|
||||
{
|
||||
unsigned count = 0;
|
||||
settings_t *settings = config_get_ptr();
|
||||
file_list_t *list = (file_list_t*)data;
|
||||
/* Note: Create this string here explicitly (rather than
|
||||
@ -4038,11 +4039,12 @@ void menu_subsystem_populate(const struct retro_subsystem_info* subsystem, void
|
||||
strlcpy(s, tmp, sizeof(s));
|
||||
}
|
||||
|
||||
menu_entries_append_enum(list,
|
||||
if (menu_entries_append_enum(list,
|
||||
s,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_SUBSYSTEM_ADD),
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_ADD,
|
||||
MENU_SETTINGS_SUBSYSTEM_ADD + i, 0, 0);
|
||||
MENU_SETTINGS_SUBSYSTEM_ADD + i, 0, 0))
|
||||
count++;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -4085,11 +4087,12 @@ void menu_subsystem_populate(const struct retro_subsystem_info* subsystem, void
|
||||
}
|
||||
}
|
||||
|
||||
menu_entries_append_enum(list,
|
||||
if (menu_entries_append_enum(list,
|
||||
s,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_SUBSYSTEM_LOAD),
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_LOAD,
|
||||
MENU_SETTINGS_SUBSYSTEM_LOAD, 0, 0);
|
||||
MENU_SETTINGS_SUBSYSTEM_LOAD, 0, 0))
|
||||
count++;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -4126,14 +4129,17 @@ void menu_subsystem_populate(const struct retro_subsystem_info* subsystem, void
|
||||
}
|
||||
}
|
||||
|
||||
menu_entries_append_enum(list,
|
||||
if (menu_entries_append_enum(list,
|
||||
s,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_SUBSYSTEM_ADD),
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_ADD,
|
||||
MENU_SETTINGS_SUBSYSTEM_ADD + i, 0, 0);
|
||||
MENU_SETTINGS_SUBSYSTEM_ADD + i, 0, 0))
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
|
@ -713,7 +713,7 @@ void menu_driver_destroy(void);
|
||||
|
||||
void hex32_to_rgba_normalized(uint32_t hex, float* rgba, float alpha);
|
||||
|
||||
void menu_subsystem_populate(const struct retro_subsystem_info* subsystem, void *data);
|
||||
unsigned menu_subsystem_populate(const struct retro_subsystem_info* subsystem, void *data);
|
||||
|
||||
menu_handle_t *menu_driver_get_ptr(void);
|
||||
|
||||
|
@ -7479,6 +7479,14 @@ static bool setting_append_list(
|
||||
&subgroup_info,
|
||||
parent_group);
|
||||
|
||||
CONFIG_ACTION(
|
||||
list, list_info,
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS,
|
||||
MENU_ENUM_LABEL_VALUE_SUBSYSTEM_SETTINGS,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group);
|
||||
|
||||
if (settings->bools.history_list_enable)
|
||||
{
|
||||
CONFIG_ACTION(
|
||||
|
@ -1186,6 +1186,7 @@ enum msg_hash_enums
|
||||
MENU_LABEL(DIRECTORY_SETTINGS),
|
||||
MENU_LABEL(PRIVACY_SETTINGS),
|
||||
MENU_LABEL(MIDI_SETTINGS),
|
||||
MENU_LABEL(SUBSYSTEM_SETTINGS),
|
||||
MENU_LABEL(NETWORK_HOSTING_SETTINGS),
|
||||
MENU_LABEL(NETWORK_SETTINGS),
|
||||
MENU_LABEL(NETPLAY_LAN_SCAN_SETTINGS),
|
||||
@ -1348,6 +1349,7 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_WIFI_SETTINGS_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_SUBSYSTEM_SETTINGS_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_NETWORK_HOSTING_SETTINGS_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_NETPLAY_LAN_SCAN_SETTINGS_LIST,
|
||||
|
Loading…
x
Reference in New Issue
Block a user