Undo last save

This commit is contained in:
iota97 2021-08-07 13:28:43 +02:00
parent af3ad2ca03
commit b643d60f72
6 changed files with 37 additions and 1 deletions

View file

@ -531,6 +531,8 @@ namespace SaveState
if (g_Config.bEnableStateUndo) {
DeleteIfExists(fnUndo);
RenameIfExists(fn, fnUndo);
g_Config.sStateUndoLastSaveGame = GenerateFullDiscId(gameFilename);
g_Config.iStateUndoLastSaveSlot = slot;
} else {
DeleteIfExists(fn);
}
@ -571,6 +573,14 @@ namespace SaveState
return false;
}
bool UndoLastSave(const Path &gameFilename) {
if (g_Config.sStateUndoLastSaveGame != GenerateFullDiscId(gameFilename))
return false;
return UndoSaveSlot(gameFilename, g_Config.iStateUndoLastSaveSlot);
}
bool HasSaveInSlot(const Path &gameFilename, int slot)
{
Path fn = GenerateSaveSlotFilename(gameFilename, slot, STATE_EXTENSION);
@ -583,6 +593,14 @@ namespace SaveState
return File::Exists(fn);
}
bool HasUndoLastSave(const Path &gameFilename)
{
if (g_Config.sStateUndoLastSaveGame != GenerateFullDiscId(gameFilename))
return false;
return HasUndoSaveInSlot(gameFilename, g_Config.iStateUndoLastSaveSlot);
}
bool HasScreenshotInSlot(const Path &gameFilename, int slot)
{
Path fn = GenerateSaveSlotFilename(gameFilename, slot, SCREENSHOT_EXTENSION);