Create CORE_CTL_RETRO_SERIALIZE and CORE_CTL_RETRO_UNSERIALIZE

This commit is contained in:
twinaphex 2016-01-27 07:14:06 +01:00
parent 57d19b21b5
commit dad9b4abf8
2 changed files with 28 additions and 1 deletions

View File

@ -172,6 +172,22 @@ bool core_ctl(enum core_ctl_state state, void *data)
switch (state)
{
case CORE_CTL_RETRO_UNSERIALIZE:
{
retro_ctx_serialize_info_t *info = (retro_ctx_serialize_info_t*)data;
if (!info)
return false;
core.retro_unserialize(info->data_const, info->size);
}
break;
case CORE_CTL_RETRO_SERIALIZE:
{
retro_ctx_serialize_info_t *info = (retro_ctx_serialize_info_t*)data;
if (!info)
return false;
core.retro_serialize(info->data, info->size);
}
break;
case CORE_CTL_RETRO_SERIALIZE_SIZE:
{
retro_ctx_size_info_t *info = (retro_ctx_size_info_t *)data;

View File

@ -68,9 +68,20 @@ enum core_ctl_state
CORE_CTL_RETRO_SET_ENVIRONMENT,
CORE_CTL_RETRO_SERIALIZE_SIZE
CORE_CTL_RETRO_SERIALIZE_SIZE,
CORE_CTL_RETRO_SERIALIZE,
CORE_CTL_RETRO_UNSERIALIZE
};
typedef struct retro_ctx_serialize_info
{
const void *data_const;
void *data;
size_t size;
} retro_ctx_serialize_info_t;
typedef struct retro_ctx_size_info
{
size_t size;