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) 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: case CORE_CTL_RETRO_SERIALIZE_SIZE:
{ {
retro_ctx_size_info_t *info = (retro_ctx_size_info_t *)data; 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_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 typedef struct retro_ctx_size_info
{ {
size_t size; size_t size;