@@ -3153,29 +3153,37 @@ bool runloop_environment_cb(unsigned cmd, void *data)
3153
3153
{
3154
3154
int result = RETRO_SAVESTATE_CONTEXT_NORMAL ;
3155
3155
3156
- #if defined(HAVE_RUNAHEAD ) || defined(HAVE_NETWORKING )
3157
- if (runloop_st -> flags & RUNLOOP_FLAG_REQUEST_SPECIAL_SAVESTATE )
3156
+ #ifdef HAVE_REWIND
3157
+ if (runloop_st -> rewind_st .flags &
3158
+ STATE_MGR_REWIND_ST_FLAG_IS_REWIND_SERIALIZE )
3159
+ result = RETRO_SAVESTATE_CONTEXT_RUNAHEAD_SAME_INSTANCE ;
3160
+ else
3161
+ #endif
3158
3162
{
3163
+ #if defined(HAVE_RUNAHEAD ) || defined(HAVE_NETWORKING )
3164
+ if (runloop_st -> flags & RUNLOOP_FLAG_REQUEST_SPECIAL_SAVESTATE )
3165
+ {
3159
3166
#ifdef HAVE_NETWORKING
3160
- if (netplay_driver_ctl (RARCH_NETPLAY_CTL_IS_ENABLED , NULL ))
3161
- result = RETRO_SAVESTATE_CONTEXT_ROLLBACK_NETPLAY ;
3162
- else
3167
+ if (netplay_driver_ctl (RARCH_NETPLAY_CTL_IS_ENABLED , NULL ))
3168
+ result = RETRO_SAVESTATE_CONTEXT_ROLLBACK_NETPLAY ;
3169
+ else
3163
3170
#endif
3164
- {
3171
+ {
3165
3172
#ifdef HAVE_RUNAHEAD
3166
3173
#if defined(HAVE_DYNAMIC ) || defined(HAVE_DYLIB )
3167
- settings_t * settings = config_get_ptr ();
3168
- if ( settings -> bools .run_ahead_secondary_instance
3169
- && (runloop_st -> flags & RUNLOOP_FLAG_RUNAHEAD_SECONDARY_CORE_AVAILABLE )
3170
- && secondary_core_ensure_exists (runloop_st , settings ))
3171
- result = RETRO_SAVESTATE_CONTEXT_RUNAHEAD_SAME_BINARY ;
3172
- else
3174
+ settings_t * settings = config_get_ptr ();
3175
+ if ( settings -> bools .run_ahead_secondary_instance
3176
+ && (runloop_st -> flags & RUNLOOP_FLAG_RUNAHEAD_SECONDARY_CORE_AVAILABLE )
3177
+ && secondary_core_ensure_exists (runloop_st , settings ))
3178
+ result = RETRO_SAVESTATE_CONTEXT_RUNAHEAD_SAME_BINARY ;
3179
+ else
3173
3180
#endif
3174
3181
result = RETRO_SAVESTATE_CONTEXT_RUNAHEAD_SAME_INSTANCE ;
3175
3182
#endif
3183
+ }
3176
3184
}
3177
- }
3178
3185
#endif
3186
+ }
3179
3187
3180
3188
if (data )
3181
3189
* (int * )data = result ;
0 commit comments