Add RUNLOOP_CTL_GET_CORE_OPTION_SIZE

This commit is contained in:
twinaphex 2015-12-09 09:37:54 +01:00
parent fee5d2a880
commit 3c765e30d3
3 changed files with 12 additions and 1 deletions

View File

@ -3035,7 +3035,9 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
case DISPLAYLIST_CORE_OPTIONS: case DISPLAYLIST_CORE_OPTIONS:
if (runloop_ctl(RUNLOOP_CTL_HAS_CORE_OPTIONS, NULL)) if (runloop_ctl(RUNLOOP_CTL_HAS_CORE_OPTIONS, NULL))
{ {
size_t opts = core_option_size(system->core_options); size_t opts;
runloop_ctl(RUNLOOP_CTL_GET_CORE_OPTION_SIZE, &opts);
if (settings->game_specific_options) if (settings->game_specific_options)
{ {

View File

@ -521,6 +521,14 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
sizeof(system->valid_extensions)); sizeof(system->valid_extensions));
system->block_extract = system->info.block_extract; system->block_extract = system->info.block_extract;
break; break;
case RUNLOOP_CTL_GET_CORE_OPTION_SIZE:
{
unsigned *idx = (unsigned*)data;
if (!idx)
return false;
*idx = core_option_size(system->core_options);
}
return true;
case RUNLOOP_CTL_HAS_CORE_OPTIONS: case RUNLOOP_CTL_HAS_CORE_OPTIONS:
return system && system->core_options; return system && system->core_options;
case RUNLOOP_CTL_SYSTEM_INFO_FREE: case RUNLOOP_CTL_SYSTEM_INFO_FREE:

View File

@ -87,6 +87,7 @@ enum runloop_ctl_state
RUNLOOP_CTL_MSG_QUEUE_UNLOCK, RUNLOOP_CTL_MSG_QUEUE_UNLOCK,
RUNLOOP_CTL_MSG_QUEUE_FREE, RUNLOOP_CTL_MSG_QUEUE_FREE,
RUNLOOP_CTL_HAS_CORE_OPTIONS, RUNLOOP_CTL_HAS_CORE_OPTIONS,
RUNLOOP_CTL_GET_CORE_OPTION_SIZE,
RUNLOOP_CTL_IS_CORE_OPTION_UPDATED, RUNLOOP_CTL_IS_CORE_OPTION_UPDATED,
RUNLOOP_CTL_CORE_OPTION_PREV, RUNLOOP_CTL_CORE_OPTION_PREV,
RUNLOOP_CTL_CORE_OPTION_NEXT, RUNLOOP_CTL_CORE_OPTION_NEXT,