diff --git a/command_event.c b/command_event.c index a08b29e32f..87a8b634a0 100644 --- a/command_event.c +++ b/command_event.c @@ -537,6 +537,8 @@ static void event_set_savestate_auto_index(void) static bool event_init_content(void) { + rarch_ctl(RARCH_CTL_SET_SRAM_ENABLE, NULL); + /* No content to be loaded for dummy core, * just successfully exit. */ if (rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)) @@ -567,7 +569,6 @@ static bool event_init_content(void) static bool event_init_core(void *data) { retro_ctx_environ_info_t info; - global_t *global = global_get_ptr(); settings_t *settings = config_get_ptr(); enum rarch_core_type *core_type = (enum rarch_core_type*)data; @@ -603,9 +604,6 @@ static bool event_init_core(void *data) if (!core_ctl(CORE_CTL_RETRO_INIT, NULL)) return false; - global->sram.use = rarch_ctl(RARCH_CTL_IS_PLAIN_CORE, NULL) - && !content_ctl(CONTENT_CTL_DOES_NOT_NEED_CONTENT, NULL); - if (!event_init_content()) return false; diff --git a/retroarch.c b/retroarch.c index 622b3c2122..8ae4f253ee 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1370,6 +1370,10 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data) return false; set_paths_redirect(global->name.base); break; + case RARCH_CTL_SET_SRAM_ENABLE: + global->sram.use = rarch_ctl(RARCH_CTL_IS_PLAIN_CORE, NULL) + && !content_ctl(CONTENT_CTL_DOES_NOT_NEED_CONTENT, NULL); + break; case RARCH_CTL_SET_ERROR_ON_INIT: rarch_error_on_init = true; break; diff --git a/retroarch.h b/retroarch.h index c2d282768e..ff5824fba1 100644 --- a/retroarch.h +++ b/retroarch.h @@ -104,6 +104,8 @@ enum rarch_ctl_state RARCH_CTL_SET_PATHS_REDIRECT, + RARCH_CTL_SET_SRAM_ENABLE, + RARCH_CTL_SET_FORCE_FULLSCREEN, RARCH_CTL_UNSET_FORCE_FULLSCREEN,