From a6ae965b98be1db962631f0af848b6a84ff41452 Mon Sep 17 00:00:00 2001 From: sonninnos <45124675+sonninnos@users.noreply.github.com> Date: Mon, 1 Dec 2025 23:36:55 +0200 Subject: [PATCH] Remove missing firmware check option (#18470) --- config.def.h | 1 - configuration.c | 1 - configuration.h | 1 - core_info.c | 10 +-- core_info.h | 3 +- intl/msg_hash_us.c | 3 - menu/cbs/menu_cbs_sublabel.c | 4 -- menu/menu_displaylist.c | 9 +-- menu/menu_setting.c | 8 --- msg_hash.h | 2 +- retroarch.cfg | 3 - runloop.h | 1 - tasks/task_content.c | 132 +++++------------------------------ ui/drivers/ui_qt.cpp | 9 +-- 14 files changed, 25 insertions(+), 162 deletions(-) diff --git a/config.def.h b/config.def.h index a2f36dab48..3976a23c1b 100644 --- a/config.def.h +++ b/config.def.h @@ -334,7 +334,6 @@ #else #define DEFAULT_LOAD_DUMMY_ON_CORE_SHUTDOWN true #endif -#define DEFAULT_CHECK_FIRMWARE_BEFORE_LOADING false /* Specifies whether cores are allowed to * present core options in category submenus */ diff --git a/configuration.c b/configuration.c index 0ec2ee4c68..33ad6e9a3c 100644 --- a/configuration.c +++ b/configuration.c @@ -1744,7 +1744,6 @@ static struct config_bool_setting *populate_settings_bool( SETTING_BOOL("input_descriptor_label_show", &settings->bools.input_descriptor_label_show, true, DEFAULT_INPUT_DESCRIPTOR_LABEL_SHOW, false); SETTING_BOOL("input_descriptor_hide_unbound", &settings->bools.input_descriptor_hide_unbound, true, DEFAULT_INPUT_DESCRIPTOR_HIDE_UNBOUND, false); SETTING_BOOL("load_dummy_on_core_shutdown", &settings->bools.load_dummy_on_core_shutdown, true, DEFAULT_LOAD_DUMMY_ON_CORE_SHUTDOWN, false); - SETTING_BOOL("check_firmware_before_loading", &settings->bools.check_firmware_before_loading, true, DEFAULT_CHECK_FIRMWARE_BEFORE_LOADING, false); SETTING_BOOL("core_option_category_enable", &settings->bools.core_option_category_enable, true, DEFAULT_CORE_OPTION_CATEGORY_ENABLE, false); SETTING_BOOL("core_info_savestate_bypass", &settings->bools.core_info_savestate_bypass, true, DEFAULT_CORE_INFO_SAVESTATE_BYPASS, false); #if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP diff --git a/configuration.h b/configuration.h index 81b30e894a..4a9a820c5a 100644 --- a/configuration.h +++ b/configuration.h @@ -1042,7 +1042,6 @@ typedef struct settings bool network_remote_enable; bool network_remote_enable_user[MAX_USERS]; bool load_dummy_on_core_shutdown; - bool check_firmware_before_loading; bool core_option_category_enable; bool core_info_cache_enable; bool core_info_savestate_bypass; diff --git a/core_info.c b/core_info.c index 4f3871c138..760cddaf56 100644 --- a/core_info.c +++ b/core_info.c @@ -2263,8 +2263,7 @@ static int core_info_qsort_cmp(const void *a_, const void *b_) static bool core_info_list_update_missing_firmware_internal( core_info_list_t *core_info_list, const char *core_path, - const char *systemdir, - bool *set_missing_bios) + const char *systemdir) { size_t i; char path[PATH_MAX_LENGTH]; @@ -2285,8 +2284,6 @@ static bool core_info_list_update_missing_firmware_internal( fill_pathname_join(path, systemdir, info->firmware[i].path, sizeof(path)); info->firmware[i].missing = !path_is_valid(path); - if (info->firmware[i].missing && !info->firmware[i].optional) - *set_missing_bios = true; } return true; @@ -2404,14 +2401,13 @@ size_t core_info_count(void) } bool core_info_list_update_missing_firmware( - core_info_ctx_firmware_t *info, bool *set_missing_bios) + core_info_ctx_firmware_t *info) { core_info_state_t *p_coreinfo = &core_info_st; if (info) return core_info_list_update_missing_firmware_internal( p_coreinfo->curr_list, - info->path, info->directory.system, - set_missing_bios); + info->path, info->directory.system); return false; } diff --git a/core_info.h b/core_info.h index 6a5f6422d9..a43ebedd00 100644 --- a/core_info.h +++ b/core_info.h @@ -185,8 +185,7 @@ bool core_info_get_list(core_info_list_t **core); /* Returns number of installed cores */ size_t core_info_count(void); -bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info, - bool *set_missing_bios); +bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info); bool core_info_find(const char *core_path, core_info_t **core_info); diff --git a/intl/msg_hash_us.c b/intl/msg_hash_us.c index 9257b65c7f..a9ffba2014 100644 --- a/intl/msg_hash_us.c +++ b/intl/msg_hash_us.c @@ -85,9 +85,6 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len) case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN: strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_DUMMY_ON_CORE_SHUTDOWN), len); break; - case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE: - strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_CHECK_FOR_MISSING_FIRMWARE), len); - break; case MENU_ENUM_LABEL_CORE_INFO_SAVESTATE_BYPASS: strlcpy(s, msg_hash_to_str(MENU_ENUM_SUBLABEL_CORE_INFO_SAVESTATE_BYPASS), len); break; diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index ea695f86c2..a0c73d7804 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -592,7 +592,6 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_vertical_sync, MENU_ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_adaptive_vsync, MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_allow_rotate, MENU_ENUM_SUBLABEL_VIDEO_ALLOW_ROTATE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_dummy_on_core_shutdown, MENU_ENUM_SUBLABEL_DUMMY_ON_CORE_SHUTDOWN) -DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_dummy_check_missing_firmware, MENU_ENUM_SUBLABEL_CHECK_FOR_MISSING_FIRMWARE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_option_category_enable, MENU_ENUM_SUBLABEL_CORE_OPTION_CATEGORY_ENABLE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_info_cache_enable, MENU_ENUM_SUBLABEL_CORE_INFO_CACHE_ENABLE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_info_savestate_bypass, MENU_ENUM_SUBLABEL_CORE_INFO_SAVESTATE_BYPASS) @@ -4712,9 +4711,6 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_dummy_on_core_shutdown); break; - case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE: - BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_dummy_check_missing_firmware); - break; case MENU_ENUM_LABEL_CORE_OPTION_CATEGORY_ENABLE: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_core_option_category_enable); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 3bc7824a6a..526fadd34f 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -815,7 +815,6 @@ static int menu_displaylist_parse_core_info( core_info_ctx_firmware_t firmware_info; uint8_t flags = content_get_flags(); bool update_missing_firmware = false; - bool set_missing_firmware = false; bool systemfiles_in_content_dir = settings->bools.systemfiles_in_content_dir; bool content_is_inited = flags & CONTENT_ST_FLAG_IS_INITED; @@ -847,12 +846,7 @@ static int menu_displaylist_parse_core_info( else firmware_info.directory.system = settings->paths.directory_system; - update_missing_firmware = core_info_list_update_missing_firmware(&firmware_info, &set_missing_firmware); - - if (set_missing_firmware) - runloop_st->missing_bios = true; - else - runloop_st->missing_bios = false; + update_missing_firmware = core_info_list_update_missing_firmware(&firmware_info); if (update_missing_firmware) { @@ -11543,7 +11537,6 @@ unsigned menu_displaylist_build_list( static const menu_displaylist_build_info_t build_list[] = { {MENU_ENUM_LABEL_CORE_INFO_CACHE_ENABLE, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_CORE_INFO_SAVESTATE_BYPASS, PARSE_ONLY_BOOL}, - {MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_SYSTEMFILES_IN_CONTENT_DIR_ENABLE, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_CORE_OPTION_CATEGORY_ENABLE, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_DRIVER_SWITCH_ENABLE, PARSE_ONLY_BOOL}, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 05e2ac522f..08bcf1841f 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -11067,14 +11067,6 @@ static bool setting_append_list( bool_entries[listing].flags |= SD_FLAG_DEFAULT_VALUE; listing++; - bool_entries[listing].target = &settings->bools.check_firmware_before_loading; - bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE; - bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_CHECK_FOR_MISSING_FIRMWARE; - bool_entries[listing].flags = SD_FLAG_ADVANCED; - if (DEFAULT_CHECK_FIRMWARE_BEFORE_LOADING) - bool_entries[listing].flags |= SD_FLAG_DEFAULT_VALUE; - listing++; - bool_entries[listing].target = &settings->bools.systemfiles_in_content_dir; bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_SYSTEMFILES_IN_CONTENT_DIR_ENABLE; bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_SYSTEMFILES_IN_CONTENT_DIR_ENABLE; diff --git a/msg_hash.h b/msg_hash.h index 25a14235e3..f3d60c5c8b 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -3017,7 +3017,7 @@ enum msg_hash_enums MENU_LABEL(NETWORK_USER_REMOTE_ENABLE), MENU_LBL_H(DUMMY_ON_CORE_SHUTDOWN), - MENU_LBL_H(CHECK_FOR_MISSING_FIRMWARE), + MENU_LBL_H(CHECK_FOR_MISSING_FIRMWARE), /* Deprecated */ MENU_LABEL(CORE_INFO_SAVESTATE_BYPASS), MENU_LABEL(CORE_OPTION_CATEGORY_ENABLE), MENU_LABEL(CORE_INFO_CACHE_ENABLE), diff --git a/retroarch.cfg b/retroarch.cfg index 7a9ac73fc3..338b12a39e 100644 --- a/retroarch.cfg +++ b/retroarch.cfg @@ -751,9 +751,6 @@ # Prevent libretro cores from closing RetroArch on exit by loading a dummy core. # load_dummy_on_core_shutdown = "true" -# Check for firmware requirement(s) before loading a content. -# check_firmware_before_loading = "false" - #### User Interface # Start UI companion driver's interface on boot (if available). diff --git a/runloop.h b/runloop.h index e9c72b72dc..24996c5648 100644 --- a/runloop.h +++ b/runloop.h @@ -299,7 +299,6 @@ struct runloop char label [PATH_MAX_LENGTH*2]; } name; - bool missing_bios; bool perfcnt_enable; }; diff --git a/tasks/task_content.c b/tasks/task_content.c index 5c0e91f0be..cb7acb2d7c 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -119,13 +119,11 @@ enum content_information_flags CONTENT_INFO_FLAG_BLOCK_EXTRACT = (1 << 0), CONTENT_INFO_FLAG_NEED_FULLPATH = (1 << 1), CONTENT_INFO_FLAG_SET_SUPPORTS_NO_GAME_ENABLE = (1 << 2), - CONTENT_INFO_FLAG_IS_IPS_PREF = (1 << 3), - CONTENT_INFO_FLAG_IS_BPS_PREF = (1 << 4), - CONTENT_INFO_FLAG_IS_UPS_PREF = (1 << 5), - CONTENT_INFO_FLAG_PATCH_IS_BLOCKED = (1 << 6), - CONTENT_INFO_FLAG_BIOS_IS_MISSING = (1 << 7), - CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING = (1 << 8), - CONTENT_INFO_FLAG_IS_XDELTA_PREF = (1 << 9) + CONTENT_INFO_FLAG_PATCH_IS_BLOCKED = (1 << 3), + CONTENT_INFO_FLAG_IS_IPS_PREF = (1 << 4), + CONTENT_INFO_FLAG_IS_BPS_PREF = (1 << 5), + CONTENT_INFO_FLAG_IS_UPS_PREF = (1 << 6), + CONTENT_INFO_FLAG_IS_XDELTA_PREF = (1 << 7) }; struct content_information_ctx @@ -1849,59 +1847,6 @@ static bool command_event_cmd_exec( } #endif -static bool firmware_update_status( - content_information_ctx_t *content_ctx) -{ - char s[PATH_MAX_LENGTH]; - core_info_ctx_firmware_t firmware_info; - bool set_missing_firmware = false; - core_info_t *core_info = NULL; - runloop_state_t *runloop_st = runloop_state_get_ptr(); - - core_info_get_current_core(&core_info); - - if (!core_info) - return false; - - s[0] = '\0'; - firmware_info.path = core_info->path; - - if (!string_is_empty(content_ctx->directory_system)) - firmware_info.directory.system = content_ctx->directory_system; - else - { - strlcpy(s, path_get(RARCH_PATH_CONTENT), sizeof(s)); - path_basedir_wrapper(s); - firmware_info.directory.system = s; - } - - RARCH_LOG("[Content] Updating firmware status for: \"%s\" on \"%s\".\n", - core_info->path, - firmware_info.directory.system); - - core_info_list_update_missing_firmware(&firmware_info, - &set_missing_firmware); - - if (set_missing_firmware) - runloop_st->missing_bios = true; - else - runloop_st->missing_bios = false; - - if ( - (content_ctx->flags & CONTENT_INFO_FLAG_BIOS_IS_MISSING) - && (content_ctx->flags & CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING)) - { - const char *_msg = msg_hash_to_str(MSG_FIRMWARE); - runloop_msg_queue_push(_msg, strlen(_msg), 100, 500, true, NULL, - MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); - RARCH_LOG("[Content] Load content blocked. Reason: %s\n", _msg); - - return true; - } - - return false; -} - bool task_push_start_dummy_core(content_ctx_info_t *content_info) { content_information_ctx_t content_ctx; @@ -1911,7 +1856,6 @@ bool task_push_start_dummy_core(content_ctx_info_t *content_info) runloop_state_t *runloop_st = runloop_state_get_ptr(); rarch_system_info_t *sys_info = &runloop_st->system; const char *path_dir_system = settings->paths.directory_system; - bool check_firmware_before_loading = settings->bools.check_firmware_before_loading; #ifdef HAVE_PATCH uint32_t rarch_flags = retroarch_get_flags(); #endif @@ -1919,10 +1863,8 @@ bool task_push_start_dummy_core(content_ctx_info_t *content_info) if (!content_info) return false; - content_ctx.flags = 0; + content_ctx.flags = 0; - if (check_firmware_before_loading) - content_ctx.flags |= CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING; #ifdef HAVE_PATCH if (rarch_flags & RARCH_FLAGS_IPS_PREF) content_ctx.flags |= CONTENT_INFO_FLAG_IS_IPS_PREF; @@ -1937,8 +1879,7 @@ bool task_push_start_dummy_core(content_ctx_info_t *content_info) if (runloop_st->flags & RUNLOOP_FLAG_PATCH_BLOCKED) content_ctx.flags |= CONTENT_INFO_FLAG_PATCH_IS_BLOCKED; #endif - if (runloop_st->missing_bios) - content_ctx.flags |= CONTENT_INFO_FLAG_BIOS_IS_MISSING; + content_ctx.directory_system = NULL; content_ctx.directory_cache = NULL; content_ctx.name_ips = NULL; @@ -1963,7 +1904,7 @@ bool task_push_start_dummy_core(content_ctx_info_t *content_info) content_ctx.directory_system = strdup(path_dir_system); if (!content_info->environ_get) - content_info->environ_get = menu_content_environment_get; + content_info->environ_get = menu_content_environment_get; /* Clear content path */ path_clear(RARCH_PATH_CONTENT); @@ -2012,15 +1953,12 @@ bool task_push_load_content_from_playlist_from_menu( #ifndef HAVE_DYNAMIC bool force_core_reload = settings->bools.always_reload_core_on_run_content; #endif - bool check_firmware_before_loading = settings->bools.check_firmware_before_loading; #ifdef HAVE_PATCH uint32_t rarch_flags = retroarch_get_flags(); #endif - content_ctx.flags = 0; + content_ctx.flags = 0; - if (check_firmware_before_loading) - content_ctx.flags |= CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING; #ifdef HAVE_PATCH if (rarch_flags & RARCH_FLAGS_IPS_PREF) content_ctx.flags |= CONTENT_INFO_FLAG_IS_IPS_PREF; @@ -2035,8 +1973,7 @@ bool task_push_load_content_from_playlist_from_menu( if (runloop_st->flags & RUNLOOP_FLAG_PATCH_BLOCKED) content_ctx.flags |= CONTENT_INFO_FLAG_PATCH_IS_BLOCKED; #endif - if (runloop_st->missing_bios) - content_ctx.flags |= CONTENT_INFO_FLAG_BIOS_IS_MISSING; + content_ctx.directory_system = NULL; content_ctx.directory_cache = NULL; content_ctx.name_ips = NULL; @@ -2155,15 +2092,12 @@ bool task_push_start_current_core(content_ctx_info_t *content_info) settings_t *settings = config_get_ptr(); runloop_state_t *runloop_st = runloop_state_get_ptr(); const char *path_dir_system = settings->paths.directory_system; - bool check_firmware_before_loading = settings->bools.check_firmware_before_loading; if (!content_info) return false; content_ctx.flags = 0; - if (check_firmware_before_loading) - content_ctx.flags |= CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING; #ifdef HAVE_PATCH { uint32_t rarch_flags = retroarch_get_flags(); @@ -2181,8 +2115,7 @@ bool task_push_start_current_core(content_ctx_info_t *content_info) content_ctx.flags |= CONTENT_INFO_FLAG_PATCH_IS_BLOCKED; } #endif - if (runloop_st->missing_bios) - content_ctx.flags |= CONTENT_INFO_FLAG_BIOS_IS_MISSING; + content_ctx.directory_system = NULL; content_ctx.directory_cache = NULL; content_ctx.name_ips = NULL; @@ -2204,10 +2137,10 @@ bool task_push_start_current_core(content_ctx_info_t *content_info) content_ctx.name_xdelta = strdup(runloop_st->name.xdelta); if (!string_is_empty(path_dir_system)) - content_ctx.directory_system = strdup(path_dir_system); + content_ctx.directory_system = strdup(path_dir_system); if (!content_info->environ_get) - content_info->environ_get = menu_content_environment_get; + content_info->environ_get = menu_content_environment_get; /* Clear content path */ path_clear(RARCH_PATH_CONTENT); @@ -2216,10 +2149,6 @@ bool task_push_start_current_core(content_ctx_info_t *content_info) * load the actual content. Can differ per mode. */ runloop_set_current_core_type(CORE_TYPE_PLAIN, true); - /* Load content */ - if (firmware_update_status(&content_ctx)) - goto end; - /* Loads content into currently selected core. * Note that 'content_load()' can fail and yet still * return 'true'... In this case, the dummy core @@ -2301,7 +2230,6 @@ bool task_push_load_contentless_core_from_menu( runloop_state_t *runloop_st = runloop_state_get_ptr(); settings_t *settings = config_get_ptr(); const char *path_dir_system = settings->paths.directory_system; - bool check_firmware_before_loading = settings->bools.check_firmware_before_loading; bool flush_menu = true; const char *menu_label = NULL; @@ -2310,10 +2238,6 @@ bool task_push_load_contentless_core_from_menu( content_ctx.flags = 0; - if (check_firmware_before_loading) - content_ctx.flags |= CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING; - if (runloop_st->missing_bios) - content_ctx.flags |= CONTENT_INFO_FLAG_BIOS_IS_MISSING; if (!string_is_empty(path_dir_system)) content_ctx.directory_system = strdup(path_dir_system); @@ -2325,14 +2249,11 @@ bool task_push_load_contentless_core_from_menu( #if defined(HAVE_DYNAMIC) content_info.environ_get = menu_content_environment_get; + /* Load core */ command_event(CMD_EVENT_LOAD_CORE, NULL); - runloop_set_current_core_type(CORE_TYPE_PLAIN, true); - if (firmware_update_status(&content_ctx)) - goto end; - /* Loads content into currently selected core. * Note that 'content_load()' can fail and yet still * return 'true'... In this case, the dummy core @@ -2392,7 +2313,6 @@ bool task_push_load_content_with_new_core_from_menu( bool ret = true; settings_t *settings = config_get_ptr(); runloop_state_t *runloop_st = runloop_state_get_ptr(); - bool check_firmware_before_loading = settings->bools.check_firmware_before_loading; const char *path_dir_system = settings->paths.directory_system; #ifndef HAVE_DYNAMIC bool force_core_reload = settings->bools.always_reload_core_on_run_content; @@ -2406,10 +2326,8 @@ bool task_push_load_content_with_new_core_from_menu( type, cb, user_data); #endif - content_ctx.flags = 0; + content_ctx.flags = 0; - if (check_firmware_before_loading) - content_ctx.flags |= CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING; #ifdef HAVE_PATCH { uint32_t rarch_flags = retroarch_get_flags(); @@ -2427,8 +2345,7 @@ bool task_push_load_content_with_new_core_from_menu( content_ctx.flags |= CONTENT_INFO_FLAG_PATCH_IS_BLOCKED; } #endif - if (runloop_st->missing_bios) - content_ctx.flags |= CONTENT_INFO_FLAG_BIOS_IS_MISSING; + content_ctx.directory_system = NULL; content_ctx.directory_cache = NULL; content_ctx.name_ips = NULL; @@ -2465,9 +2382,6 @@ bool task_push_load_content_with_new_core_from_menu( if (!content_info->environ_get) content_info->environ_get = menu_content_environment_get; - if (firmware_update_status(&content_ctx)) - goto end; - /* Loads content into currently selected core. */ if (!(ret = content_load(content_info, p_content))) { @@ -2517,7 +2431,6 @@ static bool task_load_content_internal( runloop_state_t *runloop_st = runloop_state_get_ptr(); rarch_system_info_t *sys_info = &runloop_st->system; settings_t *settings = config_get_ptr(); - bool check_firmware_before_loading = settings->bools.check_firmware_before_loading; bool set_supports_no_game_enable = settings->bools.set_supports_no_game_enable; const char *path_dir_system = settings->paths.directory_system; const char *path_dir_cache = settings->paths.directory_cache; @@ -2526,8 +2439,6 @@ static bool task_load_content_internal( #endif content_ctx.flags = 0; - if (check_firmware_before_loading) - content_ctx.flags |= CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING; #ifdef HAVE_PATCH if (rarch_flags & RARCH_FLAGS_IPS_PREF) content_ctx.flags |= CONTENT_INFO_FLAG_IS_IPS_PREF; @@ -2542,8 +2453,7 @@ static bool task_load_content_internal( if (runloop_st->flags & RUNLOOP_FLAG_PATCH_BLOCKED) content_ctx.flags |= CONTENT_INFO_FLAG_PATCH_IS_BLOCKED; #endif - if (runloop_st->missing_bios) - content_ctx.flags |= CONTENT_INFO_FLAG_BIOS_IS_MISSING; + content_ctx.directory_system = NULL; content_ctx.directory_cache = NULL; content_ctx.name_ips = NULL; @@ -2591,9 +2501,6 @@ static bool task_load_content_internal( if (!content_info->environ_get) content_info->environ_get = menu_content_environment_get; - if (firmware_update_status(&content_ctx)) - goto end; - #ifdef HAVE_PRESENCE { presence_userdata_t userdata; @@ -2609,7 +2516,6 @@ static bool task_load_content_internal( task_push_to_history_list(p_content, true, loading_from_cli, loading_from_companion_ui); -end: if (content_ctx.name_ips) free(content_ctx.name_ips); if (content_ctx.name_bps) @@ -3020,7 +2926,6 @@ bool content_init(void) runloop_state_t *runloop_st = runloop_state_get_ptr(); rarch_system_info_t *sys_info = &runloop_st->system; settings_t *settings = config_get_ptr(); - bool check_firmware_before_loading = settings->bools.check_firmware_before_loading; bool set_supports_no_game_enable = settings->bools.set_supports_no_game_enable; const char *path_dir_system = settings->paths.directory_system; const char *path_dir_cache = settings->paths.directory_cache; @@ -3033,8 +2938,6 @@ bool content_init(void) content_ctx.flags = 0; - if (check_firmware_before_loading) - content_ctx.flags |= CONTENT_INFO_FLAG_CHECK_FW_BEFORE_LOADING; #ifdef HAVE_PATCH if (rarch_flags & RARCH_FLAGS_IPS_PREF) content_ctx.flags |= CONTENT_INFO_FLAG_IS_IPS_PREF; @@ -3049,6 +2952,7 @@ bool content_init(void) if (runloop_st->flags & RUNLOOP_FLAG_PATCH_BLOCKED) content_ctx.flags |= CONTENT_INFO_FLAG_PATCH_IS_BLOCKED; #endif /* HAVE_PATCH */ + content_ctx.directory_system = NULL; content_ctx.directory_cache = NULL; content_ctx.name_ips = NULL; diff --git a/ui/drivers/ui_qt.cpp b/ui/drivers/ui_qt.cpp index 6493435b4b..ac708543bc 100644 --- a/ui/drivers/ui_qt.cpp +++ b/ui/drivers/ui_qt.cpp @@ -2554,7 +2554,6 @@ QVector > MainWindow::getCoreInfo() char tmp_path[PATH_MAX_LENGTH]; core_info_ctx_firmware_t firmware_info; bool update_missing_firmware = false; - bool set_missing_firmware = false; settings_t *settings = config_get_ptr(); uint8_t flags = content_get_flags(); bool systemfiles_in_content_dir = settings->bools.systemfiles_in_content_dir; @@ -2590,13 +2589,7 @@ QVector > MainWindow::getCoreInfo() else firmware_info.directory.system = settings->paths.directory_system; - update_missing_firmware = core_info_list_update_missing_firmware( - &firmware_info, &set_missing_firmware); - - if (set_missing_firmware) - runloop_st->missing_bios = true; - else - runloop_st->missing_bios = false; + update_missing_firmware = core_info_list_update_missing_firmware(&firmware_info); if (update_missing_firmware) {