diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c
index 93b4b46b4e..f9b06c1ac8 100644
--- a/menu/menu_displaylist.c
+++ b/menu/menu_displaylist.c
@@ -4133,6 +4133,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
core_info_list_t *list = NULL;
menu_handle_t *menu = NULL;
settings_t *settings = NULL;
+ bool use_filebrowser = false;
menu_displaylist_info_t *info = (menu_displaylist_info_t*)data;
switch (type)
@@ -4145,9 +4146,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
break;
}
- if (!info)
- goto error;
- if (!menu_driver_ctl(RARCH_MENU_CTL_DRIVER_DATA_GET, &menu))
+ if (!info || !menu_driver_ctl(RARCH_MENU_CTL_DRIVER_DATA_GET, &menu))
goto error;
settings = config_get_ptr();
@@ -4162,1565 +4161,23 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
switch (type)
{
- case DISPLAYLIST_BROWSE_URL_LIST:
- case DISPLAYLIST_BROWSE_URL_START:
- case DISPLAYLIST_HELP_SCREEN_LIST:
- case DISPLAYLIST_MAIN_MENU:
- case DISPLAYLIST_SETTINGS_ALL:
- case DISPLAYLIST_HORIZONTAL:
- case DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS:
- case DISPLAYLIST_CONTENT_SETTINGS:
- case DISPLAYLIST_INFORMATION_LIST:
- case DISPLAYLIST_ADD_CONTENT_LIST:
- case DISPLAYLIST_CONFIGURATIONS_LIST:
- case DISPLAYLIST_SCAN_DIRECTORY_LIST:
- case DISPLAYLIST_NETPLAY_ROOM_LIST:
- case DISPLAYLIST_LOAD_CONTENT_LIST:
- case DISPLAYLIST_USER_BINDS_LIST:
- case DISPLAYLIST_ACCOUNTS_LIST:
- case DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST:
- case DISPLAYLIST_OPTIONS:
- case DISPLAYLIST_OPTIONS_CHEATS:
- case DISPLAYLIST_OPTIONS_REMAPPINGS:
- case DISPLAYLIST_SHADER_PARAMETERS:
- case DISPLAYLIST_SHADER_PARAMETERS_PRESET:
- case DISPLAYLIST_PERFCOUNTERS_CORE:
- case DISPLAYLIST_PERFCOUNTERS_FRONTEND:
+ case DISPLAYLIST_NETPLAY_LAN_SCAN_SETTINGS_LIST:
+ /* TODO/FIXME ? */
+ break;
+ case DISPLAYLIST_PUSH_ONTO_STACK:
+ /* TODO/FIXME ? */
+ break;
+ case DISPLAYLIST_PROCESS:
+ /* TODO/FIXME ? */
+ break;
+ case DISPLAYLIST_OPTIONS_MANAGEMENT:
+ /* TODO/FIXME ? */
+ break;
+ case DISPLAYLIST_NETPLAY:
+ /* TODO/FIXME ? */
+ break;
case DISPLAYLIST_DATABASE_ENTRY:
- case DISPLAYLIST_DATABASE_QUERY:
- case DISPLAYLIST_OPTIONS_SHADERS:
- case DISPLAYLIST_CORE_CONTENT:
- case DISPLAYLIST_CORE_CONTENT_DIRS:
- case DISPLAYLIST_PLAYLIST_COLLECTION:
- case DISPLAYLIST_HISTORY:
- case DISPLAYLIST_OPTIONS_DISK:
- case DISPLAYLIST_NETWORK_INFO:
- case DISPLAYLIST_SYSTEM_INFO:
- case DISPLAYLIST_ACHIEVEMENT_LIST:
- case DISPLAYLIST_ACHIEVEMENT_LIST_HARDCORE:
- case DISPLAYLIST_CORES:
- case DISPLAYLIST_CORES_DETECTED:
- case DISPLAYLIST_CORES_UPDATER:
- case DISPLAYLIST_THUMBNAILS_UPDATER:
- case DISPLAYLIST_LAKKA:
- case DISPLAYLIST_CORES_SUPPORTED:
- case DISPLAYLIST_CORES_COLLECTION_SUPPORTED:
- case DISPLAYLIST_CORE_INFO:
- case DISPLAYLIST_CORE_OPTIONS:
- case DISPLAYLIST_DEFAULT:
- case DISPLAYLIST_SHADER_PASS:
- case DISPLAYLIST_SHADER_PRESET:
- case DISPLAYLIST_DATABASES:
- case DISPLAYLIST_DATABASE_CURSORS:
- case DISPLAYLIST_DATABASE_PLAYLISTS:
- case DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL:
- case DISPLAYLIST_VIDEO_FILTERS:
- case DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST:
- case DISPLAYLIST_DRIVER_SETTINGS_LIST:
- case DISPLAYLIST_VIDEO_SETTINGS_LIST:
- case DISPLAYLIST_CONFIGURATION_SETTINGS_LIST:
- case DISPLAYLIST_LOGGING_SETTINGS_LIST:
- case DISPLAYLIST_SAVING_SETTINGS_LIST:
- case DISPLAYLIST_FRAME_THROTTLE_SETTINGS_LIST:
- case DISPLAYLIST_REWIND_SETTINGS_LIST:
- case DISPLAYLIST_ONSCREEN_DISPLAY_SETTINGS_LIST:
- case DISPLAYLIST_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST:
- case DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST:
- case DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST:
- case DISPLAYLIST_MENU_SETTINGS_LIST:
- case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST:
- case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
- case DISPLAYLIST_UPDATER_SETTINGS_LIST:
- case DISPLAYLIST_WIFI_SETTINGS_LIST:
- case DISPLAYLIST_NETWORK_SETTINGS_LIST:
- case DISPLAYLIST_LAKKA_SERVICES_LIST:
- case DISPLAYLIST_USER_SETTINGS_LIST:
- case DISPLAYLIST_DIRECTORY_SETTINGS_LIST:
- case DISPLAYLIST_PRIVACY_SETTINGS_LIST:
- case DISPLAYLIST_AUDIO_SETTINGS_LIST:
- case DISPLAYLIST_CORE_SETTINGS_LIST:
- case DISPLAYLIST_INPUT_SETTINGS_LIST:
- case DISPLAYLIST_PLAYLIST_SETTINGS_LIST:
- case DISPLAYLIST_RECORDING_SETTINGS_LIST:
- case DISPLAYLIST_AUDIO_FILTERS:
- case DISPLAYLIST_IMAGES:
- case DISPLAYLIST_OVERLAYS:
- case DISPLAYLIST_FONTS:
- case DISPLAYLIST_CHEAT_FILES:
- case DISPLAYLIST_REMAP_FILES:
- case DISPLAYLIST_RECORD_CONFIG_FILES:
- case DISPLAYLIST_CONFIG_FILES:
- case DISPLAYLIST_CONTENT_HISTORY:
- case DISPLAYLIST_ARCHIVE_ACTION:
- case DISPLAYLIST_ARCHIVE_ACTION_DETECT_CORE:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
- break;
- default:
- break;
- }
-
- switch (type)
- {
- case DISPLAYLIST_NONE:
- break;
- case DISPLAYLIST_INFO:
- menu_entries_append_enum(info->list, info->path,
- info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
- break;
- case DISPLAYLIST_FILE_BROWSER_SCAN_DIR:
- case DISPLAYLIST_FILE_BROWSER_SELECT_DIR:
- case DISPLAYLIST_FILE_BROWSER_SELECT_FILE:
- case DISPLAYLIST_FILE_BROWSER_SELECT_CORE:
- case DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION:
- case DISPLAYLIST_GENERIC:
- {
- menu_ctx_list_t list_info;
-
- list_info.type = MENU_LIST_PLAIN;
- list_info.action = 0;
-
- menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
-
- menu_entries_append_enum(info->list, info->path,
- info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
-
- info->need_navigation_clear = true;
- info->need_entries_refresh = true;
- }
- break;
- case DISPLAYLIST_PENDING_CLEAR:
- {
- menu_ctx_list_t list_info;
-
- list_info.type = MENU_LIST_PLAIN;
- list_info.action = 0;
-
- menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
-
- menu_entries_append_enum(info->list, info->path,
- info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
- info->need_entries_refresh = true;
- }
- break;
- case DISPLAYLIST_USER_BINDS_LIST:
- {
- char lbl[PATH_MAX_LENGTH];
- unsigned val = atoi(info->path);
- const char *temp_val = msg_hash_to_str(
- (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_USER_1_BINDS + (val-1)));
-
- lbl[0] = '\0';
-
- strlcpy(lbl, temp_val, sizeof(lbl));
- ret = menu_displaylist_parse_settings(menu, info,
- lbl, PARSE_NONE, true);
- info->need_refresh = true;
- info->need_push = true;
- }
- break;
- case DISPLAYLIST_ACCOUNTS_LIST:
-#ifdef HAVE_CHEEVOS
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS,
- PARSE_ACTION, false);
-#else
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ITEMS),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_ITEMS),
- MENU_ENUM_LABEL_NO_ITEMS,
- MENU_SETTING_NO_ITEM, 0, 0);
- ret = 0;
-#endif
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST:
-#ifdef HAVE_CHEEVOS
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEEVOS_USERNAME,
- PARSE_ONLY_STRING, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEEVOS_PASSWORD,
- PARSE_ONLY_STRING, false);
-#else
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ITEMS),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_ITEMS),
- MENU_ENUM_LABEL_NO_ITEMS,
- MENU_SETTING_NO_ITEM, 0, 0);
- ret = 0;
-#endif
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_BROWSE_URL_START:
-#ifdef HAVE_NETWORKING
- {
- char link[1024];
- char name[1024];
- const char *line = "Test\n";
-
- link[0] = name[0] = '\0';
-
- string_parse_html_anchor(line, link, name, sizeof(link), sizeof(name));
-
- menu_entries_append_enum(info->list,
- link,
- name,
- MSG_UNKNOWN,
- 0, 0, 0);
- }
-#endif
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_BROWSE_URL_LIST:
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BROWSE_URL),
- msg_hash_to_str(MENU_ENUM_LABEL_BROWSE_URL),
- MENU_ENUM_LABEL_BROWSE_URL,
- 0, 0, 0);
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BROWSE_START),
- msg_hash_to_str(MENU_ENUM_LABEL_BROWSE_START),
- MENU_ENUM_LABEL_BROWSE_START,
- 0, 0, 0);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_HELP_SCREEN_LIST:
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_CONTROLS),
- msg_hash_to_str(MENU_ENUM_LABEL_HELP_CONTROLS),
- MENU_ENUM_LABEL_HELP_CONTROLS,
- 0, 0, 0);
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_WHAT_IS_A_CORE),
- msg_hash_to_str(MENU_ENUM_LABEL_HELP_WHAT_IS_A_CORE),
- MENU_ENUM_LABEL_HELP_WHAT_IS_A_CORE,
- 0, 0, 0);
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_LOADING_CONTENT),
- msg_hash_to_str(MENU_ENUM_LABEL_HELP_LOADING_CONTENT),
- MENU_ENUM_LABEL_HELP_LOADING_CONTENT,
- 0, 0, 0);
-#ifdef HAVE_LIBRETRODB
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT),
- msg_hash_to_str(MENU_ENUM_LABEL_HELP_SCANNING_CONTENT),
- MENU_ENUM_LABEL_HELP_SCANNING_CONTENT,
- 0, 0, 0);
-#endif
-#ifdef HAVE_OVERLAY
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD),
- msg_hash_to_str(MENU_ENUM_LABEL_HELP_CHANGE_VIRTUAL_GAMEPAD),
- MENU_ENUM_LABEL_HELP_CHANGE_VIRTUAL_GAMEPAD,
- 0, 0, 0);
-#endif
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING),
- msg_hash_to_str(MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING),
- MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING,
- 0, 0, 0);
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_HELP:
- menu_entries_append_enum(info->list, info->path,
- info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
- menu_dialog_unset_pending_push();
- break;
- case DISPLAYLIST_SETTING_ENUM:
- {
- menu_displaylist_ctx_parse_entry_t *entry =
- (menu_displaylist_ctx_parse_entry_t*)data;
-
- if (menu_displaylist_parse_settings_enum(entry->data,
- entry->info,
- entry->enum_idx,
- entry->parse_type,
- entry->add_empty_entry) == -1)
- goto error;
- }
- return true;
- case DISPLAYLIST_MAIN_MENU:
- {
- if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CONTENT_SETTINGS,
- PARSE_ACTION, false);
-
- if (menu_driver_ctl(RARCH_MENU_CTL_HAS_LOAD_NO_CONTENT, NULL))
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_START_CORE, PARSE_ACTION, false);
-
-
-#ifndef HAVE_DYNAMIC
- if (frontend_driver_has_fork())
-#endif
- {
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CORE_LIST, PARSE_ACTION, false);
- }
-
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
- PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY,
- PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ADD_CONTENT_LIST,
- PARSE_ACTION, false);
-#ifdef HAVE_NETWORKING
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY,
- PARSE_ACTION, false);
-#endif
-#if defined(HAVE_NETWORKING)
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ONLINE_UPDATER,
- PARSE_ACTION, false);
-#endif
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SETTINGS, PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INFORMATION_LIST,
- PARSE_ACTION, false);
-#ifndef HAVE_DYNAMIC
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RESTART_RETROARCH,
- PARSE_ACTION, false);
-#endif
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
- PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_HELP_LIST,
- PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_QUIT_RETROARCH,
- PARSE_ACTION, false);
-#if defined(HAVE_LAKKA)
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_REBOOT,
- PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SHUTDOWN,
- PARSE_ACTION, false);
-#endif
- info->need_push = true;
- }
- break;
- case DISPLAYLIST_RECORDING_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORD_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORD_CONFIG,
- PARSE_ONLY_PATH, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORD_PATH,
- PARSE_ONLY_STRING, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORD_USE_OUTPUT_DIRECTORY,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_GPU_RECORD,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_POST_FILTER_RECORD,
- PARSE_ONLY_BOOL, false);
-
- info->need_push = true;
- break;
- case DISPLAYLIST_PLAYLIST_SETTINGS_LIST:
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_HISTORY_LIST_ENABLE,
- PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE,
- PARSE_ONLY_UINT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PLAYLIST_ENTRY_REMOVE,
- PARSE_ONLY_BOOL, false);
-
- menu_displaylist_parse_playlist_associations(info);
- info->need_push = true;
- break;
- case DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST:
- {
- unsigned i;
-
- for (i = 0; i < RARCH_BIND_LIST_END; i++)
- {
- ret = menu_displaylist_parse_settings_enum(menu, info,
- (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + i),
- PARSE_ONLY_BIND, false);
- (void)ret;
- }
- }
- info->need_push = true;
- break;
- case DISPLAYLIST_DRIVER_SETTINGS_LIST:
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_JOYPAD_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CAMERA_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LOCATION_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORD_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_WIFI_DRIVER,
- PARSE_ONLY_STRING_OPTIONS, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_CONFIGURATION_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_SAVING_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUTOSAVE_INTERVAL,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAVESTATE_THUMBNAIL_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_LOGGING_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LOG_VERBOSITY,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL,
- PARSE_ONLY_UINT, false);
- if (settings->bools.menu_show_advanced_settings)
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PERFCNT_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_FRAME_THROTTLE_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_REWIND_SETTINGS, PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_FASTFORWARD_RATIO,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SLOWMOTION_RATIO,
- PARSE_ONLY_FLOAT, false);
- if (settings->bools.menu_show_advanced_settings)
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_THROTTLE_FRAMERATE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_REWIND_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_REWIND_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_REWIND_GRANULARITY,
- PARSE_ONLY_UINT, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_ONSCREEN_DISPLAY_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS, PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS, PARSE_ACTION, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FONT_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FONT_PATH,
- PARSE_ONLY_PATH, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FONT_SIZE,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y,
- PARSE_ONLY_FLOAT, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE,
- PARSE_ONLY_BOOL, false);
-#if 0
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_OVERLAY_AUTOLOAD_PREFERRED,
- PARSE_ONLY_BOOL, false);
-#endif
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_OVERLAY_PRESET,
- PARSE_ONLY_PATH, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_OVERLAY_OPACITY,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_OVERLAY_SCALE,
- PARSE_ONLY_FLOAT, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SHOW_HIDDEN_FILES,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_MENU_SETTINGS_LIST:
-#ifdef HAVE_LAKKA
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS,
- PARSE_ONLY_BOOL, false);
-#endif
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_WALLPAPER,
- PARSE_ONLY_PATH, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_DYNAMIC_WALLPAPER,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PAUSE_LIBRETRO,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MOUSE_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_POINTER_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_LINEAR_FILTER,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ENTRY_NORMAL_COLOR,
- PARSE_ONLY_HEX, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ENTRY_HOVER_COLOR,
- PARSE_ONLY_HEX, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_TITLE_COLOR,
- PARSE_ONLY_HEX, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_ALPHA_FACTOR,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SCALE_FACTOR,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_FONT,
- PARSE_ONLY_PATH, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_THEME,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHOW_SETTINGS,
- PARSE_ONLY_BOOL, false);
-#ifdef HAVE_IMAGEVIEWER
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHOW_IMAGES,
- PARSE_ONLY_BOOL, false);
-#endif
-#ifdef HAVE_FFMPEG
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHOW_MUSIC,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHOW_VIDEO,
- PARSE_ONLY_BOOL, false);
-#endif
-#ifdef HAVE_NETWORKING
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHOW_NETPLAY,
- PARSE_ONLY_BOOL, false);
-#endif
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHOW_HISTORY,
- PARSE_ONLY_BOOL, false);
-#ifdef HAVE_LIBRETRODB
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_XMB_SHOW_ADD,
- PARSE_ONLY_BOOL, false);
-#endif
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_THUMBNAILS,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_TIMEDATE_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CORE_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST:
-#ifndef HAVE_LAKKA
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_SETTINGS, PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS,
- PARSE_ONLY_BOOL, false);
-#endif
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PAUSE_NONACTIVE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_UI_COMPANION_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_UI_MENUBAR_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEEVOS_ENABLE,
- PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEEVOS_USERNAME,
- PARSE_ONLY_STRING, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEEVOS_PASSWORD,
- PARSE_ONLY_STRING, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEEVOS_TEST_UNOFFICIAL,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEEVOS_HARDCORE_MODE_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_UPDATER_SETTINGS_LIST:
- {
- unsigned count = 0;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL,
- PARSE_ONLY_STRING, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL,
- PARSE_ONLY_STRING, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
-
- if (count == 0)
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
- MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
- 0, 0, 0);
- }
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_WIFI_SETTINGS_LIST:
- if (string_is_equal_fast(settings->arrays.wifi_driver, "null", 4))
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETWORKS_FOUND),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_NETWORKS_FOUND),
- MENU_ENUM_LABEL_NO_NETWORKS_FOUND,
- 0, 0, 0);
-#ifdef HAVE_NETWORKING
- else
- {
- struct string_list *ssid_list = string_list_new();
- driver_wifi_get_ssids(ssid_list);
-
- if (ssid_list->size == 0)
- {
- task_push_wifi_scan(wifi_scan_callback);
-
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETWORKS_FOUND),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_NETWORKS_FOUND),
- MENU_ENUM_LABEL_NO_NETWORKS_FOUND,
- 0, 0, 0);
- }
- else
- {
- unsigned i;
- for (i = 0; i < ssid_list->size; i++)
- {
- const char *ssid = ssid_list->elems[i].data;
- menu_entries_append_enum(info->list,
- ssid,
- msg_hash_to_str(MENU_ENUM_LABEL_CONNECT_WIFI),
- MENU_ENUM_LABEL_CONNECT_WIFI,
- MENU_WIFI, 0, 0);
- }
- }
- }
-#else
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETWORKS_FOUND),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_NETWORKS_FOUND),
- MENU_ENUM_LABEL_NO_NETWORKS_FOUND,
- 0, 0, 0);
-#endif
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_NETWORK_SETTINGS_LIST:
-
- {
- unsigned user;
- unsigned count = 0;
-
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_PUBLIC_ANNOUNCE,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_USE_MITM_SERVER,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS,
- PARSE_ONLY_STRING, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT,
- PARSE_ONLY_UINT, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_PASSWORD,
- PARSE_ONLY_STRING, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_SPECTATE_PASSWORD,
- PARSE_ONLY_STRING, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_ALLOW_SLAVES,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_REQUIRE_SLAVES,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_STATELESS_MODE,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES,
- PARSE_ONLY_INT, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
- PARSE_ONLY_INT, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
- PARSE_ONLY_INT, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_NAT_TRAVERSAL,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_CLIENT_SWAP_INPUT,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETWORK_CMD_ENABLE,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETWORK_CMD_PORT,
- PARSE_ONLY_UINT, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETWORK_REMOTE_ENABLE,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETWORK_REMOTE_PORT,
- PARSE_ONLY_UINT, false) != -1)
- count++;
-
- {
- unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
- for(user = 0; user < max_users; user++)
- {
- if (menu_displaylist_parse_settings_enum(menu, info,
- (enum msg_hash_enums)(MENU_ENUM_LABEL_NETWORK_REMOTE_USER_1_ENABLE + user),
- PARSE_ONLY_BOOL, false) != -1)
- count++;
- }
- }
-
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_STDIN_CMD_ENABLE,
- PARSE_ONLY_BOOL, false) != -1)
- count++;
-
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_UPDATER_SETTINGS, PARSE_ACTION, false) != -1)
- count++;
-
- if (count == 0)
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
- MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
- 0, 0, 0);
- }
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_LAKKA_SERVICES_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SSH_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAMBA_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_BLUETOOTH_ENABLE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_USER_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ACCOUNTS_LIST,
- PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_NICKNAME,
- PARSE_ONLY_STRING, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_USER_LANGUAGE,
- PARSE_ONLY_UINT, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_DIRECTORY_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SYSTEM_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CORE_ASSETS_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ASSETS_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RGUI_CONFIG_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LIBRETRO_DIR_PATH,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LIBRETRO_INFO_PATH,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CURSOR_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHEAT_DATABASE_PATH,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FILTER_DIR,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_FILTER_DIR,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SHADER_DIR,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORDING_OUTPUT_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORDING_CONFIG_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_OVERLAY_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_JOYPAD_AUTOCONFIG_DIR,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_REMAPPING_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PLAYLIST_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAVEFILE_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAVESTATE_DIRECTORY,
- PARSE_ONLY_DIR, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CACHE_DIRECTORY,
- PARSE_ONLY_DIR, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_PRIVACY_SETTINGS_LIST:
- {
- bool available = false;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CAMERA_ALLOW,
- PARSE_ONLY_BOOL, false) == 0)
- available = true;
- if (menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LOCATION_ALLOW,
- PARSE_ONLY_BOOL, true) == 0)
- available = true;
-
- if (!available)
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
- MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
- 0, 0, 0);
-
- info->need_refresh = true;
- info->need_push = true;
- }
- break;
- case DISPLAYLIST_VIDEO_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_FPS_SHOW,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SCREEN_RESOLUTION,
- PARSE_ACTION, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PAL60_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_GAMMA,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SOFT_FILTER,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FILTER_FLICKER,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FULLSCREEN,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_REFRESH_RATE,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X,
- PARSE_ONLY_INT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_Y,
- PARSE_ONLY_INT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_HEIGHT,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SCALE,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_WINDOW_WIDTH,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_WINDOW_HEIGHT,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_VI_WIDTH,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_VFILTER,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_ROTATION,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_THREADED,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_VSYNC,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_HARD_SYNC,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FRAME_DELAY,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SMOOTH,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_FILTER,
- PARSE_ONLY_PATH, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_CORE_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE,
- PARSE_ONLY_BOOL, false);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_AUDIO_SETTINGS_LIST:
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_MUTE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_VOLUME,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SYSTEM_BGM_ENABLE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_SYNC,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_LATENCY,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW,
- PARSE_ONLY_FLOAT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_BLOCK_FRAMES,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_DEVICE,
- PARSE_ONLY_STRING, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE,
- PARSE_ONLY_UINT, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN,
- PARSE_ONLY_PATH, false);
-#ifdef HAVE_WASAPI
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_WASAPI_EXCLUSIVE_MODE,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_WASAPI_FLOAT_FORMAT,
- PARSE_ONLY_BOOL, false);
- menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_WASAPI_SH_BUFFER_LENGTH,
- PARSE_ONLY_INT, false);
-#endif
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_INPUT_SETTINGS_LIST:
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_MAX_USERS,
- PARSE_ONLY_UINT, false);
-#if TARGET_OS_IPHONE
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_SMALL_KEYBOARD_ENABLE,
- PARSE_ONLY_BOOL, false);
-#endif
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_UNIFIED_MENU_CONTROLS,
- PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR,
- PARSE_ONLY_UINT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_ICADE_ENABLE,
- PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE,
- PARSE_ONLY_UINT, false);
-#ifdef VITA
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE,
- PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH,
- PARSE_ONLY_BOOL, false);
-#endif
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO, PARSE_ONLY_UINT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL, PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU, PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE, PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE, PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW, PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND, PARSE_ONLY_BOOL, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD, PARSE_ONLY_FLOAT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT, PARSE_ONLY_UINT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_TURBO_PERIOD, PARSE_ONLY_UINT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_DUTY_CYCLE, PARSE_ONLY_UINT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_BIND_MODE, PARSE_ONLY_UINT, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_HOTKEY_BINDS, PARSE_ACTION, false);
-
- {
- unsigned user;
- unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
- for (user = 0; user < max_users; user++)
- {
- menu_displaylist_parse_settings_enum(menu, info,
- (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_USER_1_BINDS + user),
- PARSE_ACTION, false);
- }
- }
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_SETTINGS_ALL:
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_DRIVER_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_VIDEO_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_AUDIO_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_INPUT_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CORE_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_CONFIGURATION_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_SAVING_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LOGGING_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_FRAME_THROTTLE_SETTINGS, PARSE_ACTION, false);
- if (string_is_not_equal_fast(settings->arrays.record_driver, "null", 4))
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RECORDING_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS, PARSE_ACTION, false);
-#ifdef HAVE_LAKKA
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_MENU_SETTINGS, PARSE_ACTION, false);
-#endif
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS, PARSE_ACTION, false);
-#ifdef HAVE_CHEEVOS
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS, PARSE_ACTION, false);
-#endif
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_WIFI_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETWORK_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_LAKKA_SERVICES, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PLAYLIST_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_USER_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_DIRECTORY_SETTINGS, PARSE_ACTION, false);
- ret = menu_displaylist_parse_settings_enum(menu, info,
- MENU_ENUM_LABEL_PRIVACY_SETTINGS, PARSE_ACTION, false);
- info->need_push = true;
- break;
- case DISPLAYLIST_HORIZONTAL:
- ret = menu_displaylist_parse_horizontal_list(info);
-
- info->need_sort = true;
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS:
- ret = menu_displaylist_parse_horizontal_content_actions(info);
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_CONTENT_SETTINGS:
- ret = menu_displaylist_parse_load_content_settings(info);
-
- info->need_refresh = true;
- info->need_push = true;
- break;
- case DISPLAYLIST_INFORMATION_LIST:
- ret = menu_displaylist_parse_information_list(info);
-
- info->need_push = true;
- info->need_refresh = true;
- break;
- case DISPLAYLIST_ADD_CONTENT_LIST:
- ret = menu_displaylist_parse_add_content_list(info);
-
- info->need_push = true;
- info->need_refresh = true;
- break;
- case DISPLAYLIST_CONFIGURATIONS_LIST:
- ret = menu_displaylist_parse_configurations_list(info);
-
- info->need_push = true;
- info->need_refresh = true;
- break;
- case DISPLAYLIST_SCAN_DIRECTORY_LIST:
- ret = menu_displaylist_parse_scan_directory_list(info);
-
- info->need_push = true;
- info->need_refresh = true;
- break;
- case DISPLAYLIST_NETPLAY_ROOM_LIST:
- ret = menu_displaylist_parse_netplay_room_list(info);
-
- info->need_push = true;
- info->need_refresh = true;
- break;
- case DISPLAYLIST_LOAD_CONTENT_LIST:
- if (!string_is_empty(settings->paths.directory_menu_content))
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES),
- msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES),
- MENU_ENUM_LABEL_FAVORITES,
- MENU_SETTING_ACTION, 0, 0);
-
- if (core_info_list_num_info_files(list))
- {
- menu_entries_append_enum(info->list,
- msg_hash_to_str(
- MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST),
- msg_hash_to_str(
- MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST),
- MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST,
- MENU_SETTING_ACTION, 0, 0);
- }
-
-#ifdef HAVE_LIBRETRODB
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONTENT_COLLECTION_LIST),
- msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST),
- MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST,
- MENU_SETTING_ACTION, 0, 0);
-#endif
-
- if (frontend_driver_parse_drive_list(info->list) != 0)
- menu_entries_append_enum(info->list, "/",
- msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR),
- MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
- MENU_SETTING_ACTION, 0, 0);
-
-#if 0
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BROWSE_URL_LIST),
- msg_hash_to_str(MENU_ENUM_LABEL_BROWSE_URL_LIST),
- MENU_ENUM_LABEL_BROWSE_URL_LIST,
- MENU_SETTING_ACTION, 0, 0);
-#endif
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS),
- msg_hash_to_str(MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS),
- MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS,
- MENU_SETTING_ACTION, 0, 0);
-
- info->need_push = true;
- info->need_refresh = true;
- break;
- case DISPLAYLIST_OPTIONS:
- ret = menu_displaylist_parse_options(info);
-
- info->need_push = true;
- break;
- case DISPLAYLIST_OPTIONS_CHEATS:
- ret = menu_displaylist_parse_options_cheats(info);
-
- info->need_push = true;
- break;
- case DISPLAYLIST_OPTIONS_REMAPPINGS:
- ret = menu_displaylist_parse_options_remappings(info);
-
- info->need_push = true;
- break;
- case DISPLAYLIST_SHADER_PARAMETERS:
- case DISPLAYLIST_SHADER_PARAMETERS_PRESET:
-#ifdef HAVE_SHADER_MANAGER
- video_shader_driver_get_current_shader(&shader_info);
-
- if (shader_info.data)
- ret = deferred_push_video_shader_parameters_common(
- info, shader_info.data,
- (type == DISPLAYLIST_SHADER_PARAMETERS)
- ? MENU_SETTINGS_SHADER_PARAMETER_0
- : MENU_SETTINGS_SHADER_PRESET_PARAMETER_0
- );
- else
- {
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SHADER_PARAMETERS),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_SHADER_PARAMETERS),
- MENU_ENUM_LABEL_NO_SHADER_PARAMETERS,
- 0, 0, 0);
- ret = 0;
- }
-
- info->need_push = true;
-#endif
- break;
- case DISPLAYLIST_PERFCOUNTERS_CORE:
- case DISPLAYLIST_PERFCOUNTERS_FRONTEND:
- menu_displaylist_push_perfcounter(info,
- (type == DISPLAYLIST_PERFCOUNTERS_CORE) ?
- retro_get_perf_counter_libretro()
- : retro_get_perf_counter_rarch(),
- (type == DISPLAYLIST_PERFCOUNTERS_CORE) ?
- retro_get_perf_count_libretro()
- : retro_get_perf_count_rarch(),
- (type == DISPLAYLIST_PERFCOUNTERS_CORE) ?
- MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN :
- MENU_SETTINGS_PERF_COUNTERS_BEGIN);
- ret = 0;
-
- info->need_refresh = false;
- info->need_push = true;
- break;
- case DISPLAYLIST_DATABASE_ENTRY:
{
struct string_list *str_list = string_split(info->label, "|");
@@ -5744,6 +4201,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_push = true;
break;
case DISPLAYLIST_DATABASE_QUERY:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
#ifdef HAVE_LIBRETRODB
ret = menu_database_parse_query(info->list,
info->path, string_is_empty(info->path_c)
@@ -5758,11 +4216,13 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_push = true;
break;
case DISPLAYLIST_OPTIONS_SHADERS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
ret = menu_displaylist_parse_shader_options(info);
info->need_push = true;
break;
case DISPLAYLIST_CORE_CONTENT:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
#ifdef HAVE_NETWORKING
print_buf_lines(info->list, core_buf, "",
(int)core_len, FILE_TYPE_DOWNLOAD_CORE_CONTENT, true, false);
@@ -5793,6 +4253,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
break;
case DISPLAYLIST_CORE_CONTENT_DIRS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
{
#ifdef HAVE_NETWORKING
char new_label[PATH_MAX_LENGTH];
@@ -5810,6 +4271,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
break;
case DISPLAYLIST_CORES_UPDATER:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
#ifdef HAVE_NETWORKING
print_buf_lines(info->list, core_buf, "",
(int)core_len, FILE_TYPE_DOWNLOAD_CORE, true, true);
@@ -5820,6 +4282,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
break;
case DISPLAYLIST_THUMBNAILS_UPDATER:
#ifdef HAVE_NETWORKING
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
print_buf_lines(info->list, core_buf, "",
(int)core_len, FILE_TYPE_DOWNLOAD_THUMBNAIL_CONTENT,
true, false);
@@ -5829,6 +4292,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
#endif
break;
case DISPLAYLIST_LAKKA:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
#ifdef HAVE_NETWORKING
print_buf_lines(info->list, core_buf, "",
(int)core_len, FILE_TYPE_DOWNLOAD_LAKKA,
@@ -5839,6 +4303,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
#endif
break;
case DISPLAYLIST_PLAYLIST_COLLECTION:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (string_is_equal(info->path, file_path_str(FILE_PATH_CONTENT_HISTORY)))
{
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, info))
@@ -5885,6 +4350,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
break;
case DISPLAYLIST_HISTORY:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (settings->bools.history_list_enable)
menu_displaylist_parse_playlist_history(menu, info,
g_defaults.content_history,
@@ -5907,31 +4373,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_push = true;
}
break;
- case DISPLAYLIST_IMAGES_HISTORY:
-#ifdef HAVE_IMAGEVIEWER
- if (settings->bools.history_list_enable)
- menu_displaylist_parse_playlist_history(menu, info,
- g_defaults.image_history,
- "images_history",
- settings->paths.path_content_image_history,
- &ret);
- else
- {
- menu_entries_append_enum(info->list,
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_HISTORY_AVAILABLE),
- msg_hash_to_str(MENU_ENUM_LABEL_NO_HISTORY_AVAILABLE),
- MENU_ENUM_LABEL_NO_HISTORY_AVAILABLE,
- MENU_INFO_MESSAGE, 0, 0);
- ret = 0;
- }
-
- if (ret == 0)
- {
- info->need_refresh = true;
- info->need_push = true;
- }
-#endif
- break;
case DISPLAYLIST_MUSIC_HISTORY:
#ifdef HAVE_FFMPEG
if (settings->bools.history_list_enable)
@@ -5983,6 +4424,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
#endif
break;
case DISPLAYLIST_OPTIONS_DISK:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_INDEX),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX),
@@ -6002,6 +4444,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_push = true;
break;
case DISPLAYLIST_NETWORK_INFO:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
#if defined(HAVE_NETWORKING) && !defined(HAVE_SOCKET_LEGACY) && !defined(WIIU)
menu_displaylist_parse_network_info(info);
#endif
@@ -6009,17 +4452,20 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_refresh = true;
break;
case DISPLAYLIST_SYSTEM_INFO:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
menu_displaylist_parse_system_info(info);
info->need_push = true;
info->need_refresh = true;
break;
#ifdef HAVE_CHEEVOS
case DISPLAYLIST_ACHIEVEMENT_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
cheevos_populate_menu(info, false);
info->need_push = true;
info->need_refresh = true;
break;
case DISPLAYLIST_ACHIEVEMENT_LIST_HARDCORE:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
cheevos_populate_menu(info, true);
info->need_push = true;
info->need_refresh = true;
@@ -6027,6 +4473,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
#endif
case DISPLAYLIST_CORES_SUPPORTED:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
info->need_sort = true;
info->need_refresh = true;
info->need_push = true;
@@ -6162,6 +4609,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
break;
case DISPLAYLIST_CORES_COLLECTION_SUPPORTED:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
info->need_sort = true;
info->need_refresh = true;
info->need_push = true;
@@ -6274,10 +4722,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
break;
case DISPLAYLIST_CORE_INFO:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
menu_displaylist_parse_core_info(info);
info->need_push = true;
break;
case DISPLAYLIST_CORE_OPTIONS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (rarch_ctl(RARCH_CTL_HAS_CORE_OPTIONS, NULL))
{
size_t opts = 0;
@@ -6332,16 +4782,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
MENU_SETTINGS_CORE_OPTION_NONE, 0, 0);
info->need_push = true;
break;
- case DISPLAYLIST_DATABASES:
- filebrowser_clear_type();
- info->type_default = FILE_TYPE_RDB;
- strlcpy(info->exts,
- file_path_str(FILE_PATH_RDB_EXTENSION),
- sizeof(info->exts));
- info->enum_idx = MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST;
- strlcpy(info->path, settings->paths.path_content_database, sizeof(info->path));
- break;
case DISPLAYLIST_ARCHIVE_ACTION:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
#ifdef HAVE_COMPRESSION
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OPEN_ARCHIVE),
@@ -6357,6 +4799,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_push = true;
break;
case DISPLAYLIST_ARCHIVE_ACTION_DETECT_CORE:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
#ifdef HAVE_COMPRESSION
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OPEN_ARCHIVE),
@@ -6371,30 +4814,1539 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
0, 0, 0);
info->need_push = true;
break;
+ case DISPLAYLIST_PLAYLIST_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_HISTORY_LIST_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE,
+ PARSE_ONLY_UINT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PLAYLIST_ENTRY_REMOVE,
+ PARSE_ONLY_BOOL, false);
+
+ menu_displaylist_parse_playlist_associations(info);
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ {
+ unsigned i;
+
+ for (i = 0; i < RARCH_BIND_LIST_END; i++)
+ {
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + i),
+ PARSE_ONLY_BIND, false);
+ (void)ret;
+ }
+ }
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_DRIVER_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_JOYPAD_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CAMERA_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LOCATION_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORD_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_WIFI_DRIVER,
+ PARSE_ONLY_STRING_OPTIONS, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_CONFIGURATION_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_SAVING_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUTOSAVE_INTERVAL,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAVESTATE_THUMBNAIL_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_LOGGING_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LOG_VERBOSITY,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL,
+ PARSE_ONLY_UINT, false);
+ if (settings->bools.menu_show_advanced_settings)
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PERFCNT_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_FRAME_THROTTLE_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_REWIND_SETTINGS, PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_FASTFORWARD_RATIO,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SLOWMOTION_RATIO,
+ PARSE_ONLY_FLOAT, false);
+ if (settings->bools.menu_show_advanced_settings)
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_THROTTLE_FRAMERATE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_REWIND_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_REWIND_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_REWIND_GRANULARITY,
+ PARSE_ONLY_UINT, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_ONSCREEN_DISPLAY_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS, PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS, PARSE_ACTION, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FONT_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FONT_PATH,
+ PARSE_ONLY_PATH, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FONT_SIZE,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y,
+ PARSE_ONLY_FLOAT, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE,
+ PARSE_ONLY_BOOL, false);
+#if 0
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_OVERLAY_AUTOLOAD_PREFERRED,
+ PARSE_ONLY_BOOL, false);
+#endif
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_OVERLAY_PRESET,
+ PARSE_ONLY_PATH, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_OVERLAY_OPACITY,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_OVERLAY_SCALE,
+ PARSE_ONLY_FLOAT, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SHOW_HIDDEN_FILES,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_MENU_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+#ifdef HAVE_LAKKA
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS,
+ PARSE_ONLY_BOOL, false);
+#endif
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_WALLPAPER,
+ PARSE_ONLY_PATH, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_DYNAMIC_WALLPAPER,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PAUSE_LIBRETRO,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MOUSE_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_POINTER_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_LINEAR_FILTER,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ENTRY_NORMAL_COLOR,
+ PARSE_ONLY_HEX, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ENTRY_HOVER_COLOR,
+ PARSE_ONLY_HEX, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_TITLE_COLOR,
+ PARSE_ONLY_HEX, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_ALPHA_FACTOR,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SCALE_FACTOR,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_FONT,
+ PARSE_ONLY_PATH, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_THEME,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHOW_SETTINGS,
+ PARSE_ONLY_BOOL, false);
+#ifdef HAVE_IMAGEVIEWER
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHOW_IMAGES,
+ PARSE_ONLY_BOOL, false);
+#endif
+#ifdef HAVE_FFMPEG
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHOW_MUSIC,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHOW_VIDEO,
+ PARSE_ONLY_BOOL, false);
+#endif
+#ifdef HAVE_NETWORKING
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHOW_NETPLAY,
+ PARSE_ONLY_BOOL, false);
+#endif
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHOW_HISTORY,
+ PARSE_ONLY_BOOL, false);
+#ifdef HAVE_LIBRETRODB
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_XMB_SHOW_ADD,
+ PARSE_ONLY_BOOL, false);
+#endif
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_THUMBNAILS,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_TIMEDATE_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CORE_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+#ifndef HAVE_LAKKA
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_SETTINGS, PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS,
+ PARSE_ONLY_BOOL, false);
+#endif
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PAUSE_NONACTIVE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_UI_COMPANION_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_UI_MENUBAR_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEEVOS_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEEVOS_USERNAME,
+ PARSE_ONLY_STRING, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEEVOS_PASSWORD,
+ PARSE_ONLY_STRING, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEEVOS_TEST_UNOFFICIAL,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEEVOS_HARDCORE_MODE_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_UPDATER_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ {
+ unsigned count = 0;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL,
+ PARSE_ONLY_STRING, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL,
+ PARSE_ONLY_STRING, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+
+ if (count == 0)
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
+ MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
+ 0, 0, 0);
+ }
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_WIFI_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ if (string_is_equal_fast(settings->arrays.wifi_driver, "null", 4))
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETWORKS_FOUND),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_NETWORKS_FOUND),
+ MENU_ENUM_LABEL_NO_NETWORKS_FOUND,
+ 0, 0, 0);
+#ifdef HAVE_NETWORKING
+ else
+ {
+ struct string_list *ssid_list = string_list_new();
+ driver_wifi_get_ssids(ssid_list);
+
+ if (ssid_list->size == 0)
+ {
+ task_push_wifi_scan(wifi_scan_callback);
+
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETWORKS_FOUND),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_NETWORKS_FOUND),
+ MENU_ENUM_LABEL_NO_NETWORKS_FOUND,
+ 0, 0, 0);
+ }
+ else
+ {
+ unsigned i;
+ for (i = 0; i < ssid_list->size; i++)
+ {
+ const char *ssid = ssid_list->elems[i].data;
+ menu_entries_append_enum(info->list,
+ ssid,
+ msg_hash_to_str(MENU_ENUM_LABEL_CONNECT_WIFI),
+ MENU_ENUM_LABEL_CONNECT_WIFI,
+ MENU_WIFI, 0, 0);
+ }
+ }
+ }
+#else
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_NETWORKS_FOUND),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_NETWORKS_FOUND),
+ MENU_ENUM_LABEL_NO_NETWORKS_FOUND,
+ 0, 0, 0);
+#endif
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_NETWORK_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ {
+ unsigned user;
+ unsigned count = 0;
+
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_PUBLIC_ANNOUNCE,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_USE_MITM_SERVER,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS,
+ PARSE_ONLY_STRING, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT,
+ PARSE_ONLY_UINT, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_PASSWORD,
+ PARSE_ONLY_STRING, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_SPECTATE_PASSWORD,
+ PARSE_ONLY_STRING, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_ALLOW_SLAVES,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_REQUIRE_SLAVES,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_STATELESS_MODE,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES,
+ PARSE_ONLY_INT, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
+ PARSE_ONLY_INT, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
+ PARSE_ONLY_INT, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_NAT_TRAVERSAL,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_CLIENT_SWAP_INPUT,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETWORK_CMD_ENABLE,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETWORK_CMD_PORT,
+ PARSE_ONLY_UINT, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETWORK_REMOTE_ENABLE,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETWORK_REMOTE_PORT,
+ PARSE_ONLY_UINT, false) != -1)
+ count++;
+
+ {
+ unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
+ for(user = 0; user < max_users; user++)
+ {
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ (enum msg_hash_enums)(MENU_ENUM_LABEL_NETWORK_REMOTE_USER_1_ENABLE + user),
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+ }
+ }
+
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_STDIN_CMD_ENABLE,
+ PARSE_ONLY_BOOL, false) != -1)
+ count++;
+
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_UPDATER_SETTINGS, PARSE_ACTION, false) != -1)
+ count++;
+
+ if (count == 0)
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
+ MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
+ 0, 0, 0);
+ }
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_LAKKA_SERVICES_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SSH_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAMBA_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_BLUETOOTH_ENABLE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_USER_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ACCOUNTS_LIST,
+ PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_NICKNAME,
+ PARSE_ONLY_STRING, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_USER_LANGUAGE,
+ PARSE_ONLY_UINT, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_DIRECTORY_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SYSTEM_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CORE_ASSETS_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ASSETS_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RGUI_CONFIG_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LIBRETRO_DIR_PATH,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LIBRETRO_INFO_PATH,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CURSOR_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEAT_DATABASE_PATH,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FILTER_DIR,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_FILTER_DIR,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SHADER_DIR,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORDING_OUTPUT_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORDING_CONFIG_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_OVERLAY_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_JOYPAD_AUTOCONFIG_DIR,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_REMAPPING_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PLAYLIST_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAVEFILE_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAVESTATE_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CACHE_DIRECTORY,
+ PARSE_ONLY_DIR, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_PRIVACY_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ {
+ bool available = false;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CAMERA_ALLOW,
+ PARSE_ONLY_BOOL, false) == 0)
+ available = true;
+ if (menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LOCATION_ALLOW,
+ PARSE_ONLY_BOOL, true) == 0)
+ available = true;
+
+ if (!available)
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
+ MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
+ 0, 0, 0);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ }
+ break;
+ case DISPLAYLIST_VIDEO_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_FPS_SHOW,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SCREEN_RESOLUTION,
+ PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PAL60_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_GAMMA,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SOFT_FILTER,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FILTER_FLICKER,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FULLSCREEN,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_REFRESH_RATE,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X,
+ PARSE_ONLY_INT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_Y,
+ PARSE_ONLY_INT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_HEIGHT,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SCALE,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_WINDOW_WIDTH,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_WINDOW_HEIGHT,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_VI_WIDTH,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_VFILTER,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_ROTATION,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_THREADED,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_VSYNC,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_HARD_SYNC,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FRAME_DELAY,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SMOOTH,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_FILTER,
+ PARSE_ONLY_PATH, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_CORE_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_AUDIO_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_MUTE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_VOLUME,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SYSTEM_BGM_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_SYNC,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_LATENCY,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW,
+ PARSE_ONLY_FLOAT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_BLOCK_FRAMES,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_DEVICE,
+ PARSE_ONLY_STRING, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE,
+ PARSE_ONLY_UINT, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN,
+ PARSE_ONLY_PATH, false);
+#ifdef HAVE_WASAPI
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_WASAPI_EXCLUSIVE_MODE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_WASAPI_FLOAT_FORMAT,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_WASAPI_SH_BUFFER_LENGTH,
+ PARSE_ONLY_INT, false);
+#endif
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_INPUT_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_MAX_USERS,
+ PARSE_ONLY_UINT, false);
+#if TARGET_OS_IPHONE
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_SMALL_KEYBOARD_ENABLE,
+ PARSE_ONLY_BOOL, false);
+#endif
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_UNIFIED_MENU_CONTROLS,
+ PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR,
+ PARSE_ONLY_UINT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_ICADE_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE,
+ PARSE_ONLY_UINT, false);
+#ifdef VITA
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH,
+ PARSE_ONLY_BOOL, false);
+#endif
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO, PARSE_ONLY_UINT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL, PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU, PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE, PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE, PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW, PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND, PARSE_ONLY_BOOL, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD, PARSE_ONLY_FLOAT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT, PARSE_ONLY_UINT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_TURBO_PERIOD, PARSE_ONLY_UINT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_DUTY_CYCLE, PARSE_ONLY_UINT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_BIND_MODE, PARSE_ONLY_UINT, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_HOTKEY_BINDS, PARSE_ACTION, false);
+
+ {
+ unsigned user;
+ unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
+ for (user = 0; user < max_users; user++)
+ {
+ menu_displaylist_parse_settings_enum(menu, info,
+ (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_USER_1_BINDS + user),
+ PARSE_ACTION, false);
+ }
+ }
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_SETTINGS_ALL:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_DRIVER_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_AUDIO_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INPUT_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CORE_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CONFIGURATION_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SAVING_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LOGGING_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_FRAME_THROTTLE_SETTINGS, PARSE_ACTION, false);
+ if (string_is_not_equal_fast(settings->arrays.record_driver, "null", 4))
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORDING_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS, PARSE_ACTION, false);
+#ifdef HAVE_LAKKA
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_MENU_SETTINGS, PARSE_ACTION, false);
+#endif
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS, PARSE_ACTION, false);
+#ifdef HAVE_CHEEVOS
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS, PARSE_ACTION, false);
+#endif
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_WIFI_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETWORK_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LAKKA_SERVICES, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PLAYLIST_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_USER_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_DIRECTORY_SETTINGS, PARSE_ACTION, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_PRIVACY_SETTINGS, PARSE_ACTION, false);
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_HORIZONTAL:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_horizontal_list(info);
+
+ info->need_sort = true;
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_horizontal_content_actions(info);
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_CONTENT_SETTINGS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_load_content_settings(info);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_INFORMATION_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_information_list(info);
+
+ info->need_push = true;
+ info->need_refresh = true;
+ break;
+ case DISPLAYLIST_ADD_CONTENT_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_add_content_list(info);
+
+ info->need_push = true;
+ info->need_refresh = true;
+ break;
+ case DISPLAYLIST_CONFIGURATIONS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_configurations_list(info);
+
+ info->need_push = true;
+ info->need_refresh = true;
+ break;
+ case DISPLAYLIST_SCAN_DIRECTORY_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_scan_directory_list(info);
+
+ info->need_push = true;
+ info->need_refresh = true;
+ break;
+ case DISPLAYLIST_NETPLAY_ROOM_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_netplay_room_list(info);
+
+ info->need_push = true;
+ info->need_refresh = true;
+ break;
+ case DISPLAYLIST_LOAD_CONTENT_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ if (!string_is_empty(settings->paths.directory_menu_content))
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES),
+ msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES),
+ MENU_ENUM_LABEL_FAVORITES,
+ MENU_SETTING_ACTION, 0, 0);
+
+ if (core_info_list_num_info_files(list))
+ {
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(
+ MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST),
+ msg_hash_to_str(
+ MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST),
+ MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST,
+ MENU_SETTING_ACTION, 0, 0);
+ }
+
+#ifdef HAVE_LIBRETRODB
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONTENT_COLLECTION_LIST),
+ msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST),
+ MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST,
+ MENU_SETTING_ACTION, 0, 0);
+#endif
+
+ if (frontend_driver_parse_drive_list(info->list) != 0)
+ menu_entries_append_enum(info->list, "/",
+ msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR),
+ MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
+ MENU_SETTING_ACTION, 0, 0);
+
+#if 0
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BROWSE_URL_LIST),
+ msg_hash_to_str(MENU_ENUM_LABEL_BROWSE_URL_LIST),
+ MENU_ENUM_LABEL_BROWSE_URL_LIST,
+ MENU_SETTING_ACTION, 0, 0);
+#endif
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS),
+ msg_hash_to_str(MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS),
+ MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS,
+ MENU_SETTING_ACTION, 0, 0);
+
+ info->need_push = true;
+ info->need_refresh = true;
+ break;
+ case DISPLAYLIST_OPTIONS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_options(info);
+
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_OPTIONS_CHEATS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_options_cheats(info);
+
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_OPTIONS_REMAPPINGS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ ret = menu_displaylist_parse_options_remappings(info);
+
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_SHADER_PARAMETERS:
+ case DISPLAYLIST_SHADER_PARAMETERS_PRESET:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+#ifdef HAVE_SHADER_MANAGER
+ video_shader_driver_get_current_shader(&shader_info);
+
+ if (shader_info.data)
+ ret = deferred_push_video_shader_parameters_common(
+ info, shader_info.data,
+ (type == DISPLAYLIST_SHADER_PARAMETERS)
+ ? MENU_SETTINGS_SHADER_PARAMETER_0
+ : MENU_SETTINGS_SHADER_PRESET_PARAMETER_0
+ );
+ else
+ {
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SHADER_PARAMETERS),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_SHADER_PARAMETERS),
+ MENU_ENUM_LABEL_NO_SHADER_PARAMETERS,
+ 0, 0, 0);
+ ret = 0;
+ }
+
+ info->need_push = true;
+#endif
+ break;
+ case DISPLAYLIST_PERFCOUNTERS_CORE:
+ case DISPLAYLIST_PERFCOUNTERS_FRONTEND:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_push_perfcounter(info,
+ (type == DISPLAYLIST_PERFCOUNTERS_CORE) ?
+ retro_get_perf_counter_libretro()
+ : retro_get_perf_counter_rarch(),
+ (type == DISPLAYLIST_PERFCOUNTERS_CORE) ?
+ retro_get_perf_count_libretro()
+ : retro_get_perf_count_rarch(),
+ (type == DISPLAYLIST_PERFCOUNTERS_CORE) ?
+ MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN :
+ MENU_SETTINGS_PERF_COUNTERS_BEGIN);
+ ret = 0;
+
+ info->need_refresh = false;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_RECORDING_SETTINGS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORD_ENABLE,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORD_CONFIG,
+ PARSE_ONLY_PATH, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORD_PATH,
+ PARSE_ONLY_STRING, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RECORD_USE_OUTPUT_DIRECTORY,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_GPU_RECORD,
+ PARSE_ONLY_BOOL, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_VIDEO_POST_FILTER_RECORD,
+ PARSE_ONLY_BOOL, false);
+
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_MAIN_MENU:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ {
+ if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CONTENT_SETTINGS,
+ PARSE_ACTION, false);
+
+ if (menu_driver_ctl(RARCH_MENU_CTL_HAS_LOAD_NO_CONTENT, NULL))
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_START_CORE, PARSE_ACTION, false);
+
+
+#ifndef HAVE_DYNAMIC
+ if (frontend_driver_has_fork())
+#endif
+ {
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CORE_LIST, PARSE_ACTION, false);
+ }
+
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
+ PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY,
+ PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ADD_CONTENT_LIST,
+ PARSE_ACTION, false);
+#ifdef HAVE_NETWORKING
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_NETPLAY,
+ PARSE_ACTION, false);
+#endif
+#if defined(HAVE_NETWORKING)
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ONLINE_UPDATER,
+ PARSE_ACTION, false);
+#endif
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SETTINGS, PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_INFORMATION_LIST,
+ PARSE_ACTION, false);
+#ifndef HAVE_DYNAMIC
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_RESTART_RETROARCH,
+ PARSE_ACTION, false);
+#endif
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
+ PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_HELP_LIST,
+ PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_QUIT_RETROARCH,
+ PARSE_ACTION, false);
+#if defined(HAVE_LAKKA)
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_REBOOT,
+ PARSE_ACTION, false);
+ menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_SHUTDOWN,
+ PARSE_ACTION, false);
+#endif
+ info->need_push = true;
+ }
+ break;
+ case DISPLAYLIST_SETTING_ENUM:
+ {
+ menu_displaylist_ctx_parse_entry_t *entry =
+ (menu_displaylist_ctx_parse_entry_t*)data;
+
+ if (menu_displaylist_parse_settings_enum(entry->data,
+ entry->info,
+ entry->enum_idx,
+ entry->parse_type,
+ entry->add_empty_entry) == -1)
+ goto error;
+ }
+ break;
+ case DISPLAYLIST_HELP:
+ menu_entries_append_enum(info->list, info->path,
+ info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
+ menu_dialog_unset_pending_push();
+ break;
+ case DISPLAYLIST_HELP_SCREEN_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_CONTROLS),
+ msg_hash_to_str(MENU_ENUM_LABEL_HELP_CONTROLS),
+ MENU_ENUM_LABEL_HELP_CONTROLS,
+ 0, 0, 0);
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_WHAT_IS_A_CORE),
+ msg_hash_to_str(MENU_ENUM_LABEL_HELP_WHAT_IS_A_CORE),
+ MENU_ENUM_LABEL_HELP_WHAT_IS_A_CORE,
+ 0, 0, 0);
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_LOADING_CONTENT),
+ msg_hash_to_str(MENU_ENUM_LABEL_HELP_LOADING_CONTENT),
+ MENU_ENUM_LABEL_HELP_LOADING_CONTENT,
+ 0, 0, 0);
+#ifdef HAVE_LIBRETRODB
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT),
+ msg_hash_to_str(MENU_ENUM_LABEL_HELP_SCANNING_CONTENT),
+ MENU_ENUM_LABEL_HELP_SCANNING_CONTENT,
+ 0, 0, 0);
+#endif
+#ifdef HAVE_OVERLAY
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD),
+ msg_hash_to_str(MENU_ENUM_LABEL_HELP_CHANGE_VIRTUAL_GAMEPAD),
+ MENU_ENUM_LABEL_HELP_CHANGE_VIRTUAL_GAMEPAD,
+ 0, 0, 0);
+#endif
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING),
+ msg_hash_to_str(MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING),
+ MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING,
+ 0, 0, 0);
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_BROWSE_URL_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BROWSE_URL),
+ msg_hash_to_str(MENU_ENUM_LABEL_BROWSE_URL),
+ MENU_ENUM_LABEL_BROWSE_URL,
+ 0, 0, 0);
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BROWSE_START),
+ msg_hash_to_str(MENU_ENUM_LABEL_BROWSE_START),
+ MENU_ENUM_LABEL_BROWSE_START,
+ 0, 0, 0);
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_BROWSE_URL_START:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+#ifdef HAVE_NETWORKING
+ {
+ char link[1024];
+ char name[1024];
+ const char *line = "Test\n";
+
+ link[0] = name[0] = '\0';
+
+ string_parse_html_anchor(line, link, name, sizeof(link), sizeof(name));
+
+ menu_entries_append_enum(info->list,
+ link,
+ name,
+ MSG_UNKNOWN,
+ 0, 0, 0);
+ }
+#endif
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_ACCOUNTS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+#ifdef HAVE_CHEEVOS
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS,
+ PARSE_ACTION, false);
+#else
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ITEMS),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_ITEMS),
+ MENU_ENUM_LABEL_NO_ITEMS,
+ MENU_SETTING_NO_ITEM, 0, 0);
+ ret = 0;
+#endif
+
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+#ifdef HAVE_CHEEVOS
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEEVOS_USERNAME,
+ PARSE_ONLY_STRING, false);
+ ret = menu_displaylist_parse_settings_enum(menu, info,
+ MENU_ENUM_LABEL_CHEEVOS_PASSWORD,
+ PARSE_ONLY_STRING, false);
+#else
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ITEMS),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_ITEMS),
+ MENU_ENUM_LABEL_NO_ITEMS,
+ MENU_SETTING_NO_ITEM, 0, 0);
+ ret = 0;
+#endif
+ info->need_refresh = true;
+ info->need_push = true;
+ break;
+ case DISPLAYLIST_INFO:
+ menu_entries_append_enum(info->list, info->path,
+ info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
+ break;
+ case DISPLAYLIST_FILE_BROWSER_SCAN_DIR:
+ case DISPLAYLIST_FILE_BROWSER_SELECT_DIR:
+ case DISPLAYLIST_FILE_BROWSER_SELECT_FILE:
+ case DISPLAYLIST_FILE_BROWSER_SELECT_CORE:
+ case DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION:
+ case DISPLAYLIST_GENERIC:
+ {
+ menu_ctx_list_t list_info;
+
+ list_info.type = MENU_LIST_PLAIN;
+ list_info.action = 0;
+
+ menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
+
+ menu_entries_append_enum(info->list, info->path,
+ info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
+
+ info->need_navigation_clear = true;
+ info->need_entries_refresh = true;
+ }
+ break;
+ case DISPLAYLIST_PENDING_CLEAR:
+ {
+ menu_ctx_list_t list_info;
+
+ list_info.type = MENU_LIST_PLAIN;
+ list_info.action = 0;
+
+ menu_driver_ctl(RARCH_MENU_CTL_LIST_CACHE, &list_info);
+
+ menu_entries_append_enum(info->list, info->path,
+ info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
+ info->need_entries_refresh = true;
+ }
+ break;
+ case DISPLAYLIST_USER_BINDS_LIST:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ {
+ char lbl[PATH_MAX_LENGTH];
+ unsigned val = atoi(info->path);
+ const char *temp_val = msg_hash_to_str(
+ (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_USER_1_BINDS + (val-1)));
+
+ lbl[0] = '\0';
+
+ strlcpy(lbl, temp_val, sizeof(lbl));
+ ret = menu_displaylist_parse_settings(menu, info,
+ lbl, PARSE_NONE, true);
+ info->need_refresh = true;
+ info->need_push = true;
+ }
+ break;
+ case DISPLAYLIST_DATABASES:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ filebrowser_clear_type();
+ info->type_default = FILE_TYPE_RDB;
+ strlcpy(info->exts,
+ file_path_str(FILE_PATH_RDB_EXTENSION),
+ sizeof(info->exts));
+ info->enum_idx = MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST;
+ use_filebrowser = true;
+ strlcpy(info->path, settings->paths.path_content_database, sizeof(info->path));
+ break;
case DISPLAYLIST_DATABASE_CURSORS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_CURSOR;
+ use_filebrowser = true;
strlcpy(info->exts, "dbc", sizeof(info->exts));
strlcpy(info->path, settings->paths.directory_cursor, sizeof(info->path));
break;
- case DISPLAYLIST_CORES:
- {
- char ext_name[PATH_MAX_LENGTH];
-
- ext_name[0] = '\0';
-
- filebrowser_clear_type();
- info->type_default = FILE_TYPE_PLAIN;
- if (frontend_driver_get_core_extension(ext_name, sizeof(ext_name)))
- strlcpy(info->exts, ext_name, sizeof(info->exts));
- }
- break;
case DISPLAYLIST_CONFIG_FILES:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_CONFIG;
strlcpy(info->exts, "cfg", sizeof(info->exts));
+ use_filebrowser = true;
break;
case DISPLAYLIST_SHADER_PRESET:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
{
struct string_list *str_list;
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_VULKAN)
@@ -6417,9 +6369,11 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
#endif
string_list_join_concat(info->exts, sizeof(info->exts), str_list, "|");
string_list_free(str_list);
+ use_filebrowser = true;
}
break;
case DISPLAYLIST_SHADER_PASS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
{
struct string_list *str_list;
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_VULKAN)
@@ -6444,14 +6398,18 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
#endif
string_list_join_concat(info->exts, sizeof(info->exts), str_list, "|");
string_list_free(str_list);
+ use_filebrowser = true;
}
break;
case DISPLAYLIST_VIDEO_FILTERS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_VIDEOFILTER;
+ use_filebrowser = true;
strlcpy(info->exts, "filt", sizeof(info->exts));
break;
case DISPLAYLIST_IMAGES:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if ( (filebrowser_get_type() != FILEBROWSER_SELECT_FILE)
&& (filebrowser_get_type() != FILEBROWSER_SELECT_IMAGE))
filebrowser_clear_type();
@@ -6478,49 +6436,85 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
string_list_join_concat(info->exts, sizeof(info->exts), str_list, "|");
string_list_free(str_list);
}
+ use_filebrowser = true;
+ break;
+ case DISPLAYLIST_IMAGES_HISTORY:
+#ifdef HAVE_IMAGEVIEWER
+ if (settings->bools.history_list_enable)
+ menu_displaylist_parse_playlist_history(menu, info,
+ g_defaults.image_history,
+ "images_history",
+ settings->paths.path_content_image_history,
+ &ret);
+ else
+ {
+ menu_entries_append_enum(info->list,
+ msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_HISTORY_AVAILABLE),
+ msg_hash_to_str(MENU_ENUM_LABEL_NO_HISTORY_AVAILABLE),
+ MENU_ENUM_LABEL_NO_HISTORY_AVAILABLE,
+ MENU_INFO_MESSAGE, 0, 0);
+ ret = 0;
+ }
+
+ if (ret == 0)
+ {
+ info->need_refresh = true;
+ info->need_push = true;
+ }
+ use_filebrowser = true;
+#endif
break;
case DISPLAYLIST_AUDIO_FILTERS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_AUDIOFILTER;
+ use_filebrowser = true;
strlcpy(info->exts, "dsp", sizeof(info->exts));
break;
case DISPLAYLIST_CHEAT_FILES:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_CHEAT;
+ use_filebrowser = true;
strlcpy(info->exts, "cht", sizeof(info->exts));
break;
case DISPLAYLIST_CONTENT_HISTORY:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_PLAIN;
+ use_filebrowser = true;
strlcpy(info->exts, "lpl", sizeof(info->exts));
break;
case DISPLAYLIST_FONTS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_FONT;
+ use_filebrowser = true;
strlcpy(info->exts, "ttf", sizeof(info->exts));
break;
case DISPLAYLIST_OVERLAYS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_OVERLAY;
+ use_filebrowser = true;
strlcpy(info->exts, "cfg", sizeof(info->exts));
break;
case DISPLAYLIST_RECORD_CONFIG_FILES:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_RECORD_CONFIG;
+ use_filebrowser = true;
strlcpy(info->exts, "cfg", sizeof(info->exts));
break;
case DISPLAYLIST_REMAP_FILES:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
filebrowser_clear_type();
info->type_default = FILE_TYPE_REMAP;
+ use_filebrowser = true;
strlcpy(info->exts, "rmp", sizeof(info->exts));
break;
- default:
- break;
- }
-
- switch (type)
- {
case DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (menu_displaylist_parse_playlists(info, true) == 0)
{
info->need_refresh = true;
@@ -6528,6 +6522,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
break;
case DISPLAYLIST_DATABASE_PLAYLISTS:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (menu_displaylist_parse_playlists(info, false) == 0)
{
info->need_refresh = true;
@@ -6535,6 +6530,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
break;
case DISPLAYLIST_CORES:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ {
+ char ext_name[PATH_MAX_LENGTH];
+
+ ext_name[0] = '\0';
+
+ filebrowser_clear_type();
+ info->type_default = FILE_TYPE_PLAIN;
+ if (frontend_driver_get_core_extension(ext_name, sizeof(ext_name)))
+ strlcpy(info->exts, ext_name, sizeof(info->exts));
+ }
if (menu_displaylist_parse_cores(menu, info) == 0)
{
info->need_refresh = true;
@@ -6542,41 +6548,36 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
info->push_builtin_cores = true;
break;
- case DISPLAYLIST_DATABASES:
- case DISPLAYLIST_SHADER_PASS:
- case DISPLAYLIST_SHADER_PRESET:
- case DISPLAYLIST_DATABASE_CURSORS:
- case DISPLAYLIST_VIDEO_FILTERS:
- case DISPLAYLIST_AUDIO_FILTERS:
- case DISPLAYLIST_IMAGES:
- case DISPLAYLIST_OVERLAYS:
- case DISPLAYLIST_FONTS:
- case DISPLAYLIST_CHEAT_FILES:
- case DISPLAYLIST_REMAP_FILES:
- case DISPLAYLIST_RECORD_CONFIG_FILES:
- case DISPLAYLIST_CONFIG_FILES:
case DISPLAYLIST_DEFAULT:
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ use_filebrowser = true;
+ break;
case DISPLAYLIST_CORES_DETECTED:
- case DISPLAYLIST_CONTENT_HISTORY:
- if (string_is_empty(info->path))
- {
- if (frontend_driver_parse_drive_list(info->list) != 0)
- menu_entries_append_enum(info->list, "/", "",
- MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
- info->need_refresh = true;
- info->need_push = true;
- }
- else
- {
- filebrowser_parse(info, type);
- info->need_refresh = true;
- info->need_push = true;
- }
+ menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
+ use_filebrowser = true;
break;
- default:
+ case DISPLAYLIST_NONE:
break;
}
+ if (use_filebrowser)
+ {
+ if (string_is_empty(info->path))
+ {
+ if (frontend_driver_parse_drive_list(info->list) != 0)
+ menu_entries_append_enum(info->list, "/", "",
+ MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
+ info->need_refresh = true;
+ info->need_push = true;
+ }
+ else
+ {
+ filebrowser_parse(info, type);
+ info->need_refresh = true;
+ info->need_push = true;
+ }
+ }
+
if (ret != 0)
goto error;