Fixed unable to use savestates when the game has no cheevos and an associated freeze

This commit is contained in:
leiradel 2018-02-01 21:54:11 +00:00
parent 9c695765dd
commit dda52a1eed

View File

@ -3095,6 +3095,26 @@ found:
if ((void*)coro->json)
free((void*)coro->json);
if ( cheevos_locals.core.count == 0
&& cheevos_locals.unofficial.count == 0
&& cheevos_locals.lboard_count == 0)
{
runloop_msg_queue_push(
"This game has no achievements.",
0, 5 * 60, false);
cheevos_free_cheevo_set(&cheevos_locals.core);
cheevos_free_cheevo_set(&cheevos_locals.unofficial);
cheevos_locals.core.cheevos = NULL;
cheevos_locals.unofficial.cheevos = NULL;
cheevos_locals.core.count = 0;
cheevos_locals.unofficial.count = 0;
cheevos_loaded = false;
CORO_STOP();
}
cheevos_loaded = true;
/*
@ -3109,9 +3129,7 @@ found:
*/
CORO_GOSUB(PLAYING);
if (coro->settings->bools.cheevos_verbose_enable)
{
if(cheevos_locals.core.count > 0)
if (coro->settings->bools.cheevos_verbose_enable && cheevos_locals.core.count > 0)
{
char msg[256];
int mode = CHEEVOS_ACTIVE_SOFTCORE;
@ -3132,16 +3150,6 @@ found:
msg[sizeof(msg) - 1] = 0;
runloop_msg_queue_push(msg, 0, 6 * 60, false);
}
else
runloop_msg_queue_push(
"This game has no achievements.",
0, 5 * 60, false);
}
if ( cheevos_locals.core.count == 0
&& cheevos_locals.unofficial.count == 0
&& cheevos_locals.lboard_count == 0)
cheevos_unload();
CORO_GOSUB(GET_BADGES);
CORO_STOP();