From e540413880a0a764ba8b80b67083a9359e376010 Mon Sep 17 00:00:00 2001 From: Themaister Date: Sat, 14 Sep 2013 23:19:06 +0200 Subject: [PATCH] Be more clear if a core doesn't support save states. For cores which do not support save states, log to OSD in a more clear way. --- retroarch.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/retroarch.c b/retroarch.c index 2cc5a7e750..db8231a93c 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1892,14 +1892,22 @@ void rarch_load_state(void) else snprintf(load_path, sizeof(load_path), "%s", g_extern.savestate_name); + size_t size = pretro_serialize_size(); char msg[512]; - if (load_state(load_path)) - snprintf(msg, sizeof(msg), "Loaded state from slot #%u.", g_extern.state_slot); + + if (size) + { + if (load_state(load_path)) + snprintf(msg, sizeof(msg), "Loaded state from slot #%u.", g_extern.state_slot); + else + snprintf(msg, sizeof(msg), "Failed to load state from \"%s\".", load_path); + } else - snprintf(msg, sizeof(msg), "Failed to load state from \"%s\".", load_path); + strlcpy(msg, "Core does not support save states.", sizeof(msg)); msg_queue_clear(g_extern.msg_queue); msg_queue_push(g_extern.msg_queue, msg, 2, 180); + RARCH_LOG("%s\n", msg); } void rarch_save_state(void) @@ -1914,14 +1922,22 @@ void rarch_save_state(void) else snprintf(save_path, sizeof(save_path), "%s", g_extern.savestate_name); + size_t size = pretro_serialize_size(); char msg[512]; - if (save_state(save_path)) - snprintf(msg, sizeof(msg), "Saved state to slot #%u.", g_extern.state_slot); + + if (size) + { + if (save_state(save_path)) + snprintf(msg, sizeof(msg), "Saved state to slot #%u.", g_extern.state_slot); + else + snprintf(msg, sizeof(msg), "Failed to save state to \"%s\".", save_path); + } else - snprintf(msg, sizeof(msg), "Failed to save state to \"%s\".", save_path); + strlcpy(msg, "Core does not support save states.", sizeof(msg)); msg_queue_clear(g_extern.msg_queue); msg_queue_push(g_extern.msg_queue, msg, 2, 180); + RARCH_LOG("%s\n", msg); } // Save or load state here.