diff --git a/retroarch.c b/retroarch.c index 70155474c6..8a42f347c1 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1085,6 +1085,8 @@ error: bool rarch_ctl(enum rarch_ctl_state state, void *data) { + static bool rarch_is_sram_load_disabled = false; + static bool rarch_is_sram_save_disabled = false; static bool rarch_use_sram = false; settings_t *settings = config_get_ptr(); @@ -1182,6 +1184,22 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data) return false; path_set_redirect(); break; + case RARCH_CTL_IS_SRAM_LOAD_DISABLED: + return rarch_is_sram_load_disabled; + case RARCH_CTL_SET_SRAM_LOAD_DISABLED: + rarch_is_sram_load_disabled = true; + break; + case RARCH_CTL_UNSET_SRAM_LOAD_DISABLED: + rarch_is_sram_load_disabled = false; + break; + case RARCH_CTL_IS_SRAM_SAVE_DISABLED: + return rarch_is_sram_save_disabled; + case RARCH_CTL_SET_SRAM_SAVE_DISABLED: + rarch_is_sram_save_disabled = true; + break; + case RARCH_CTL_UNSET_SRAM_SAVE_DISABLED: + rarch_is_sram_save_disabled = false; + break; case RARCH_CTL_IS_SRAM_USED: return rarch_use_sram; case RARCH_CTL_SET_SRAM_ENABLE: diff --git a/retroarch.h b/retroarch.h index ce7a868872..28c8699c31 100644 --- a/retroarch.h +++ b/retroarch.h @@ -64,6 +64,14 @@ enum rarch_ctl_state RARCH_CTL_SET_SRAM_ENABLE_FORCE, RARCH_CTL_UNSET_SRAM_ENABLE, + RARCH_CTL_IS_SRAM_LOAD_DISABLED, + RARCH_CTL_SET_SRAM_LOAD_DISABLED, + RARCH_CTL_UNSET_SRAM_LOAD_DISABLED, + + RARCH_CTL_IS_SRAM_SAVE_DISABLED, + RARCH_CTL_SET_SRAM_SAVE_DISABLED, + RARCH_CTL_UNSET_SRAM_SAVE_DISABLED, + /* Force fullscreen */ RARCH_CTL_SET_FORCE_FULLSCREEN, RARCH_CTL_UNSET_FORCE_FULLSCREEN,