diff --git a/config.def.h b/config.def.h index 41d9fe220d..663b0e684a 100644 --- a/config.def.h +++ b/config.def.h @@ -747,7 +747,9 @@ static const unsigned playlist_show_inline_core_name = PLAYLIST_INLINE_CORE_DISP static const unsigned playlist_sublabel_runtime_type = PLAYLIST_RUNTIME_PER_CORE; #endif -static const bool playlist_show_sublabels = false; +static const bool scan_without_core_match = true; + +static const bool playlist_show_sublabels = false; static const bool playlist_fuzzy_archive_match = false; diff --git a/configuration.c b/configuration.c index e3a021ab87..bad7630951 100644 --- a/configuration.c +++ b/configuration.c @@ -1571,6 +1571,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings, SETTING_BOOL("auto_overrides_enable", &settings->bools.auto_overrides_enable, true, default_auto_overrides_enable, false); SETTING_BOOL("auto_remaps_enable", &settings->bools.auto_remaps_enable, true, default_auto_remaps_enable, false); SETTING_BOOL("auto_shaders_enable", &settings->bools.auto_shaders_enable, true, default_auto_shaders_enable, false); + SETTING_BOOL("scan_without_core_match", &settings->bools.scan_without_core_match, true, true, false); SETTING_BOOL("sort_savefiles_enable", &settings->bools.sort_savefiles_enable, true, default_sort_savefiles_enable, false); SETTING_BOOL("sort_savestates_enable", &settings->bools.sort_savestates_enable, true, default_sort_savestates_enable, false); SETTING_BOOL("config_save_on_exit", &settings->bools.config_save_on_exit, true, config_save_on_exit, false); diff --git a/configuration.h b/configuration.h index efdff0f064..8ed427aa3b 100644 --- a/configuration.h +++ b/configuration.h @@ -328,6 +328,8 @@ typedef struct settings bool log_to_file; bool log_to_file_timestamp; + + bool scan_without_core_match; } bools; struct diff --git a/intl/msg_hash_ar.h b/intl/msg_hash_ar.h index 4a042de49b..e8317a0ca0 100644 --- a/intl/msg_hash_ar.h +++ b/intl/msg_hash_ar.h @@ -3752,3 +3752,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 6682fe45bd..75c0f6a01f 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -4766,3 +4766,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index 06fb1817f8..3e3c26e14d 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -3524,3 +3524,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 2126f09721..1d477c4eb1 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -3653,3 +3653,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_el.h b/intl/msg_hash_el.h index d20c94b80c..38e8092a81 100644 --- a/intl/msg_hash_el.h +++ b/intl/msg_hash_el.h @@ -7730,3 +7730,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index 22e63abe04..234231f174 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -3412,3 +3412,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index af6f938ba3..ff429a84aa 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -7882,3 +7882,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 22c66d7ce9..e32cde2408 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -8659,3 +8659,7 @@ MSG_HASH( ) MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index 575022ac0e..0fd9d0e72b 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -3637,3 +3637,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index ca192149ae..7d8942672b 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -4206,3 +4206,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 71fda9331b..62bbf43ad8 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -3505,3 +3505,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index b27dcee1b2..a36169db3a 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1843,3 +1843,5 @@ MSG_HASH(MENU_ENUM_LABEL_MENU_WIDGETS_ENABLE, "menu_widgets_enable") MSG_HASH(MENU_ENUM_LABEL_VIDEO_SHADERS_ENABLE, "video_shader_enable") +MSG_HASH(MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH, + "scan_without_core_match") diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index 4d52096fe4..2dfb7ba4f0 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -3406,3 +3406,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_pl.h b/intl/msg_hash_pl.h index 24b24eda79..1ab3867206 100644 --- a/intl/msg_hash_pl.h +++ b/intl/msg_hash_pl.h @@ -3802,3 +3802,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu widgetów") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index 54883db09d..c3ee1c7497 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -8034,3 +8034,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index 248753b37d..2ec203fee1 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -3478,3 +3478,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index e31e40c480..f11740555c 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -3681,3 +3681,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_tr.h b/intl/msg_hash_tr.h index b48dd114c1..018be7982c 100644 --- a/intl/msg_hash_tr.h +++ b/intl/msg_hash_tr.h @@ -8550,3 +8550,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 8e4a37c750..207203c89b 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -8665,3 +8665,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index b7cfa2a2e3..50f5a0d39a 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -3568,3 +3568,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE, "Menu Widgets") MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE, "Video Shaders") +MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + "Scan without core match") +MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, + "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index cbe90d3a86..49eabd60ea 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -543,6 +543,7 @@ default_sublabel_macro(action_bind_sublabel_menu_rgui_thumbnail_downscaler, default_sublabel_macro(action_bind_sublabel_menu_rgui_thumbnail_delay, MENU_ENUM_SUBLABEL_MENU_RGUI_THUMBNAIL_DELAY) default_sublabel_macro(action_bind_sublabel_content_runtime_log, MENU_ENUM_SUBLABEL_CONTENT_RUNTIME_LOG) default_sublabel_macro(action_bind_sublabel_content_runtime_log_aggregate, MENU_ENUM_SUBLABEL_CONTENT_RUNTIME_LOG_AGGREGATE) +default_sublabel_macro(action_bind_sublabel_scan_without_core_match, MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH) default_sublabel_macro(action_bind_sublabel_playlist_sublabel_runtime_type, MENU_ENUM_SUBLABEL_PLAYLIST_SUBLABEL_RUNTIME_TYPE) default_sublabel_macro(action_bind_sublabel_menu_rgui_internal_upscale_level, MENU_ENUM_SUBLABEL_MENU_RGUI_INTERNAL_UPSCALE_LEVEL) default_sublabel_macro(action_bind_sublabel_menu_rgui_aspect_ratio, MENU_ENUM_SUBLABEL_MENU_RGUI_ASPECT_RATIO) @@ -2475,6 +2476,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_content_runtime_log); break; + case MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_scan_without_core_match); + break; case MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG_AGGREGATE: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_content_runtime_log_aggregate); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index b207ce27a5..b3425135aa 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5479,6 +5479,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, {MENU_ENUM_LABEL_PLAYLIST_SHOW_SUBLABELS, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_PLAYLIST_SUBLABEL_RUNTIME_TYPE, PARSE_ONLY_UINT}, {MENU_ENUM_LABEL_PLAYLIST_FUZZY_ARCHIVE_MATCH, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH, PARSE_ONLY_BOOL}, }; for (i = 0; i < ARRAY_SIZE(build_list); i++) diff --git a/menu/menu_setting.c b/menu/menu_setting.c index e4efb6b170..65ab26fb80 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -7562,6 +7562,21 @@ static bool setting_append_list( general_read_handler, SD_FLAG_NONE); + CONFIG_BOOL( + list, list_info, + &settings->bools.scan_without_core_match, + MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH, + MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, + scan_without_core_match, + MENU_ENUM_LABEL_VALUE_OFF, + MENU_ENUM_LABEL_VALUE_ON, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_NONE); + END_SUB_GROUP(list, list_info, parent_group); END_GROUP(list, list_info, parent_group); } diff --git a/msg_hash.h b/msg_hash.h index d8eee570dd..71c3a63ec5 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -435,6 +435,7 @@ enum msg_hash_enums MSG_RUNAHEAD_FAILED_TO_CREATE_SECONDARY_INSTANCE, MSG_MISSING_ASSETS, + MENU_LABEL(SCAN_WITHOUT_CORE_MATCH), MENU_LABEL(STREAMING_TITLE), MENU_LABEL(STREAMING_MODE), MENU_LABEL(VIDEO_RECORD_QUALITY), diff --git a/tasks/task_database.c b/tasks/task_database.c index f3345b6054..3b3a053503 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -36,6 +36,7 @@ #include "../msg_hash.h" #include "../playlist.h" #ifdef RARCH_INTERNAL +#include "../configuration.h" #include "../retroarch.h" #endif #include "../verbosity.h" @@ -61,6 +62,7 @@ typedef struct db_handle { bool is_directory; bool scan_started; + bool scan_without_core_match; bool show_hidden_files; unsigned status; char *playlist_directory; @@ -940,13 +942,19 @@ static int task_database_iterate_crc_lookup( query[0] = '\0'; - /* don't scan files that can't be in this database */ - if (!(path_contains_compressed_file(name) && - core_info_database_match_archive_member( - db_state->list->elems[db_state->list_index].data)) && - !core_info_database_supports_content_path( - db_state->list->elems[db_state->list_index].data, name)) - return database_info_list_iterate_next(db_state); + if (!_db->scan_without_core_match) + { + /* don't scan files that can't be in this database. + * + * Could be because of: + * A matching core missing */ + if (!(path_contains_compressed_file(name) && + core_info_database_match_archive_member( + db_state->list->elems[db_state->list_index].data)) && + !core_info_database_supports_content_path( + db_state->list->elems[db_state->list_index].data, name)) + return database_info_list_iterate_next(db_state); + } snprintf(query, sizeof(query), "{crc:or(b\"%08X\",b\"%08X\")}", @@ -1359,6 +1367,9 @@ bool task_push_dbscan( retro_task_callback_t cb) { retro_task_t *t = task_init(); +#ifdef RARCH_INTERNAL + settings_t *settings = config_get_ptr(); +#endif db_handle_t *db = (db_handle_t*)calloc(1, sizeof(db_handle_t)); if (!t || !db) @@ -1370,6 +1381,9 @@ bool task_push_dbscan( t->title = strdup(msg_hash_to_str(MSG_PREPARING_FOR_CONTENT_SCAN)); t->alternative_look = true; +#ifdef RARCH_INTERNAL + db->scan_without_core_match = settings->bools.scan_without_core_match; +#endif db->show_hidden_files = db_dir_show_hidden_files; db->is_directory = directory; db->playlist_directory = NULL;