Remove missing firmware check option (#18470)

This commit is contained in:
sonninnos 2025-12-01 23:36:55 +02:00 committed by GitHub
parent 7a6091ccaf
commit a6ae965b98
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 25 additions and 162 deletions

View File

@ -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 */

View File

@ -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

View File

@ -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;

View File

@ -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;
}

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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},

View File

@ -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;

View File

@ -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),

View File

@ -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).

View File

@ -299,7 +299,6 @@ struct runloop
char label [PATH_MAX_LENGTH*2];
} name;
bool missing_bios;
bool perfcnt_enable;
};

View File

@ -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;

View File

@ -2554,7 +2554,6 @@ QVector<QHash<QString, QString> > 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<QHash<QString, QString> > 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)
{