From cc3a3dde84bdd1d3d760ddefae8f772678366cc8 Mon Sep 17 00:00:00 2001 From: dinkc64 <12570148+dinkc64@users.noreply.github.com> Date: Wed, 11 Jun 2014 19:14:33 +0000 Subject: [PATCH] Show PREV/NEXT state status when paused and add State UNDO to the menu --- src/burner/win32/app.rc | 2 ++ src/burner/win32/resource.h | 1 + src/burner/win32/run.cpp | 9 --------- src/burner/win32/scrn.cpp | 19 +++++++++++++++++++ 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/burner/win32/app.rc b/src/burner/win32/app.rc index fb2374901..c81967692 100644 --- a/src/burner/win32/app.rc +++ b/src/burner/win32/app.rc @@ -750,6 +750,7 @@ BEGIN MENUITEM "Activate next slot\tF11", MENU_STATE_NEXTSLOT MENUITEM "MENU_STATE_LOAD_SLOT", MENU_STATE_LOAD_SLOT, GRAYED MENUITEM "MENU_STATE_SAVE_SLOT", MENU_STATE_SAVE_SLOT, GRAYED + MENUITEM "Undo last state save\tShift+F8", MENU_STATE_UNDO END MENUITEM "Restore full state on load", MENU_ALLRAM END @@ -1313,6 +1314,7 @@ BEGIN VK_F7, MENU_MEMCARD_SELECT, CONTROL, VIRTKEY, NOINVERT VK_F8, MENU_STATE_PREVSLOT, VIRTKEY, NOINVERT VK_F8, MENU_LOAD_NEOCD, CONTROL, VIRTKEY, NOINVERT + VK_F8, MENU_STATE_UNDO, SHIFT, VIRTKEY, NOINVERT VK_F9, MENU_STATE_LOAD_SLOT, VIRTKEY, NOINVERT VK_F9, MENU_STATE_LOAD_DIALOG, CONTROL, VIRTKEY, NOINVERT VK_F10, MENU_STATE_SAVE_SLOT, VIRTKEY, NOINVERT diff --git a/src/burner/win32/resource.h b/src/burner/win32/resource.h index ea686a267..207471f05 100644 --- a/src/burner/win32/resource.h +++ b/src/burner/win32/resource.h @@ -392,6 +392,7 @@ #define MENU_STATE_PREVSLOT 10034 #define MENU_STATE_NEXTSLOT 10035 #define MENU_ALLRAM 10036 +#define MENU_STATE_UNDO 10037 #define MENU_TRIPLE 10100 #define MENU_FULL 10102 #define MENU_DWMFIX 10103 diff --git a/src/burner/win32/run.cpp b/src/burner/win32/run.cpp index acba25f42..063234678 100644 --- a/src/burner/win32/run.cpp +++ b/src/burner/win32/run.cpp @@ -483,15 +483,6 @@ int RunMessageLoop() } break; } - case VK_F8: { - if (bDrvOkay && (GetAsyncKeyState(VK_SHIFT) & 0x80000000)) { - TCHAR szString[256] = _T("state undo"); - - StatedUNDO(nSavestateSlot); - VidSNewShortMsg(szString); - } - break; - } case VK_BACK: { bShowFPS = !bShowFPS; if (bShowFPS) { diff --git a/src/burner/win32/scrn.cpp b/src/burner/win32/scrn.cpp index c2963ae2a..1f9cca2fe 100644 --- a/src/burner/win32/scrn.cpp +++ b/src/burner/win32/scrn.cpp @@ -741,6 +741,13 @@ int BurnerLoadDriver(TCHAR *szDriverName) return 0; } +static void PausedRedraw(void) +{ + if (bVidOkay && (bRunPause || !bDrvOkay)) { // Show the message even if paused. - dink + VidRedraw(); + VidPaint(0); + } +} static void OnCommand(HWND /*hDlg*/, int id, HWND /*hwndCtl*/, UINT codeNotify) { @@ -1037,6 +1044,7 @@ static void OnCommand(HWND /*hDlg*/, int id, HWND /*hwndCtl*/, UINT codeNotify) } _sntprintf(szString, 256, FBALoadStringEx(hAppInst, IDS_STATE_ACTIVESLOT, true), nSavestateSlot); VidSNewShortMsg(szString); + PausedRedraw(); break; } case MENU_STATE_NEXTSLOT: { @@ -1048,8 +1056,19 @@ static void OnCommand(HWND /*hDlg*/, int id, HWND /*hwndCtl*/, UINT codeNotify) } _sntprintf(szString, 256, FBALoadStringEx(hAppInst, IDS_STATE_ACTIVESLOT, true), nSavestateSlot); VidSNewShortMsg(szString); + PausedRedraw(); break; } + case MENU_STATE_UNDO: { + if (bDrvOkay) { + TCHAR szString[256] = _T("state undo"); + + StatedUNDO(nSavestateSlot); + VidSNewShortMsg(szString); + PausedRedraw(); + } + break; + } case MENU_STATE_LOAD_SLOT: if (bDrvOkay && !kNetGame) { if (StatedLoad(nSavestateSlot) == 0) {