mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-01-18 00:32:46 +00:00
Create CORE_CTL_RETRO_LOAD_GAME
This commit is contained in:
parent
5e3e0bcbe4
commit
e516a64a0c
11
content.c
11
content.c
@ -495,7 +495,7 @@ static bool load_content(
|
||||
)
|
||||
{
|
||||
unsigned i;
|
||||
bool ret = true;
|
||||
retro_ctx_load_content_info_t load_info;
|
||||
|
||||
if (!info || !additional_path_allocs)
|
||||
return false;
|
||||
@ -539,12 +539,11 @@ static bool load_content(
|
||||
}
|
||||
}
|
||||
|
||||
if (special)
|
||||
ret = core.retro_load_game_special(special->id, info, content->size);
|
||||
else
|
||||
ret = core.retro_load_game(*content->elems[0].data ? info : NULL);
|
||||
load_info.content = content;
|
||||
load_info.special = special;
|
||||
load_info.info = info;
|
||||
|
||||
if (!ret)
|
||||
if (!core_ctl(CORE_CTL_RETRO_LOAD_GAME, &load_info))
|
||||
{
|
||||
RARCH_ERR("%s.\n", msg_hash_to_str(MSG_FAILED_TO_LOAD_CONTENT));
|
||||
return false;
|
||||
|
@ -174,6 +174,18 @@ bool core_ctl(enum core_ctl_state state, void *data)
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case CORE_CTL_RETRO_LOAD_GAME:
|
||||
{
|
||||
retro_ctx_load_content_info_t *load_info =
|
||||
(retro_ctx_load_content_info_t*)data;
|
||||
if (!load_info)
|
||||
return false;
|
||||
|
||||
if (load_info->special)
|
||||
return core.retro_load_game_special(load_info->special->id, load_info->info, load_info->content->size);
|
||||
return core.retro_load_game(*load_info->content->elems[0].data ? load_info->info : NULL);
|
||||
}
|
||||
break;
|
||||
case CORE_CTL_RETRO_GET_SYSTEM_INFO:
|
||||
{
|
||||
struct retro_system_info *system = (struct retro_system_info*)data;
|
||||
|
@ -87,9 +87,18 @@ enum core_ctl_state
|
||||
**/
|
||||
CORE_CTL_INIT_SYSTEM_AV_INFO,
|
||||
|
||||
CORE_CTL_RETRO_GET_SYSTEM_INFO
|
||||
CORE_CTL_RETRO_GET_SYSTEM_INFO,
|
||||
|
||||
CORE_CTL_RETRO_LOAD_GAME
|
||||
};
|
||||
|
||||
typedef struct retro_ctx_load_content_info
|
||||
{
|
||||
struct retro_game_info *info;
|
||||
const struct string_list *content;
|
||||
const struct retro_subsystem_info *special;
|
||||
} retro_ctx_load_content_info_t;
|
||||
|
||||
typedef struct retro_ctx_serialize_info
|
||||
{
|
||||
const void *data_const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user