mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-01-09 04:21:33 +00:00
Merge pull request #4241 from libretro/load_content
Load content refactors
This commit is contained in:
commit
dd553e067f
232
core_info.c
232
core_info.c
@ -22,6 +22,8 @@
|
||||
#include <lists/dir_list.h>
|
||||
#include <file/archive_file.h>
|
||||
|
||||
#include <retro_stat.h>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
@ -87,10 +89,7 @@ static void core_info_list_resolve_all_firmware(
|
||||
core_info_t *info = (core_info_t*)&core_info_list->list[i];
|
||||
config_file_t *config = (config_file_t*)info->config_data;
|
||||
|
||||
if (!config)
|
||||
continue;
|
||||
|
||||
if (!config_get_uint(config, "firmware_count", &count))
|
||||
if (!config || !config_get_uint(config, "firmware_count", &count))
|
||||
continue;
|
||||
|
||||
info->firmware = (core_info_firmware_t*)
|
||||
@ -101,9 +100,11 @@ static void core_info_list_resolve_all_firmware(
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
{
|
||||
char path_key[64] = {0};
|
||||
char desc_key[64] = {0};
|
||||
char opt_key[64] = {0};
|
||||
char path_key[64];
|
||||
char desc_key[64];
|
||||
char opt_key[64];
|
||||
|
||||
path_key[0] = desc_key[0] = opt_key[0] = '\0';
|
||||
|
||||
snprintf(path_key, sizeof(path_key), "firmware%u_path", c);
|
||||
snprintf(desc_key, sizeof(desc_key), "firmware%u_desc", c);
|
||||
@ -162,21 +163,24 @@ static void core_info_list_free(core_info_list_t *core_info_list)
|
||||
free(core_info_list);
|
||||
}
|
||||
|
||||
static config_file_t *core_info_list_iterate(
|
||||
static bool core_info_list_iterate(
|
||||
char *s, size_t len,
|
||||
struct string_list *contents, size_t i)
|
||||
{
|
||||
char info_path_base[PATH_MAX_LENGTH] = {0};
|
||||
char info_path[PATH_MAX_LENGTH] = {0};
|
||||
char info_path_base[PATH_MAX_LENGTH];
|
||||
char *substr = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!contents->elems[i].data)
|
||||
return NULL;
|
||||
if (!contents || !contents->elems[i].data)
|
||||
return false;
|
||||
|
||||
info_path_base[0] = '\0';
|
||||
|
||||
fill_pathname_base_noext(info_path_base, contents->elems[i].data,
|
||||
sizeof(info_path_base));
|
||||
|
||||
#if defined(RARCH_MOBILE) || (defined(RARCH_CONSOLE) && !defined(PSP) && !defined(_3DS) && !defined(VITA))
|
||||
char *substr = strrchr(info_path_base, '_');
|
||||
substr = strrchr(info_path_base, '_');
|
||||
if (substr)
|
||||
*substr = '\0';
|
||||
#endif
|
||||
@ -185,28 +189,21 @@ static config_file_t *core_info_list_iterate(
|
||||
file_path_str(FILE_PATH_CORE_INFO_EXTENSION),
|
||||
sizeof(info_path_base));
|
||||
|
||||
fill_pathname_join(info_path,
|
||||
fill_pathname_join(s,
|
||||
(!string_is_empty(settings->path.libretro_info)) ?
|
||||
settings->path.libretro_info : settings->directory.libretro,
|
||||
info_path_base, sizeof(info_path));
|
||||
info_path_base, len);
|
||||
|
||||
return config_file_new(info_path);
|
||||
return true;
|
||||
}
|
||||
|
||||
static core_info_list_t *core_info_list_new(void)
|
||||
static core_info_list_t *core_info_list_new(const char *path)
|
||||
{
|
||||
size_t i;
|
||||
core_info_t *core_info = NULL;
|
||||
core_info_list_t *core_info_list = NULL;
|
||||
struct string_list *contents = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!settings)
|
||||
return NULL;
|
||||
|
||||
contents = dir_list_new_special(
|
||||
settings->directory.libretro,
|
||||
DIR_LIST_CORES, NULL);
|
||||
struct string_list *contents = dir_list_new_special(
|
||||
path, DIR_LIST_CORES, NULL);
|
||||
|
||||
if (!contents)
|
||||
return NULL;
|
||||
@ -219,17 +216,23 @@ static core_info_list_t *core_info_list_new(void)
|
||||
if (!core_info)
|
||||
goto error;
|
||||
|
||||
core_info_list->list = core_info;
|
||||
core_info_list->list = core_info;
|
||||
core_info_list->count = contents->size;
|
||||
|
||||
for (i = 0; i < contents->size; i++)
|
||||
{
|
||||
config_file_t *conf = core_info_list_iterate(contents, i);
|
||||
char info_path[PATH_MAX_LENGTH];
|
||||
|
||||
if (conf)
|
||||
info_path[0] = '\0';
|
||||
|
||||
if (
|
||||
core_info_list_iterate(info_path, sizeof(info_path),
|
||||
contents, i)
|
||||
&& path_is_valid(info_path))
|
||||
{
|
||||
bool tmp_bool = false;
|
||||
unsigned count = 0;
|
||||
bool tmp_bool = false;
|
||||
unsigned count = 0;
|
||||
config_file_t *conf = config_file_new(info_path);
|
||||
|
||||
config_get_string(conf, "display_name",
|
||||
&core_info[i].display_name);
|
||||
@ -403,20 +406,22 @@ static bool core_info_list_update_missing_firmware_internal(
|
||||
const char *systemdir)
|
||||
{
|
||||
size_t i;
|
||||
char path[PATH_MAX_LENGTH] = {0};
|
||||
char path[PATH_MAX_LENGTH];
|
||||
core_info_t *info = NULL;
|
||||
|
||||
if (!core_info_list || !core)
|
||||
return false;
|
||||
|
||||
info = core_info_find_internal(core_info_list, core);
|
||||
path[0] = '\0';
|
||||
info = core_info_find_internal(core_info_list, core);
|
||||
|
||||
if (!info)
|
||||
return false;
|
||||
|
||||
runloop_ctl(RUNLOOP_CTL_UNSET_MISSING_BIOS, NULL);
|
||||
for (i = 0; i < info->firmware_count; i++)
|
||||
{
|
||||
if (!info->firmware[i].path)
|
||||
if (string_is_empty(info->firmware[i].path))
|
||||
continue;
|
||||
|
||||
fill_pathname_join(path, systemdir,
|
||||
@ -452,12 +457,13 @@ static void core_info_list_get_missing_firmware(
|
||||
const core_info_firmware_t **firmware, size_t *num_firmware)
|
||||
{
|
||||
size_t i;
|
||||
char path[PATH_MAX_LENGTH] = {0};
|
||||
char path[PATH_MAX_LENGTH];
|
||||
core_info_t *info = NULL;
|
||||
|
||||
if (!core_info_list || !core)
|
||||
return;
|
||||
|
||||
path[0] = '\0';
|
||||
*firmware = NULL;
|
||||
*num_firmware = 0;
|
||||
|
||||
@ -511,7 +517,10 @@ void core_info_deinit_list(void)
|
||||
|
||||
bool core_info_init_list(void)
|
||||
{
|
||||
core_info_curr_list = core_info_list_new();
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (settings)
|
||||
core_info_curr_list = core_info_list_new(settings->directory.libretro);
|
||||
|
||||
if (!core_info_curr_list)
|
||||
return false;
|
||||
@ -625,58 +634,43 @@ void core_info_list_get_supported_cores(core_info_list_t *core_info_list,
|
||||
void core_info_get_name(const char *path, char *s, size_t len)
|
||||
{
|
||||
size_t i;
|
||||
core_info_t *core_info = NULL;
|
||||
core_info_list_t *core_info_list = NULL;
|
||||
struct string_list *contents = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!settings)
|
||||
return;
|
||||
|
||||
contents = dir_list_new_special(
|
||||
struct string_list *contents = dir_list_new_special(
|
||||
settings->directory.libretro,
|
||||
DIR_LIST_CORES, NULL);
|
||||
|
||||
if (!contents)
|
||||
return;
|
||||
|
||||
core_info_list = (core_info_list_t*)calloc(1, sizeof(*core_info_list));
|
||||
if (!core_info_list)
|
||||
goto error;
|
||||
|
||||
core_info = (core_info_t*)calloc(contents->size, sizeof(*core_info));
|
||||
if (!core_info)
|
||||
goto error;
|
||||
|
||||
core_info_list->list = core_info;
|
||||
core_info_list->count = contents->size;
|
||||
|
||||
for (i = 0; i < contents->size; i++)
|
||||
{
|
||||
config_file_t *conf = NULL;
|
||||
char info_path[PATH_MAX_LENGTH];
|
||||
config_file_t *conf = NULL;
|
||||
char *new_core_name = NULL;
|
||||
|
||||
info_path[0] = '\0';
|
||||
|
||||
if (!string_is_equal(contents->elems[i].data, path))
|
||||
continue;
|
||||
|
||||
conf = core_info_list_iterate(contents, i);
|
||||
if (!core_info_list_iterate(info_path,
|
||||
sizeof(info_path), contents, i)
|
||||
&& path_is_valid(info_path))
|
||||
continue;
|
||||
|
||||
if (conf)
|
||||
{
|
||||
config_get_string(conf, "corename",
|
||||
&core_info[i].core_name);
|
||||
core_info[i].config_data = (void*)conf;
|
||||
}
|
||||
conf = config_file_new(info_path);
|
||||
|
||||
core_info[i].path = strdup(contents->elems[i].data);
|
||||
config_get_string(conf, "corename",
|
||||
&new_core_name);
|
||||
strlcpy(s, new_core_name, len);
|
||||
|
||||
strlcpy(s, core_info[i].core_name, len);
|
||||
config_file_free(conf);
|
||||
break;
|
||||
}
|
||||
|
||||
error:
|
||||
if (contents)
|
||||
dir_list_free(contents);
|
||||
contents = NULL;
|
||||
core_info_list_free(core_info_list);
|
||||
}
|
||||
|
||||
size_t core_info_list_num_info_files(core_info_list_t *core_info_list)
|
||||
@ -699,10 +693,8 @@ size_t core_info_list_num_info_files(core_info_list_t *core_info_list)
|
||||
bool core_info_unsupported_content_path(const char *path)
|
||||
{
|
||||
size_t i;
|
||||
const char *delim;
|
||||
const char *archive_path = NULL;
|
||||
|
||||
delim = path_get_archive_delim(path);
|
||||
const char *delim = path_get_archive_delim(path);
|
||||
|
||||
if (delim)
|
||||
archive_path = delim - 1;
|
||||
@ -718,18 +710,19 @@ bool core_info_unsupported_content_path(const char *path)
|
||||
{
|
||||
const core_info_t *info = &core_info_curr_list->list[i];
|
||||
|
||||
if (string_list_find_elem(info->supported_extensions_list, "zip") ||
|
||||
string_list_find_elem(info->supported_extensions_list, "7z"))
|
||||
return false;
|
||||
if ( !string_list_find_elem(info->supported_extensions_list, "zip")
|
||||
&& !string_list_find_elem(info->supported_extensions_list, "7z"))
|
||||
continue;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < core_info_curr_list->count; i++)
|
||||
{
|
||||
const core_info_t *info = &core_info_curr_list->list[i];
|
||||
bool path_in_ext_list = string_list_find_elem(info->supported_extensions_list, path_get_extension(path));
|
||||
|
||||
if (path_in_ext_list)
|
||||
if (string_list_find_elem(info->supported_extensions_list, path_get_extension(path)))
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -739,8 +732,8 @@ bool core_info_unsupported_content_path(const char *path)
|
||||
bool core_info_database_supports_content_path(const char *database_path, const char *path)
|
||||
{
|
||||
size_t i;
|
||||
char *database;
|
||||
const char *delim;
|
||||
char *database = NULL;
|
||||
const char *delim = NULL;
|
||||
const char *archive_path = NULL;
|
||||
|
||||
if (!core_info_curr_list)
|
||||
@ -763,31 +756,30 @@ bool core_info_database_supports_content_path(const char *database_path, const c
|
||||
{
|
||||
const core_info_t *info = &core_info_curr_list->list[i];
|
||||
|
||||
if (string_list_find_elem(info->databases_list, database))
|
||||
{
|
||||
if (string_list_find_elem(info->supported_extensions_list, "zip") ||
|
||||
string_list_find_elem(info->supported_extensions_list, "7z"))
|
||||
{
|
||||
free(database);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!string_list_find_elem(info->databases_list, database))
|
||||
continue;
|
||||
|
||||
if ( !string_list_find_elem(info->supported_extensions_list, "zip")
|
||||
&& !string_list_find_elem(info->supported_extensions_list, "7z"))
|
||||
continue;
|
||||
|
||||
free(database);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < core_info_curr_list->count; i++)
|
||||
{
|
||||
const core_info_t *info = &core_info_curr_list->list[i];
|
||||
bool path_in_ext_list = string_list_find_elem(info->supported_extensions_list, path_get_extension(path));
|
||||
|
||||
if (path_in_ext_list)
|
||||
{
|
||||
if (string_list_find_elem(info->databases_list, database))
|
||||
{
|
||||
free(database);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (!string_list_find_elem(info->supported_extensions_list, path_get_extension(path)))
|
||||
continue;
|
||||
|
||||
if (!string_list_find_elem(info->databases_list, database))
|
||||
continue;
|
||||
|
||||
free(database);
|
||||
return true;
|
||||
}
|
||||
|
||||
free(database);
|
||||
@ -805,12 +797,15 @@ bool core_info_list_get_display_name(core_info_list_t *core_info_list,
|
||||
for (i = 0; i < core_info_list->count; i++)
|
||||
{
|
||||
const core_info_t *info = &core_info_list->list[i];
|
||||
if (string_is_equal(path_basename(info->path), path_basename(path))
|
||||
&& info->display_name)
|
||||
{
|
||||
strlcpy(s, info->display_name, len);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!string_is_equal(path_basename(info->path), path_basename(path)))
|
||||
continue;
|
||||
|
||||
if (!info->display_name)
|
||||
continue;
|
||||
|
||||
strlcpy(s, info->display_name, len);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -818,40 +813,25 @@ bool core_info_list_get_display_name(core_info_list_t *core_info_list,
|
||||
|
||||
bool core_info_get_display_name(const char *path, char *s, size_t len)
|
||||
{
|
||||
char *core_name = NULL;
|
||||
bool ret = true;
|
||||
char *display_name = NULL;
|
||||
config_file_t *conf = NULL;
|
||||
|
||||
if (!path_file_exists(path))
|
||||
return false;
|
||||
|
||||
conf = config_file_new(path);
|
||||
config_file_t *conf = config_file_new(path);
|
||||
|
||||
if (!conf)
|
||||
return false;
|
||||
|
||||
config_get_string(conf, "corename",
|
||||
&core_name);
|
||||
config_get_string(conf, "display_name",
|
||||
&display_name);
|
||||
|
||||
if (!core_name || !display_name)
|
||||
{
|
||||
ret = false;
|
||||
goto error;
|
||||
}
|
||||
|
||||
config_file_free(conf);
|
||||
config_get_string(conf, "display_name", &display_name);
|
||||
|
||||
snprintf(s, len,"%s",display_name);
|
||||
|
||||
free(core_name);
|
||||
free(display_name);
|
||||
|
||||
return true;
|
||||
if (display_name)
|
||||
snprintf(s, len, "%s", display_name);
|
||||
|
||||
error:
|
||||
config_file_free(conf);
|
||||
if (core_name)
|
||||
free(core_name);
|
||||
if (display_name)
|
||||
free(display_name);
|
||||
return false;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -390,7 +390,10 @@ static int frontend_ctr_parse_drive_list(void *data)
|
||||
return -1;
|
||||
|
||||
menu_entries_append_enum(list,
|
||||
"sdmc:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"sdmc:/",
|
||||
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);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -640,9 +640,14 @@ static int frontend_darwin_parse_drive_list(void *data)
|
||||
CFSearchPathForDirectoriesInDomains(CFDocumentDirectory, CFUserDomainMask, 1, home_dir_buf, sizeof(home_dir_buf));
|
||||
|
||||
menu_entries_append_enum(list,
|
||||
home_dir_buf, "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
menu_entries_append_enum(list, "/", "",
|
||||
MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
home_dir_buf,
|
||||
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);
|
||||
menu_entries_append_enum(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);
|
||||
|
||||
ret = 0;
|
||||
|
||||
|
@ -472,14 +472,26 @@ static int frontend_gx_parse_drive_list(void *data)
|
||||
file_list_t *list = (file_list_t*)data;
|
||||
#ifdef HW_RVL
|
||||
menu_entries_append_enum(list,
|
||||
"sd:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"sd:/",
|
||||
msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR),
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
menu_entries_append_enum(list,
|
||||
"usb:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"usb:/",
|
||||
msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR),
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
#endif
|
||||
menu_entries_append_enum(list,
|
||||
"carda:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"carda:/",
|
||||
msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR),
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
menu_entries_append_enum(list,
|
||||
"cardb:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"cardb:/",
|
||||
msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR),
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -61,6 +61,7 @@
|
||||
#include "platform_linux.h"
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
#include "../../menu/menu_driver.h"
|
||||
#include "../../menu/menu_display.h"
|
||||
#include "../../menu/menu_entries.h"
|
||||
#endif
|
||||
@ -1857,24 +1858,29 @@ static int frontend_linux_parse_drive_list(void *data)
|
||||
menu_entries_append_enum(list,
|
||||
app_dir,
|
||||
msg_hash_to_str(MSG_APPLICATION_DIR),
|
||||
MSG_APPLICATION_DIR, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
menu_entries_append_enum(list,
|
||||
internal_storage_app_path,
|
||||
msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR),
|
||||
MSG_EXTERNAL_APPLICATION_DIR,
|
||||
FILE_TYPE_DIRECTORY, 0, 0);
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
menu_entries_append_enum(list,
|
||||
internal_storage_path,
|
||||
msg_hash_to_str(MSG_INTERNAL_STORAGE),
|
||||
MSG_INTERNAL_STORAGE, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
menu_entries_append_enum(list,
|
||||
"/storage",
|
||||
msg_hash_to_str(MSG_REMOVABLE_STORAGE),
|
||||
MSG_REMOVABLE_STORAGE, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
#endif
|
||||
|
||||
menu_entries_append_enum(list, "/", "",
|
||||
MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
menu_entries_append_enum(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);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -497,29 +497,65 @@ static int frontend_ps3_parse_drive_list(void *data)
|
||||
file_list_t *list = (file_list_t*)data;
|
||||
|
||||
menu_entries_append_enum(list,
|
||||
"/app_home/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/app_home/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_hdd0/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_hdd0/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_hdd1/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_hdd1/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_bdvd/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_bdvd/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/host_root/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/host_root/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_usb000/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_usb000/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_usb001/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_usb001/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_usb002/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_usb002/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_usb003/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_usb003/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_usb004/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_usb004/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_usb005/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_usb005/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"/dev_usb006/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"/dev_usb006/",
|
||||
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);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -468,18 +468,36 @@ static int frontend_psp_parse_drive_list(void *data)
|
||||
|
||||
#ifdef VITA
|
||||
menu_entries_append_enum(list,
|
||||
"app0:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"app0:/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"ur0:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"ur0:/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"ux0:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"ux0:/",
|
||||
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);
|
||||
#else
|
||||
menu_entries_append_enum(list,
|
||||
"ms0:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"ms0:/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"ef0:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"ef0:/",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"host0:/", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"host0:/",
|
||||
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);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -138,8 +138,10 @@ static int frontend_wiiu_parse_drive_list(void *data)
|
||||
if (!list)
|
||||
return -1;
|
||||
|
||||
menu_entries_append_enum(list,
|
||||
WIIU_SD_PATH, "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
menu_entries_append_enum(list, WIIU_SD_PATH,
|
||||
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);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -236,7 +236,10 @@ static int frontend_win32_parse_drive_list(void *data)
|
||||
drive[0] = 'A' + i;
|
||||
if (drives & (1 << i))
|
||||
menu_entries_append_enum(list,
|
||||
drive, "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
drive,
|
||||
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);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1373,18 +1373,36 @@ static int frontend_xdk_parse_drive_list(void *data)
|
||||
|
||||
#if defined(_XBOX1)
|
||||
menu_entries_append_enum(list,
|
||||
"C:", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"C:",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"D:", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"D:",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"E:", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"E:",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"F:", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"F:",
|
||||
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);
|
||||
menu_entries_append_enum(list,
|
||||
"G:", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"G:",
|
||||
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);
|
||||
#elif defined(_XBOX360)
|
||||
menu_entries_append_enum(list,
|
||||
"game:", "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
|
||||
"game:",
|
||||
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);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -2116,8 +2116,8 @@ const char *msg_hash_to_str_chs(enum msg_hash_enums msg)
|
||||
return "选择数据库";
|
||||
case MENU_ENUM_LABEL_VALUE_DELETE_ENTRY:
|
||||
return "移除";
|
||||
case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST:
|
||||
return "选择文件并探测核心";
|
||||
case MENU_ENUM_LABEL_VALUE_FAVORITES:
|
||||
return "选择文件并探测核心"; /* TODO/FIXME - update */
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT:
|
||||
return "<游戏内容目录>";
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT:
|
||||
@ -2452,8 +2452,6 @@ const char *msg_hash_to_str_chs(enum msg_hash_enums msg)
|
||||
return "线性";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE:
|
||||
return "使用核心加载压缩包";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT:
|
||||
return "选择文件";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY:
|
||||
return "加载最近的游戏内容";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST:
|
||||
|
@ -103,24 +103,6 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT:
|
||||
snprintf(s, len,
|
||||
"Lade Content. \n"
|
||||
"Suche nach Content. \n"
|
||||
" \n"
|
||||
"Um Content zu laden benötigst du den passenden \n"
|
||||
"Libretro-Core und die Content-Datei. \n"
|
||||
" \n"
|
||||
"Um einzustellen, welcher Ordner standardmäßig \n"
|
||||
"geöffnet wird, um nach Content zu suchen, solltest \n"
|
||||
"du das Content-Verzeichnis setzen. Wenn es nicht \n"
|
||||
"gesetzt ist, wird es im Root-Verzeichen starten. \n"
|
||||
" \n"
|
||||
"Der Browser wird nur Dateierweiterungen des \n"
|
||||
"zuletzt geladenen Cores zeigen und diesen Core \n"
|
||||
"nutzen, wenn Content geladen wird."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
|
||||
snprintf(s, len,
|
||||
"Lade Content aus dem Verlauf. \n"
|
||||
|
@ -146,8 +146,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER,
|
||||
"Datenbankmanager")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY,
|
||||
"Von der Playlist löschen")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST,
|
||||
"Lade Content (Core erkennen)") /* FIXME */
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES,
|
||||
"Lesezeichen")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
|
||||
"<Content-Verz.>")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||
@ -280,8 +280,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR,
|
||||
"Linear")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE,
|
||||
"Lade Archiv")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT,
|
||||
"Lade Content") /* FIXME */
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY,
|
||||
"Lade Content (Verlauf)") /* FIXME/UPDATE */
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
|
||||
|
@ -484,8 +484,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION,
|
||||
"Database Selection")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY,
|
||||
"Remove")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST,
|
||||
"Select File And Detect Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES,
|
||||
"Favorites")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
|
||||
"<Content dir>")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||
@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR,
|
||||
"Linear")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE,
|
||||
"Load Archive With Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT,
|
||||
"Select File")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY,
|
||||
"Load Recent")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
|
||||
|
@ -1372,8 +1372,6 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg)
|
||||
return "Error:";
|
||||
case MSG_FAILED_TO_APPLY_SHADER:
|
||||
return "Error al aplicar shader.";
|
||||
case MSG_FAILED_TO_LOAD_CONTENT:
|
||||
return "Error al cargar el contenido";
|
||||
case MSG_FAILED_TO_LOAD_MOVIE_FILE:
|
||||
return "Error al cargar el archivo de película";
|
||||
case MSG_FAILED_TO_LOAD_OVERLAY:
|
||||
@ -1655,8 +1653,8 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg)
|
||||
return "Proporción personalizada";
|
||||
case MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER:
|
||||
return "Gestor de bases de datos";
|
||||
case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST:
|
||||
return "Seleccionar archivo y detectar núcleo";
|
||||
case MENU_ENUM_LABEL_VALUE_FAVORITES:
|
||||
return "Seleccionar archivo y detectar núcleo"; /* TODO/FIXME - update */
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT:
|
||||
return "(Carpeta de contenido)";
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT:
|
||||
@ -1794,8 +1792,6 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg)
|
||||
return "Nivel de registro del núcleo";
|
||||
case MENU_ENUM_LABEL_VALUE_LINEAR:
|
||||
return "Lineal";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT:
|
||||
return "Seleccionar archivo";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY:
|
||||
return "Cargar archivos recientes";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_STATE:
|
||||
|
@ -480,8 +480,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION,
|
||||
"Database Selection")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY,
|
||||
"Remove")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST,
|
||||
"Via les fichiers (détecter le coeur)")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES,
|
||||
"Via les fichiers") /* TODO/FIXME - update */
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
|
||||
"<Dossier de contenu>")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||
@ -812,8 +812,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR,
|
||||
"Linéaire")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE,
|
||||
"Charger l'archive")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT,
|
||||
"Via les fichiers")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY,
|
||||
"Récemment ouvert")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
|
||||
|
@ -1611,8 +1611,8 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
|
||||
return "Abilita riavvolgi";
|
||||
case MENU_ENUM_LABEL_VALUE_CONTENT_COLLECTION_LIST:
|
||||
return "Collezione";
|
||||
case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST:
|
||||
return "Seleziona il file ed intercetta il core";
|
||||
case MENU_ENUM_LABEL_VALUE_FAVORITES:
|
||||
return "Seleziona il file ed intercetta il core"; /* TODO/FIXME - update */
|
||||
case MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
return "Scarica su directories";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY:
|
||||
@ -1729,8 +1729,6 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
|
||||
return "Nessun oggetto.";
|
||||
case MENU_ENUM_LABEL_VALUE_CORE_LIST:
|
||||
return "Carica Core";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT:
|
||||
return "Seleziona contenuto";
|
||||
case MENU_ENUM_LABEL_VALUE_CLOSE_CONTENT:
|
||||
return "Chiudi";
|
||||
case MENU_ENUM_LABEL_VALUE_MANAGEMENT:
|
||||
|
@ -498,8 +498,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION,
|
||||
"Database Selection")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY,
|
||||
"削除")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST,
|
||||
"ファイルを選択とコア検出")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES,
|
||||
"ファイルを選択とコア検出") /* TODO/FIXME - update */
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
|
||||
"<Content dir>")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||
@ -834,8 +834,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR,
|
||||
"Linear")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE,
|
||||
"コアでアーカイブをロード")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT,
|
||||
"ファイル選択")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY,
|
||||
"最近のものをロード")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
|
||||
|
@ -307,8 +307,8 @@ MSG_HASH(MENU_ENUM_LABEL_DEFERRED_WIFI_SETTINGS_LIST,
|
||||
"deferred_wifi_settings_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DELETE_ENTRY,
|
||||
"delete_entry")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DETECT_CORE_LIST,
|
||||
"detect_core_list")
|
||||
MSG_HASH(MENU_ENUM_LABEL_FAVORITES,
|
||||
"favorites")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DIRECTORY_SETTINGS,
|
||||
"directory_settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS,
|
||||
@ -349,6 +349,8 @@ MSG_HASH(MENU_ENUM_LABEL_FILE_BROWSER_CORE_DETECTED,
|
||||
"file_browser_core_detected")
|
||||
MSG_HASH(MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,
|
||||
"file_browser_core_select_from_collection")
|
||||
MSG_HASH(MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION_CURRENT_CORE,
|
||||
"file_browser_core_select_from_collection_current_core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY,
|
||||
"file_browser_directory")
|
||||
MSG_HASH(MENU_ENUM_LABEL_FILE_BROWSER_IMAGE,
|
||||
@ -517,8 +519,6 @@ MSG_HASH(MENU_ENUM_LABEL_LOAD_ARCHIVE,
|
||||
"load_archive")
|
||||
MSG_HASH(MENU_ENUM_LABEL_LOAD_ARCHIVE_DETECT_CORE,
|
||||
"load_archive_detect_core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT,
|
||||
"load_content_default")
|
||||
MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY,
|
||||
"load_recent")
|
||||
MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
|
||||
@ -1109,6 +1109,8 @@ MSG_HASH(MENU_ENUM_LABEL_SECONDS, "seconds")
|
||||
MSG_HASH(MENU_ENUM_LABEL_STATUS, "status")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK,
|
||||
"detect_core_list_ok")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK_CURRENT_CORE,
|
||||
"detect_core_list_ok_current_core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_NO_DISK,
|
||||
"no_disk")
|
||||
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS,
|
||||
@ -1153,3 +1155,5 @@ MSG_HASH(MENU_ENUM_LABEL_SHADER_PIPELINE_SNOW,
|
||||
"shader_pipeline_snow")
|
||||
MSG_HASH(MENU_ENUM_LABEL_INPUT_UNIFIED_MENU_CONTROLS,
|
||||
"unified_menu_controls")
|
||||
MSG_HASH(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
|
||||
"detect_core_list_push_dir")
|
||||
|
@ -484,8 +484,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION,
|
||||
"Database Selectie")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY,
|
||||
"Verwijderen")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST,
|
||||
"Selecteer Bestand En Detecteer Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES,
|
||||
"Favorieten")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
|
||||
"<Content dir>")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||
@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR,
|
||||
"Linear")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE,
|
||||
"Laad Archief Met Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT,
|
||||
"Selecteer Bestand")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY,
|
||||
"Recentelijk gebruikt")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
|
||||
|
@ -176,7 +176,7 @@ const char *msg_hash_to_str_pl(enum msg_hash_enums msg)
|
||||
return "Włąsny współczynnik";
|
||||
case MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER:
|
||||
return "Menedżer bazy danych";
|
||||
case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_VALUE_FAVORITES: /* TODO/FIXME - update */
|
||||
return "Wybierz plik i dopasuj rdzeń";
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT:
|
||||
return "<Katalog treści>";
|
||||
@ -312,8 +312,6 @@ const char *msg_hash_to_str_pl(enum msg_hash_enums msg)
|
||||
return "Liniowe";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE:
|
||||
return "Wczytaj archiwum";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT:
|
||||
return "Wybierz plik";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY:
|
||||
return "Wczytaj z ostatnio używanych";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST:
|
||||
|
@ -90,26 +90,6 @@ int menu_hash_get_help_pt_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT:
|
||||
snprintf(s, len,
|
||||
"Carregar Conteúdo. \n"
|
||||
"Busca conteúdo. \n"
|
||||
" \n"
|
||||
"Para carregar conteúdo, você precisa de \n"
|
||||
"um core libretro para usar, e um arquivo \n"
|
||||
"de conteúdo. \n"
|
||||
" \n"
|
||||
"Para controlar onde o menu começa a \n"
|
||||
"buscar conteúdo, defina o Diretório \n"
|
||||
"de Navegação. Se não estiver definido, \n"
|
||||
"o Retroarch começará no diretório raiz. \n"
|
||||
" \n"
|
||||
"O navegador vai filtrar pelas extensões \n"
|
||||
"do mais recente core definido em 'Core', \n"
|
||||
"e o usará quando o conteúdo estiver \n"
|
||||
"carregado."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
|
||||
snprintf(s, len,
|
||||
"Carregando conteúdo do histórico. \n"
|
||||
@ -1114,8 +1094,8 @@ const char *msg_hash_to_str_pt(enum msg_hash_enums msg)
|
||||
return "Relação de Aspecto Personalizada";
|
||||
case MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER:
|
||||
return "Gerenciador de Databases";
|
||||
case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST:
|
||||
return "Selecionar Arquivo e Detectar Core";
|
||||
case MENU_ENUM_LABEL_VALUE_FAVORITES:
|
||||
return "Selecionar Arquivo e Detectar Core"; /* TODO/FIXME - update */
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT:
|
||||
return "<Diretório de Conteúdo>";
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT:
|
||||
@ -1246,8 +1226,6 @@ const char *msg_hash_to_str_pt(enum msg_hash_enums msg)
|
||||
return "Linear";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE:
|
||||
return "Carregar Arquivo";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT:
|
||||
return "Selecionar Arquivo";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY:
|
||||
return "Selecionar do Histórico";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST:
|
||||
|
@ -484,8 +484,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION,
|
||||
"Database Selection")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY,
|
||||
"Remove")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST,
|
||||
"Select File And Detect Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES,
|
||||
"Favorites")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
|
||||
"<Content dir>")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||
@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR,
|
||||
"Linear")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE,
|
||||
"Load Archive With Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT,
|
||||
"Select File")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY,
|
||||
"Load Recent")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
|
||||
|
@ -488,8 +488,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION,
|
||||
"Database Selection")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY,
|
||||
"Remove")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST,
|
||||
"Select File And Detect Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES,
|
||||
"Favorites")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
|
||||
"<Content dir>")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||
@ -826,8 +826,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR,
|
||||
"Linear")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE,
|
||||
"Load Archive With Core")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT,
|
||||
"Select File")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY,
|
||||
"Load Recent")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
|
||||
|
@ -2162,8 +2162,8 @@ const char *msg_hash_to_str_vn(enum msg_hash_enums msg)
|
||||
return "Database Selection";
|
||||
case MENU_ENUM_LABEL_VALUE_DELETE_ENTRY:
|
||||
return "Remove";
|
||||
case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST:
|
||||
return "Select File And Detect Core";
|
||||
case MENU_ENUM_LABEL_VALUE_FAVORITES:
|
||||
return "Favorites";
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT:
|
||||
return "<Content dir>";
|
||||
case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT:
|
||||
@ -2497,8 +2497,6 @@ const char *msg_hash_to_str_vn(enum msg_hash_enums msg)
|
||||
return "Linear";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE:
|
||||
return "Tải Archive With Core";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT:
|
||||
return "Select File";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY:
|
||||
return "Tải Recent";
|
||||
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST:
|
||||
|
@ -533,12 +533,13 @@ static int general_push(menu_displaylist_info_t *info,
|
||||
strlcpy(info->exts, list->all_ext, sizeof(info->exts));
|
||||
else if (system_menu->valid_extensions)
|
||||
{
|
||||
if (*system_menu->valid_extensions)
|
||||
if (!string_is_empty(system_menu->valid_extensions))
|
||||
strlcpy(info->exts, system_menu->valid_extensions,
|
||||
sizeof(info->exts));
|
||||
}
|
||||
else
|
||||
strlcpy(info->exts, system->valid_extensions, sizeof(info->exts));
|
||||
|
||||
break;
|
||||
case PUSH_ARCHIVE_OPEN:
|
||||
if (system_menu->valid_extensions)
|
||||
@ -567,8 +568,14 @@ static int general_push(menu_displaylist_info_t *info,
|
||||
}
|
||||
break;
|
||||
case PUSH_DETECT_CORE_LIST:
|
||||
if (!string_is_empty(list->all_ext))
|
||||
if (list && !string_is_empty(list->all_ext))
|
||||
strlcpy(info->exts, list->all_ext, sizeof(info->exts));
|
||||
else if (system_menu->valid_extensions)
|
||||
{
|
||||
if (!string_is_empty(system_menu->valid_extensions))
|
||||
strlcpy(info->exts, system_menu->valid_extensions,
|
||||
sizeof(info->exts));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1111,7 +1118,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_settings_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_FAVORITES:
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_detect_core_list);
|
||||
break;
|
||||
default:
|
||||
@ -1341,7 +1348,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_content_history_path);
|
||||
break;
|
||||
case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
case MENU_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_LABEL_FAVORITES:
|
||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_detect_core_list);
|
||||
break;
|
||||
default:
|
||||
|
@ -1620,6 +1620,18 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||
{
|
||||
switch (cbs->enum_idx)
|
||||
{
|
||||
case MENU_ENUM_LABEL_VIDEO_DRIVER:
|
||||
case MENU_ENUM_LABEL_AUDIO_DRIVER:
|
||||
case MENU_ENUM_LABEL_INPUT_DRIVER:
|
||||
case MENU_ENUM_LABEL_JOYPAD_DRIVER:
|
||||
case MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER:
|
||||
case MENU_ENUM_LABEL_RECORD_DRIVER:
|
||||
case MENU_ENUM_LABEL_LOCATION_DRIVER:
|
||||
case MENU_ENUM_LABEL_CAMERA_DRIVER:
|
||||
case MENU_ENUM_LABEL_WIFI_DRIVER:
|
||||
case MENU_ENUM_LABEL_MENU_DRIVER:
|
||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_STATE_SLOT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_state);
|
||||
@ -1703,8 +1715,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||
case MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST:
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
|
||||
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT:
|
||||
case MENU_ENUM_LABEL_FAVORITES:
|
||||
case MENU_ENUM_LABEL_CORE_OPTIONS:
|
||||
case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS:
|
||||
case MENU_ENUM_LABEL_SHADER_OPTIONS:
|
||||
@ -1778,6 +1789,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_type(
|
||||
menu_action_setting_disp_set_label_core_option_create);
|
||||
break;
|
||||
case FILE_TYPE_CORE:
|
||||
case FILE_TYPE_DIRECT_LOAD:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_menu_file_core);
|
||||
break;
|
||||
|
@ -71,6 +71,7 @@ typedef struct
|
||||
#endif
|
||||
|
||||
/* FIXME - Global variables, refactor */
|
||||
static char filebrowser_label[PATH_MAX_LENGTH];
|
||||
static char detect_content_path[PATH_MAX_LENGTH];
|
||||
unsigned rpl_entry_selection_ptr = 0;
|
||||
unsigned rdb_entry_start_game_selection_ptr = 0;
|
||||
@ -294,7 +295,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_AUDIO_DSP_PLUGIN:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->directory.audio_filter;
|
||||
info_label = msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN);
|
||||
@ -302,7 +303,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE;
|
||||
break;
|
||||
case ACTION_OK_DL_SHADER_PASS:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->directory.video_shader;
|
||||
@ -326,7 +327,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_FILE_BROWSER_SELECT_DIR:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_SELECT_DIR;
|
||||
if (path)
|
||||
strlcpy(menu->deferred_path, path,
|
||||
sizeof(menu->deferred_path));
|
||||
@ -344,7 +345,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_SHADER_PRESET:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->directory.video_shader;
|
||||
@ -352,7 +353,6 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE;
|
||||
break;
|
||||
case ACTION_OK_DL_CONTENT_LIST:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
info.type = FILE_TYPE_DIRECTORY;
|
||||
info.directory_ptr = idx;
|
||||
info_path = new_path;
|
||||
@ -360,6 +360,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_SCAN_DIR_LIST:
|
||||
filebrowser_types = FILEBROWSER_SCAN_DIR;
|
||||
info.type = FILE_TYPE_DIRECTORY;
|
||||
info.directory_ptr = idx;
|
||||
info_path = new_path;
|
||||
@ -367,7 +368,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_FILE_BROWSER_SCAN_DIR;
|
||||
break;
|
||||
case ACTION_OK_DL_REMAP_FILE:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->directory.input_remapping;
|
||||
@ -377,7 +378,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_RECORD_CONFIGFILE:
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = global->record.config_dir;
|
||||
@ -386,7 +387,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
}
|
||||
break;
|
||||
case ACTION_OK_DL_DISK_IMAGE_APPEND_LIST:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->directory.menu_content;
|
||||
@ -394,7 +395,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE;
|
||||
break;
|
||||
case ACTION_OK_DL_PLAYLIST_COLLECTION:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = path;
|
||||
@ -402,7 +403,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_CHEAT_FILE:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->path.cheat_database;
|
||||
@ -410,7 +411,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE;
|
||||
break;
|
||||
case ACTION_OK_DL_CORE_LIST:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->directory.libretro;
|
||||
@ -418,7 +419,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_CORE;
|
||||
break;
|
||||
case ACTION_OK_DL_CONTENT_COLLECTION_LIST:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_SELECT_COLLECTION;
|
||||
info.type = type;
|
||||
info.directory_ptr = idx;
|
||||
info_path = settings->directory.playlist;
|
||||
@ -426,7 +427,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION;
|
||||
break;
|
||||
case ACTION_OK_DL_RDB_ENTRY:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
fill_pathname_join_delim(tmp,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL),
|
||||
path, '|', sizeof(tmp));
|
||||
@ -500,7 +501,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_DATABASE_MANAGER_LIST:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
fill_pathname_join(tmp,
|
||||
settings->path.content_database,
|
||||
path, sizeof(tmp));
|
||||
@ -513,7 +514,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
dl_type = DISPLAYLIST_GENERIC;
|
||||
break;
|
||||
case ACTION_OK_DL_CURSOR_MANAGER_LIST:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
fill_pathname_join(tmp, settings->directory.cursor,
|
||||
path, sizeof(tmp));
|
||||
|
||||
@ -1424,6 +1425,18 @@ static int generic_action_ok(const char *path,
|
||||
command_event(CMD_EVENT_RESUME, NULL);
|
||||
break;
|
||||
case ACTION_OK_SET_DIRECTORY:
|
||||
flush_type = MENU_SETTINGS;
|
||||
{
|
||||
rarch_setting_t *setting = menu_setting_find(filebrowser_label);
|
||||
|
||||
if (setting)
|
||||
{
|
||||
setting_set_with_string_representation(
|
||||
setting, action_path);
|
||||
ret = menu_setting_generic(setting, false);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ACTION_OK_SET_PATH:
|
||||
flush_type = MENU_SETTINGS;
|
||||
{
|
||||
@ -1816,6 +1829,7 @@ static int action_ok_remap_file_save_game(const char *path,
|
||||
int action_ok_path_use_directory(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
return generic_action_ok(NULL, label, type, idx, entry_idx,
|
||||
ACTION_OK_SET_DIRECTORY, MSG_UNKNOWN);
|
||||
}
|
||||
@ -1875,6 +1889,47 @@ static int action_ok_core_deferred_set(const char *path,
|
||||
return menu_cbs_exit();
|
||||
}
|
||||
|
||||
static int action_ok_core_deferred_set_current_core(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
size_t selection;
|
||||
char core_display_name[PATH_MAX_LENGTH];
|
||||
const char *entry_path = NULL;
|
||||
const char *entry_label = NULL;
|
||||
const char *entry_crc32 = NULL;
|
||||
const char *db_name = NULL;
|
||||
playlist_t *playlist = NULL;
|
||||
|
||||
core_display_name[0] = '\0';
|
||||
|
||||
if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection))
|
||||
return menu_cbs_exit();
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_PLAYLIST_GET, &playlist);
|
||||
|
||||
retro_assert(playlist != NULL);
|
||||
|
||||
core_info_get_name(path, core_display_name, sizeof(core_display_name));
|
||||
|
||||
idx = rdb_entry_start_game_selection_ptr;
|
||||
|
||||
playlist_get_index(playlist, idx,
|
||||
&entry_path, &entry_label, NULL, NULL, &entry_crc32, &db_name);
|
||||
|
||||
playlist_update(playlist, idx,
|
||||
entry_path, entry_label,
|
||||
path , core_display_name,
|
||||
entry_crc32,
|
||||
db_name);
|
||||
|
||||
playlist_write_file(playlist);
|
||||
|
||||
menu_entries_pop_stack(&selection, 0, 1);
|
||||
menu_navigation_ctl(MENU_NAVIGATION_CTL_SET_SELECTION, &selection);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_deferred_list_stub(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
@ -1944,6 +1999,13 @@ static int action_ok_file_load_imageviewer(const char *path,
|
||||
CONTENT_MODE_LOAD_CONTENT_WITH_IMAGEVIEWER_CORE_FROM_MENU);
|
||||
}
|
||||
|
||||
static int action_ok_file_load_current_core(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
return generic_action_ok_file_load(path, detect_content_path,
|
||||
CORE_TYPE_FFMPEG, CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU);
|
||||
}
|
||||
|
||||
static int action_ok_file_load_detect_core(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
@ -2693,7 +2755,6 @@ static int action_ok_shader_apply_changes(const char *path,
|
||||
static int action_ok_lookup_setting(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
menu_displaylist_reset_filebrowser();
|
||||
return menu_setting_set(type, label, MENU_ACTION_OK, false);
|
||||
}
|
||||
|
||||
@ -3099,13 +3160,23 @@ static int action_ok_scan_directory_list(const char *path,
|
||||
entry_idx, ACTION_OK_DL_SCAN_DIR_LIST);
|
||||
}
|
||||
|
||||
static int action_ok_push_random_dir(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
return generic_action_ok_displaylist_push(path, path,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES),
|
||||
type, idx,
|
||||
entry_idx, ACTION_OK_DL_CONTENT_LIST);
|
||||
}
|
||||
|
||||
static int action_ok_push_downloads_dir(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
return generic_action_ok_displaylist_push(path, settings->directory.core_assets,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES),
|
||||
type, idx,
|
||||
entry_idx, ACTION_OK_DL_CONTENT_LIST);
|
||||
}
|
||||
@ -3127,6 +3198,7 @@ int action_ok_push_generic_list(const char *path,
|
||||
int action_ok_push_filebrowser_list_dir_select(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
strlcpy(filebrowser_label, label, sizeof(filebrowser_label));
|
||||
return generic_action_ok_displaylist_push(path, NULL, label, type, idx,
|
||||
entry_idx, ACTION_OK_DL_FILE_BROWSER_SELECT_DIR);
|
||||
}
|
||||
@ -3134,6 +3206,7 @@ int action_ok_push_filebrowser_list_dir_select(const char *path,
|
||||
static int action_ok_push_default(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
return generic_action_ok_displaylist_push(path, NULL, label, type, idx,
|
||||
entry_idx, ACTION_OK_DL_PUSH_DEFAULT);
|
||||
}
|
||||
@ -3611,6 +3684,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
|
||||
BIND_ACTION_OK(cbs, action_ok_core_deferred_set);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION_CURRENT_CORE:
|
||||
BIND_ACTION_OK(cbs, action_ok_core_deferred_set_current_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_START_CORE:
|
||||
BIND_ACTION_OK(cbs, action_ok_start_core);
|
||||
break;
|
||||
@ -3789,16 +3865,21 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
BIND_ACTION_OK(cbs, action_ok_scan_directory_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SCAN_FILE:
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT:
|
||||
case MENU_ENUM_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_FAVORITES:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_content_list);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_random_dir);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_downloads_dir);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DETECT_CORE_LIST_OK:
|
||||
BIND_ACTION_OK(cbs, action_ok_file_load_detect_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DETECT_CORE_LIST_OK_CURRENT_CORE:
|
||||
BIND_ACTION_OK(cbs, action_ok_file_load_current_core);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
|
||||
case MENU_ENUM_LABEL_CURSOR_MANAGER_LIST:
|
||||
case MENU_ENUM_LABEL_DATABASE_MANAGER_LIST:
|
||||
@ -3994,8 +4075,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||
break;
|
||||
case MENU_LABEL_SCAN_FILE:
|
||||
case MENU_LABEL_SCAN_DIRECTORY:
|
||||
case MENU_LABEL_LOAD_CONTENT:
|
||||
case MENU_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_LABEL_FAVORITES:
|
||||
BIND_ACTION_OK(cbs, action_ok_push_content_list);
|
||||
break;
|
||||
case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
@ -4130,7 +4210,7 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
|
||||
case FILE_TYPE_CARCHIVE:
|
||||
switch (menu_label_hash)
|
||||
{
|
||||
case MENU_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_LABEL_FAVORITES:
|
||||
BIND_ACTION_OK(cbs, action_ok_compressed_archive_push_detect_core);
|
||||
break;
|
||||
case MENU_LABEL_SCAN_FILE:
|
||||
@ -4242,7 +4322,7 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
|
||||
break;
|
||||
#endif
|
||||
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_ENUM_LABEL_FAVORITES:
|
||||
case MENU_ENUM_LABEL_DEFERRED_ARCHIVE_OPEN_DETECT_CORE:
|
||||
#ifdef HAVE_COMPRESSION
|
||||
if (type == FILE_TYPE_IN_CARCHIVE)
|
||||
@ -4273,7 +4353,7 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
|
||||
break;
|
||||
#endif
|
||||
case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
case MENU_LABEL_DETECT_CORE_LIST:
|
||||
case MENU_LABEL_FAVORITES:
|
||||
case MENU_LABEL_DEFERRED_ARCHIVE_OPEN_DETECT_CORE:
|
||||
#ifdef HAVE_COMPRESSION
|
||||
if (type == FILE_TYPE_IN_CARCHIVE)
|
||||
@ -4306,6 +4386,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
|
||||
/* TODO/FIXME - handle scan case */
|
||||
BIND_ACTION_OK(cbs, action_ok_file_load_imageviewer);
|
||||
break;
|
||||
case FILE_TYPE_DIRECT_LOAD:
|
||||
BIND_ACTION_OK(cbs, action_ok_file_load);
|
||||
break;
|
||||
case MENU_SETTINGS:
|
||||
case MENU_SETTING_GROUP:
|
||||
case MENU_SETTING_SUBGROUP:
|
||||
|
@ -229,7 +229,7 @@ default_title_generic_macro(action_get_title_list_rdb_entry_database_info,MENU_E
|
||||
static int action_get_title_default(const char *path, const char *label,
|
||||
unsigned menu_type, char *s, size_t len)
|
||||
{
|
||||
snprintf(s, len, "%s %s", msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT), path);
|
||||
snprintf(s, len, "%s %s", "Select File", path);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -664,6 +664,7 @@ static void mui_render_label_value(mui_handle_t *mui,
|
||||
case FILE_TYPE_COMPRESSED:
|
||||
case FILE_TYPE_MORE:
|
||||
case FILE_TYPE_CORE:
|
||||
case FILE_TYPE_DIRECT_LOAD:
|
||||
case FILE_TYPE_RDB:
|
||||
case FILE_TYPE_CURSOR:
|
||||
case FILE_TYPE_PLAIN:
|
||||
@ -1673,21 +1674,16 @@ static int mui_list_push(void *data, void *userdata,
|
||||
{
|
||||
case DISPLAYLIST_LOAD_CONTENT_LIST:
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT),
|
||||
MENU_ENUM_LABEL_LOAD_CONTENT,
|
||||
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);
|
||||
|
||||
core_info_get_list(&list);
|
||||
if (core_info_list_num_info_files(list))
|
||||
{
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST),
|
||||
MENU_ENUM_LABEL_DETECT_CORE_LIST,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
|
||||
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),
|
||||
|
@ -1867,6 +1867,11 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
|
||||
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE:
|
||||
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_GAME:
|
||||
return xmb->textures.list[XMB_TEXTURE_SAVESTATE];
|
||||
case MENU_ENUM_LABEL_FAVORITES:
|
||||
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
|
||||
return xmb->textures.list[XMB_TEXTURE_FOLDER];
|
||||
case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR:
|
||||
return xmb->textures.list[XMB_TEXTURE_RDB];
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -1908,6 +1913,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
|
||||
case FILE_TYPE_MOVIE:
|
||||
return xmb->textures.list[XMB_TEXTURE_MOVIE];
|
||||
case FILE_TYPE_CORE:
|
||||
case FILE_TYPE_DIRECT_LOAD:
|
||||
return xmb->textures.list[XMB_TEXTURE_CORE];
|
||||
case FILE_TYPE_RDB:
|
||||
return xmb->textures.list[XMB_TEXTURE_RDB];
|
||||
@ -2126,6 +2132,7 @@ static void xmb_draw_items(xmb_handle_t *xmb,
|
||||
case FILE_TYPE_COMPRESSED:
|
||||
case FILE_TYPE_MORE:
|
||||
case FILE_TYPE_CORE:
|
||||
case FILE_TYPE_DIRECT_LOAD:
|
||||
case FILE_TYPE_RDB:
|
||||
case FILE_TYPE_CURSOR:
|
||||
case FILE_TYPE_PLAIN:
|
||||
|
@ -76,6 +76,11 @@
|
||||
#include "../wifi/wifi_driver.h"
|
||||
#include "../tasks/tasks_internal.h"
|
||||
|
||||
static char new_path_entry[4096] = {0};
|
||||
static char new_lbl_entry[4096] = {0};
|
||||
static char new_entry[4096] = {0};
|
||||
enum menu_displaylist_ctl_state new_type = 0;
|
||||
|
||||
#ifdef HAVE_NETWORKING
|
||||
static void print_buf_lines(file_list_t *list, char *buf,
|
||||
const char *label, int buf_size,
|
||||
@ -176,16 +181,20 @@ static void print_buf_lines(file_list_t *list, char *buf,
|
||||
path_remove_extension(core_path);
|
||||
|
||||
last = (char*)strrchr(core_path, '_');
|
||||
|
||||
if (!string_is_empty(last))
|
||||
{
|
||||
if (!string_is_equal(last, "_libretro"))
|
||||
*last = '\0';
|
||||
}
|
||||
|
||||
strlcat(core_path,
|
||||
file_path_str(FILE_PATH_CORE_INFO_EXTENSION),
|
||||
sizeof(core_path));
|
||||
|
||||
if (core_info_get_display_name(
|
||||
if (
|
||||
path_file_exists(core_path)
|
||||
&& core_info_get_display_name(
|
||||
core_path, display_name, sizeof(display_name)))
|
||||
menu_entries_set_alt_at_offset(list, j, display_name);
|
||||
}
|
||||
@ -3197,15 +3206,7 @@ static int menu_displaylist_parse_options_remappings(
|
||||
return 0;
|
||||
}
|
||||
|
||||
enum filebrowser_enums
|
||||
{
|
||||
FILEBROWSER_NONE = 0,
|
||||
FILEBROWSER_SELECT_DIR,
|
||||
FILEBROWSER_SCAN_DIR,
|
||||
FILEBROWSER_SELECT_COLLECTION
|
||||
};
|
||||
|
||||
static unsigned filebrowser_types = 0;
|
||||
unsigned filebrowser_types = 0;
|
||||
|
||||
static int menu_displaylist_parse_playlists(
|
||||
menu_displaylist_info_t *info, bool horizontal)
|
||||
@ -3215,7 +3216,7 @@ static int menu_displaylist_parse_playlists(
|
||||
unsigned items_found = 0;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!*info->path)
|
||||
if (string_is_empty(info->path))
|
||||
{
|
||||
if (frontend_driver_parse_drive_list(info->list) != 0)
|
||||
menu_entries_append_enum(info->list, "/", "",
|
||||
@ -3304,12 +3305,8 @@ static int menu_displaylist_parse_playlists(
|
||||
|
||||
string_list_free(str_list);
|
||||
|
||||
if (items_found == 0)
|
||||
{
|
||||
if (horizontal)
|
||||
return 0;
|
||||
if (items_found == 0 && !horizontal)
|
||||
goto no_playlists;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@ -3333,7 +3330,7 @@ static int menu_displaylist_parse_cores(
|
||||
unsigned items_found = 0;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!*info->path)
|
||||
if (string_is_empty(info->path))
|
||||
{
|
||||
if (frontend_driver_parse_drive_list(info->list) != 0)
|
||||
menu_entries_append_enum(info->list, "/", "",
|
||||
@ -3423,7 +3420,7 @@ static int menu_displaylist_parse_cores(
|
||||
/* Need to preserve slash first time. */
|
||||
path = str_list->elems[i].data;
|
||||
|
||||
if (*info->path)
|
||||
if (!string_is_empty(info->path))
|
||||
path = path_basename(path);
|
||||
|
||||
#ifndef HAVE_DYNAMIC
|
||||
@ -3532,7 +3529,7 @@ static int menu_displaylist_parse_generic(
|
||||
unsigned items_found = 0;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!*info->path)
|
||||
if (string_is_empty(info->path))
|
||||
{
|
||||
if (frontend_driver_parse_drive_list(info->list) != 0)
|
||||
menu_entries_append_enum(info->list, "/", "",
|
||||
@ -3558,7 +3555,7 @@ static int menu_displaylist_parse_generic(
|
||||
true, settings->show_hidden_files, true, false);
|
||||
|
||||
#ifdef HAVE_LIBRETRODB
|
||||
if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR))
|
||||
if (filebrowser_types == FILEBROWSER_SCAN_DIR)
|
||||
menu_entries_prepend(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY),
|
||||
@ -3566,7 +3563,7 @@ static int menu_displaylist_parse_generic(
|
||||
FILE_TYPE_SCAN_DIRECTORY, 0 ,0);
|
||||
#endif
|
||||
|
||||
if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_DIR))
|
||||
if (filebrowser_types == FILEBROWSER_SELECT_DIR)
|
||||
menu_entries_prepend(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_USE_THIS_DIRECTORY),
|
||||
@ -3638,19 +3635,19 @@ static int menu_displaylist_parse_generic(
|
||||
|
||||
if (!is_dir)
|
||||
{
|
||||
if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_DIR))
|
||||
if (filebrowser_types == FILEBROWSER_SELECT_DIR)
|
||||
continue;
|
||||
if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR))
|
||||
if (filebrowser_types == FILEBROWSER_SCAN_DIR)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Need to preserve slash first time. */
|
||||
path = str_list->elems[i].data;
|
||||
|
||||
if (*info->path && !path_is_compressed)
|
||||
if (!string_is_empty(info->path) && !path_is_compressed)
|
||||
path = path_basename(path);
|
||||
|
||||
if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_COLLECTION))
|
||||
if (filebrowser_types == FILEBROWSER_SELECT_COLLECTION)
|
||||
{
|
||||
if (is_dir)
|
||||
file_type = FILE_TYPE_DIRECTORY;
|
||||
@ -3735,9 +3732,9 @@ static int menu_displaylist_parse_generic(
|
||||
}
|
||||
|
||||
/* We don't want to show 'filter by extension' for this. */
|
||||
if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_DIR))
|
||||
if (filebrowser_types == FILEBROWSER_SELECT_DIR)
|
||||
goto end;
|
||||
if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR))
|
||||
if (filebrowser_types == FILEBROWSER_SCAN_DIR)
|
||||
goto end;
|
||||
|
||||
if (!extensions_honored)
|
||||
@ -3874,6 +3871,22 @@ static bool menu_displaylist_push_list_process(menu_displaylist_info_t *info)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!string_is_empty(new_entry))
|
||||
{
|
||||
menu_entries_prepend(info->list,
|
||||
new_path_entry,
|
||||
new_lbl_entry,
|
||||
new_type,
|
||||
FILE_TYPE_CORE, 0, 0);
|
||||
menu_entries_set_alt_at_offset(info->list, 0,
|
||||
new_entry);
|
||||
|
||||
new_type = 0;
|
||||
new_lbl_entry[0] = '\0';
|
||||
new_path_entry[0] = '\0';
|
||||
new_entry[0] = '\0';
|
||||
}
|
||||
|
||||
if (info->need_refresh)
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_REFRESH, info->list);
|
||||
|
||||
@ -3909,8 +3922,7 @@ static bool menu_displaylist_push_internal(
|
||||
}
|
||||
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_MUSIC_TAB)))
|
||||
{
|
||||
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type = 42;
|
||||
strlcpy(info->exts,
|
||||
file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT),
|
||||
@ -3925,7 +3937,7 @@ static bool menu_displaylist_push_internal(
|
||||
}
|
||||
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_TAB)))
|
||||
{
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type = 42;
|
||||
strlcpy(info->exts,
|
||||
file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT),
|
||||
@ -3941,7 +3953,7 @@ static bool menu_displaylist_push_internal(
|
||||
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_IMAGES_TAB)))
|
||||
{
|
||||
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type = 42;
|
||||
strlcpy(info->exts,
|
||||
file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT),
|
||||
@ -3976,7 +3988,7 @@ static bool menu_displaylist_push_internal(
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type = 42;
|
||||
strlcpy(info->exts,
|
||||
file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT),
|
||||
@ -4065,11 +4077,6 @@ static bool menu_displaylist_push(menu_displaylist_ctx_entry_t *entry)
|
||||
return true;
|
||||
}
|
||||
|
||||
void menu_displaylist_reset_filebrowser(void)
|
||||
{
|
||||
BIT32_CLEAR_ALL(filebrowser_types);
|
||||
}
|
||||
|
||||
static void menu_displaylist_parse_playlist_history(
|
||||
menu_handle_t *menu,
|
||||
menu_displaylist_info_t *info,
|
||||
@ -4247,24 +4254,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
break;
|
||||
}
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case DISPLAYLIST_FILE_BROWSER_SCAN_DIR:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
BIT32_SET(filebrowser_types, FILEBROWSER_SCAN_DIR);
|
||||
break;
|
||||
case DISPLAYLIST_FILE_BROWSER_SELECT_DIR:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
BIT32_SET(filebrowser_types, FILEBROWSER_SELECT_DIR);
|
||||
break;
|
||||
case DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
BIT32_SET(filebrowser_types, FILEBROWSER_SELECT_COLLECTION);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case DISPLAYLIST_NONE:
|
||||
@ -5535,20 +5524,21 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
info->need_refresh = true;
|
||||
break;
|
||||
case DISPLAYLIST_LOAD_CONTENT_LIST:
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT),
|
||||
MENU_ENUM_LABEL_LOAD_CONTENT,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
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 (!string_is_empty(settings->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_DETECT_CORE_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST),
|
||||
MENU_ENUM_LABEL_DETECT_CORE_LIST,
|
||||
MENU_SETTING_ACTION, 0, 0);
|
||||
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST),
|
||||
@ -5908,15 +5898,46 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
|
||||
if (cores_names_size == 0)
|
||||
{
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORES_AVAILABLE),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_NO_CORES_AVAILABLE),
|
||||
MENU_ENUM_LABEL_NO_CORES_AVAILABLE,
|
||||
0, 0, 0);
|
||||
info->download_core = true;
|
||||
if (!path_is_empty(RARCH_PATH_CORE))
|
||||
{
|
||||
|
||||
menu_entries_append_enum(info->list,
|
||||
path_get(RARCH_PATH_CORE),
|
||||
path_get(RARCH_PATH_CORE),
|
||||
MENU_ENUM_LABEL_DETECT_CORE_LIST_OK,
|
||||
FILE_TYPE_DIRECT_LOAD,
|
||||
0,
|
||||
0);
|
||||
|
||||
{
|
||||
const char *core_name = NULL;
|
||||
struct retro_system_info *system = NULL;
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SYSTEM_INFO_GET,
|
||||
&system);
|
||||
|
||||
if (system)
|
||||
core_name = system->library_name;
|
||||
|
||||
if (!string_is_empty(core_name))
|
||||
menu_entries_set_alt_at_offset(info->list, 0,
|
||||
core_name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORES_AVAILABLE),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_NO_CORES_AVAILABLE),
|
||||
MENU_ENUM_LABEL_NO_CORES_AVAILABLE,
|
||||
0, 0, 0);
|
||||
info->download_core = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
if (cores_names_size != 0)
|
||||
{
|
||||
unsigned j = 0;
|
||||
struct string_list *cores_paths =
|
||||
string_list_new_special(STRING_LIST_SUPPORTED_CORES_PATHS,
|
||||
(void*)menu->deferred_path,
|
||||
@ -5924,29 +5945,50 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
|
||||
for (i = 0; i < cores_names_size; i++)
|
||||
{
|
||||
switch (type)
|
||||
if ( !path_is_empty(RARCH_PATH_CORE) &&
|
||||
string_is_equal(cores_paths->elems[i].data, path_get(RARCH_PATH_CORE)))
|
||||
{
|
||||
case DISPLAYLIST_CORES_COLLECTION_SUPPORTED:
|
||||
menu_entries_append_enum(info->list, cores_paths->elems[i].data, "",
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,
|
||||
FILE_TYPE_CORE, 0, 0);
|
||||
break;
|
||||
default:
|
||||
menu_entries_append_enum(info->list, cores_paths->elems[i].data,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK),
|
||||
MENU_ENUM_LABEL_DETECT_CORE_LIST_OK,
|
||||
FILE_TYPE_CORE, 0, 0);
|
||||
break;
|
||||
strlcpy(new_path_entry, cores_paths->elems[i].data, sizeof(new_path_entry));
|
||||
snprintf(new_entry, sizeof(new_entry), "Current core (%s)", cores_names->elems[i].data);
|
||||
if (type == DISPLAYLIST_CORES_COLLECTION_SUPPORTED)
|
||||
{
|
||||
new_lbl_entry[0] = '\0';
|
||||
new_type = MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION_CURRENT_CORE;
|
||||
}
|
||||
else
|
||||
{
|
||||
strlcpy(new_lbl_entry, cores_paths->elems[i].data, sizeof(new_lbl_entry));
|
||||
new_type = MENU_ENUM_LABEL_DETECT_CORE_LIST_OK_CURRENT_CORE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DISPLAYLIST_CORES_COLLECTION_SUPPORTED:
|
||||
menu_entries_append_enum(info->list, cores_paths->elems[i].data, "",
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,
|
||||
FILE_TYPE_CORE, 0, 0);
|
||||
break;
|
||||
default:
|
||||
menu_entries_append_enum(info->list, cores_paths->elems[i].data,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK),
|
||||
MENU_ENUM_LABEL_DETECT_CORE_LIST_OK,
|
||||
FILE_TYPE_CORE, 0, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
menu_entries_set_alt_at_offset(info->list, i,
|
||||
cores_names->elems[i].data);
|
||||
menu_entries_set_alt_at_offset(info->list, j,
|
||||
cores_names->elems[i].data);
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
string_list_free(cores_paths);
|
||||
}
|
||||
|
||||
string_list_free(cores_names);
|
||||
|
||||
}
|
||||
break;
|
||||
case DISPLAYLIST_CORE_INFO:
|
||||
@ -6009,7 +6051,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
info->need_push = true;
|
||||
break;
|
||||
case DISPLAYLIST_DATABASES:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_RDB;
|
||||
strlcpy(info->exts,
|
||||
file_path_str(FILE_PATH_RDB_EXTENSION),
|
||||
@ -6048,7 +6090,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
info->need_push = true;
|
||||
break;
|
||||
case DISPLAYLIST_DATABASE_CURSORS:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_CURSOR;
|
||||
strlcpy(info->exts, "dbc", sizeof(info->exts));
|
||||
strlcpy(info->path, settings->directory.cursor, sizeof(info->path));
|
||||
@ -6059,14 +6101,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
|
||||
ext_name[0] = '\0';
|
||||
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
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_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_CONFIG;
|
||||
strlcpy(info->exts, "cfg", sizeof(info->exts));
|
||||
break;
|
||||
@ -6077,7 +6119,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
|
||||
(void)attr;
|
||||
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_SHADER_PRESET;
|
||||
|
||||
#ifdef HAVE_CG
|
||||
@ -6098,7 +6140,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
union string_list_elem_attr attr = {0};
|
||||
struct string_list *str_list = string_list_new();
|
||||
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_SHADER;
|
||||
|
||||
(void)attr;
|
||||
@ -6117,12 +6159,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
}
|
||||
break;
|
||||
case DISPLAYLIST_VIDEO_FILTERS:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_VIDEOFILTER;
|
||||
strlcpy(info->exts, "filt", sizeof(info->exts));
|
||||
break;
|
||||
case DISPLAYLIST_IMAGES:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_IMAGE;
|
||||
{
|
||||
union string_list_elem_attr attr = {0};
|
||||
@ -6146,37 +6188,37 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
}
|
||||
break;
|
||||
case DISPLAYLIST_AUDIO_FILTERS:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_AUDIOFILTER;
|
||||
strlcpy(info->exts, "dsp", sizeof(info->exts));
|
||||
break;
|
||||
case DISPLAYLIST_CHEAT_FILES:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_CHEAT;
|
||||
strlcpy(info->exts, "cht", sizeof(info->exts));
|
||||
break;
|
||||
case DISPLAYLIST_CONTENT_HISTORY:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_PLAIN;
|
||||
strlcpy(info->exts, "lpl", sizeof(info->exts));
|
||||
break;
|
||||
case DISPLAYLIST_FONTS:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_FONT;
|
||||
strlcpy(info->exts, "ttf", sizeof(info->exts));
|
||||
break;
|
||||
case DISPLAYLIST_OVERLAYS:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_OVERLAY;
|
||||
strlcpy(info->exts, "cfg", sizeof(info->exts));
|
||||
break;
|
||||
case DISPLAYLIST_RECORD_CONFIG_FILES:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_RECORD_CONFIG;
|
||||
strlcpy(info->exts, "cfg", sizeof(info->exts));
|
||||
break;
|
||||
case DISPLAYLIST_REMAP_FILES:
|
||||
menu_displaylist_reset_filebrowser();
|
||||
filebrowser_types = FILEBROWSER_NONE;
|
||||
info->type_default = FILE_TYPE_REMAP;
|
||||
strlcpy(info->exts, "rmp", sizeof(info->exts));
|
||||
break;
|
||||
|
@ -159,6 +159,14 @@ enum menu_displaylist_ctl_state
|
||||
DISPLAYLIST_PENDING_CLEAR
|
||||
};
|
||||
|
||||
enum filebrowser_enums
|
||||
{
|
||||
FILEBROWSER_NONE = 0,
|
||||
FILEBROWSER_SELECT_DIR,
|
||||
FILEBROWSER_SCAN_DIR,
|
||||
FILEBROWSER_SELECT_COLLECTION
|
||||
};
|
||||
|
||||
typedef struct menu_displaylist_info
|
||||
{
|
||||
bool need_sort;
|
||||
@ -205,6 +213,8 @@ void menu_displaylist_reset_filebrowser(void);
|
||||
|
||||
bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data);
|
||||
|
||||
extern unsigned filebrowser_types;
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
#endif
|
||||
|
10
msg_hash.h
10
msg_hash.h
@ -125,6 +125,8 @@ enum msg_file_type
|
||||
FILE_TYPE_ISO,
|
||||
FILE_TYPE_LUTRO,
|
||||
|
||||
FILE_TYPE_DIRECT_LOAD,
|
||||
|
||||
FILE_TYPE_LAST
|
||||
};
|
||||
|
||||
@ -672,6 +674,7 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_FONT,
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_RDB,
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION_CURRENT_CORE,
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_CORE_DETECTED,
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_IMAGE,
|
||||
MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER,
|
||||
@ -831,6 +834,7 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST,
|
||||
MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST,
|
||||
|
||||
MENU_LABEL(FILE_DETECT_CORE_LIST_PUSH_DIR),
|
||||
MENU_LABEL(DOWNLOADED_FILE_DETECT_CORE_LIST),
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_SEARCH,
|
||||
@ -1166,10 +1170,10 @@ enum msg_hash_enums
|
||||
MENU_LABEL(DUMMY_ON_CORE_SHUTDOWN),
|
||||
MENU_LABEL(CHECK_FOR_MISSING_FIRMWARE),
|
||||
|
||||
MENU_LABEL(DETECT_CORE_LIST_OK_CURRENT_CORE),
|
||||
MENU_LABEL(DETECT_CORE_LIST_OK),
|
||||
MENU_LABEL(DETECT_CORE_LIST),
|
||||
MENU_LABEL(FAVORITES),
|
||||
MENU_LABEL(START_CORE),
|
||||
MENU_LABEL(LOAD_CONTENT),
|
||||
MENU_LABEL(CORE_UPDATER_LIST),
|
||||
MENU_LABEL(CORE_UPDATER_AUTO_EXTRACT_ARCHIVE),
|
||||
MENU_LABEL(CORE_UPDATER_BUILDBOT_URL),
|
||||
@ -1692,6 +1696,7 @@ enum msg_hash_enums
|
||||
#define MENU_LABEL_RDB_ENTRY_RELEASE_YEAR 0x14c9c6bfU
|
||||
#define MENU_LABEL_RDB_ENTRY_MAX_USERS 0xfae91cc4U
|
||||
|
||||
#define MENU_LABEL_FAVORITES 0x67325138U
|
||||
#define MENU_LABEL_DETECT_CORE_LIST 0xaa07c341U
|
||||
#define MENU_LABEL_DETECT_CORE_LIST_OK 0xabba2a7aU
|
||||
#define MENU_LABEL_CORE_LIST 0xa22bb14dU
|
||||
@ -1749,7 +1754,6 @@ enum msg_hash_enums
|
||||
#define MENU_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING 0xd44d395cU
|
||||
|
||||
/* Main menu */
|
||||
#define MENU_LABEL_LOAD_CONTENT 0x828943c3U
|
||||
#define MENU_LABEL_LOAD_CONTENT_LIST 0x5745de1fU
|
||||
#define MENU_LABEL_LOAD_CONTENT_HISTORY 0xfe1d79e5U
|
||||
#define MENU_LABEL_ADD_CONTENT_LIST 0x046f4668U
|
||||
|
Loading…
Reference in New Issue
Block a user