Merge pull request #6421 from fr500/master

subsystem part 5: show subsystem roms within archives
This commit is contained in:
Andrés 2018-03-19 19:28:05 -05:00 committed by GitHub
commit 8e3fb86115
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -65,6 +65,8 @@ void filebrowser_parse(void *data, unsigned type_data)
unsigned files_count = 0;
unsigned dirs_count = 0;
settings_t *settings = config_get_ptr();
rarch_system_info_t *system = runloop_get_system_info();
const struct retro_subsystem_info* subsystem = NULL;
menu_displaylist_info_t *info = (menu_displaylist_info_t*)data;
enum menu_displaylist_ctl_state type = (enum menu_displaylist_ctl_state)
type_data;
@ -79,16 +81,25 @@ void filebrowser_parse(void *data, unsigned type_data)
filter_ext = false;
if (info && path_is_compressed)
str_list = file_archive_get_file_list(path, info->exts);
{
if (filebrowser_types != FILEBROWSER_SELECT_FILE_SUBSYSTEM)
str_list = file_archive_get_file_list(path, info->exts);
else
{
subsystem = system->subsystem.data + content_get_subsystem();
str_list = file_archive_get_file_list(path, subsystem->roms[content_get_subsystem_rom_id()].valid_extensions);
}
}
else if (!string_is_empty(path) && filebrowser_types != FILEBROWSER_SELECT_FILE_SUBSYSTEM)
{
str_list = dir_list_new(path,
(filter_ext && info) ? info->exts : NULL,
true, settings->bools.show_hidden_files, true, false);
}
else if (!string_is_empty(path) && filebrowser_types == FILEBROWSER_SELECT_FILE_SUBSYSTEM)
{
rarch_system_info_t *system = runloop_get_system_info();
const struct retro_subsystem_info* subsystem = NULL;
subsystem = system->subsystem.data + content_get_subsystem();
if (subsystem && content_get_subsystem_rom_id() < subsystem->num_roms)
{
str_list = dir_list_new(path,