From 80f77eb3d9f72245bf3484af91276a82d23022e8 Mon Sep 17 00:00:00 2001 From: dinkc64 <12570148+dinkc64@users.noreply.github.com> Date: Sun, 20 Apr 2014 14:05:45 +0000 Subject: [PATCH] A little modification on the W32 side - backup savestate before overwriting it. --- src/burner/state.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/burner/state.cpp b/src/burner/state.cpp index bafe8b5f7..311446675 100644 --- a/src/burner/state.cpp +++ b/src/burner/state.cpp @@ -289,7 +289,8 @@ INT32 BurnStateSave(TCHAR* szName, INT32 bAll) { const char szHeader[] = "FB1 "; // File identifier INT32 nLen = 0, nVer = 0; - INT32 nRet = 0; + INT32 nRet = 0; + TCHAR szBackupName[1024] = _T(""); if (bAll) { // Get amount of data StateInfo(&nLen, &nVer, 1); @@ -299,7 +300,12 @@ INT32 BurnStateSave(TCHAR* szName, INT32 bAll) if (nLen <= 0) { // No data, so exit without creating a savestate return 0; // Don't return an error code } - +#ifdef _WIN32 + // backup last savestate just incase - dink + _stprintf(szBackupName, _T("%s.backup"), szName); + DeleteFileW(szBackupName); + MoveFileW(szName, szBackupName); +#endif FILE* fp = _tfopen(szName, _T("wb")); if (fp == NULL) { return 1;