mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 09:40:06 +00:00
Move retroarch.h dependencies out of core_info.c
This commit is contained in:
parent
00cc4ca7aa
commit
3016edce0a
13
core_info.c
13
core_info.c
@ -27,7 +27,6 @@
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "retroarch.h"
|
||||
#include "verbosity.h"
|
||||
|
||||
#include "config.def.h"
|
||||
@ -515,7 +514,8 @@ static core_info_t *core_info_find_internal(
|
||||
static bool core_info_list_update_missing_firmware_internal(
|
||||
core_info_list_t *core_info_list,
|
||||
const char *core,
|
||||
const char *systemdir)
|
||||
const char *systemdir,
|
||||
bool *set_missing_bios)
|
||||
{
|
||||
size_t i;
|
||||
core_info_t *info = NULL;
|
||||
@ -532,7 +532,6 @@ static bool core_info_list_update_missing_firmware_internal(
|
||||
|
||||
path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||
path[0] = '\0';
|
||||
rarch_ctl(RARCH_CTL_UNSET_MISSING_BIOS, NULL);
|
||||
|
||||
for (i = 0; i < info->firmware_count; i++)
|
||||
{
|
||||
@ -544,7 +543,7 @@ static bool core_info_list_update_missing_firmware_internal(
|
||||
info->firmware[i].missing = !filestream_exists(path);
|
||||
if (info->firmware[i].missing && !info->firmware[i].optional)
|
||||
{
|
||||
rarch_ctl(RARCH_CTL_SET_MISSING_BIOS, NULL);
|
||||
*set_missing_bios = true;
|
||||
RARCH_WARN("Firmware missing: %s\n", info->firmware[i].path);
|
||||
}
|
||||
}
|
||||
@ -648,13 +647,15 @@ bool core_info_get_list(core_info_list_t **core)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info)
|
||||
bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info,
|
||||
bool *set_missing_bios)
|
||||
{
|
||||
if (!info)
|
||||
return false;
|
||||
return core_info_list_update_missing_firmware_internal(
|
||||
core_info_curr_list,
|
||||
info->path, info->directory.system);
|
||||
info->path, info->directory.system,
|
||||
set_missing_bios);
|
||||
}
|
||||
|
||||
bool core_info_load(core_info_ctx_find_t *info)
|
||||
|
@ -113,7 +113,8 @@ bool core_info_init_list(const char *path_info, const char *dir_cores);
|
||||
|
||||
bool core_info_get_list(core_info_list_t **core);
|
||||
|
||||
bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info);
|
||||
bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info,
|
||||
bool *set_missing_bios);
|
||||
|
||||
bool core_info_find(core_info_ctx_find_t *info, const char *name);
|
||||
|
||||
|
@ -285,12 +285,21 @@ static int menu_displaylist_parse_core_info(menu_displaylist_info_t *info)
|
||||
if (core_info->firmware_count > 0)
|
||||
{
|
||||
core_info_ctx_firmware_t firmware_info;
|
||||
bool update_missing_firmware = false;
|
||||
bool set_missing_firmware = false;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
firmware_info.path = core_info->path;
|
||||
firmware_info.directory.system = settings->paths.directory_system;
|
||||
|
||||
if (core_info_list_update_missing_firmware(&firmware_info))
|
||||
rarch_ctl(RARCH_CTL_UNSET_MISSING_BIOS, NULL);
|
||||
|
||||
update_missing_firmware = core_info_list_update_missing_firmware(&firmware_info, &set_missing_firmware);
|
||||
|
||||
if (set_missing_firmware)
|
||||
rarch_ctl(RARCH_CTL_SET_MISSING_BIOS, NULL);
|
||||
|
||||
if (update_missing_firmware)
|
||||
{
|
||||
fill_pathname_noext(tmp,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_INFO_FIRMWARE),
|
||||
|
@ -1009,6 +1009,7 @@ static bool firmware_update_status(
|
||||
content_information_ctx_t *content_ctx)
|
||||
{
|
||||
core_info_ctx_firmware_t firmware_info;
|
||||
bool set_missing_firmware = false;
|
||||
core_info_t *core_info = NULL;
|
||||
size_t s_size = PATH_MAX_LENGTH * sizeof(char);
|
||||
char *s = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||
@ -1032,7 +1033,13 @@ static bool firmware_update_status(
|
||||
RARCH_LOG("Updating firmware status for: %s on %s\n",
|
||||
core_info->path,
|
||||
firmware_info.directory.system);
|
||||
core_info_list_update_missing_firmware(&firmware_info);
|
||||
|
||||
rarch_ctl(RARCH_CTL_UNSET_MISSING_BIOS, NULL);
|
||||
|
||||
core_info_list_update_missing_firmware(&firmware_info, &set_missing_firmware);
|
||||
|
||||
if (set_missing_firmware)
|
||||
rarch_ctl(RARCH_CTL_SET_MISSING_BIOS, NULL);
|
||||
|
||||
if(
|
||||
content_ctx->bios_is_missing &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user