From 22de16d17836dc786faf6bbddaa19d76c99ceef4 Mon Sep 17 00:00:00 2001 From: papel Date: Tue, 9 Jul 2013 17:25:29 -0300 Subject: [PATCH] Improving shortcuts of Windows version. --- Common/KeyMap.cpp | 2 +- Windows/WndMainWindow.cpp | 63 ++++++++++++++++++++++---------------- Windows/ppsspp.rc | Bin 38926 -> 39042 bytes Windows/resource.h | Bin 25206 -> 25206 bytes 4 files changed, 38 insertions(+), 27 deletions(-) diff --git a/Common/KeyMap.cpp b/Common/KeyMap.cpp index 3c533cabec..9227cf8b8f 100644 --- a/Common/KeyMap.cpp +++ b/Common/KeyMap.cpp @@ -51,7 +51,7 @@ struct DefaultKeyMap { m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_L)] = VIRTKEY_AXIS_X_MAX; m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_SHIFT_LEFT)] = VIRTKEY_RAPID_FIRE; m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_TAB)] = VIRTKEY_UNTHROTTLE; - m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_F3)] = VIRTKEY_SPEED_TOGGLE; + m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_F1)] = VIRTKEY_SPEED_TOGGLE; m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_ESCAPE)] = VIRTKEY_PAUSE; return m; } diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index edb16cd4eb..6ff9da83ed 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -75,6 +75,7 @@ namespace MainWindow static bool hideCursor = false; static void *rawInputBuffer; static size_t rawInputBufferSize; + static int currentSavestateSlot = 0; //W32Util::LayeredWindow *layer; #define MAX_LOADSTRING 100 @@ -555,14 +556,19 @@ namespace MainWindow } break; - case ID_EMULATION_RUN: - if (Core_IsStepping()) { - Core_EnableStepping(false); + case ID_TOGGLE_PAUSE: + if (Core_IsStepping()) //If is paused, then continue to run + { + if (disasmWindow[0]) + SendMessage(disasmWindow[0]->GetDlgHandle(), WM_COMMAND, IDC_GO, 0); + else + Core_EnableStepping(false); } else { - NativeMessageReceived("run", ""); + if (disasmWindow[0]) + SendMessage(disasmWindow[0]->GetDlgHandle(), WM_COMMAND, IDC_STOP, 0); + else + Core_EnableStepping(true); } - if (disasmWindow[0]) - SendMessage(disasmWindow[0]->GetDlgHandle(), WM_COMMAND, IDC_GO, 0); break; case ID_EMULATION_STOP: @@ -580,15 +586,6 @@ namespace MainWindow Update(); break; - case ID_EMULATION_PAUSE: - if (disasmWindow[0]) - { - SendMessage(disasmWindow[0]->GetDlgHandle(), WM_COMMAND, IDC_STOP, 0); - } else if (globalUIState == UISTATE_INGAME) { - Core_EnableStepping(true); - } - break; - case ID_EMULATION_RESET: NativeMessageReceived("reset", ""); break; @@ -600,7 +597,7 @@ namespace MainWindow case ID_FILE_LOADSTATEFILE: if (W32Util::BrowseForFileName(true, hWnd, "Load state",0,"Save States (*.ppst)\0*.ppst\0All files\0*.*\0\0","ppst",fn)) { - SetCursor(LoadCursor(0,IDC_WAIT)); + SetCursor(LoadCursor(0, IDC_WAIT)); SaveState::Load(fn, SaveStateActionFinished); } break; @@ -608,21 +605,29 @@ namespace MainWindow case ID_FILE_SAVESTATEFILE: if (W32Util::BrowseForFileName(false, hWnd, "Save state",0,"Save States (*.ppst)\0*.ppst\0All files\0*.*\0\0","ppst",fn)) { - SetCursor(LoadCursor(0,IDC_WAIT)); + SetCursor(LoadCursor(0, IDC_WAIT)); SaveState::Save(fn, SaveStateActionFinished); } break; - // TODO: Add UI for multiple slots + // TODO: Improve UI for multiple slots + case ID_FILE_SAVESTATE_NEXT_SLOT: + { + currentSavestateSlot = (currentSavestateSlot + 1)%5; + char msg[30]; + sprintf(msg, "Using save state slot %d.", currentSavestateSlot + 1); + osm.Show(msg); + break; + } case ID_FILE_QUICKLOADSTATE: - SetCursor(LoadCursor(0,IDC_WAIT)); - SaveState::LoadSlot(0, SaveStateActionFinished); + SetCursor(LoadCursor(0, IDC_WAIT)); + SaveState::LoadSlot(currentSavestateSlot, SaveStateActionFinished); break; case ID_FILE_QUICKSAVESTATE: - SetCursor(LoadCursor(0,IDC_WAIT)); - SaveState::SaveSlot(0, SaveStateActionFinished); + SetCursor(LoadCursor(0, IDC_WAIT)); + SaveState::SaveSlot(currentSavestateSlot, SaveStateActionFinished); break; case ID_OPTIONS_SCREEN1X: @@ -687,6 +692,13 @@ namespace MainWindow gpu->Resized(); // easy way to force a clear... break; + case ID_OPTIONS_SKIPUPDATINGMEMORY: + g_Config.bFramebuffersToMem = !g_Config.bFramebuffersToMem; + osm.ShowOnOff(g->T("Skip Updating PSP Memory"), !g_Config.bFramebuffersToMem); + if (gpu) + gpu->Resized(); // easy way to force a clear... + break; + case ID_OPTIONS_SHOWDEBUGSTATISTICS: g_Config.bShowDebugStats = !g_Config.bShowDebugStats; break; @@ -1059,10 +1071,9 @@ namespace MainWindow lastGlobalUIState = globalUIState; HMENU menu = GetMenu(GetHWND()); - EnableMenuItem(menu,ID_EMULATION_RUN, (Core_IsStepping() || globalUIState == UISTATE_PAUSEMENU) ? MF_ENABLED : MF_GRAYED); UINT ingameEnable = globalUIState == UISTATE_INGAME ? MF_ENABLED : MF_GRAYED; - EnableMenuItem(menu,ID_EMULATION_PAUSE, ingameEnable); + EnableMenuItem(menu,ID_TOGGLE_PAUSE, ingameEnable); EnableMenuItem(menu,ID_EMULATION_STOP, ingameEnable); EnableMenuItem(menu,ID_EMULATION_RESET, ingameEnable); @@ -1182,8 +1193,8 @@ namespace MainWindow void SaveStateActionFinished(bool result, void *userdata) { - if (!result) - MessageBox(0, "Savestate failure. Using savestates between different PPSSPP versions is not supported.", "Sorry", MB_OK); + //if (!result) + // osm.Show( "Savestate failure. Using savestates between different PPSSPP versions is not supported." ); SetCursor(LoadCursor(0, IDC_ARROW)); } diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 359fa3106b569ca56ab875c5bdd1de30f3d88568..201519bee50c3605ffcda292b2ccb92de20f60a6 100644 GIT binary patch delta 368 zcmeC%z|^#nX@eT) zFh+f{QM{07JcA#DD?w5~ii`RKRk{O>b_H4i zmz%thUwE^Nu$}K@wnRSm0ER?{QikHm4-2)qLx2WCHB1gqwC9guC}D60;v$9|25p9L zpm&tP-g%U$H`ybJ4^1BAT}6=m<^@Sw{N}+7*$kNs1q=#67Zot10Iewj^79zdfg%Aw qHwFM{UxrkMT!wt01(ggS%iI{uCx6V77scx5$=@5yH=ikVQUd^mG+aLb delta 214 zcmZqL$kexiX@eRkqvPbp4CToN@j{c&aMVq{z{kZM%HYS~!{E>0$lx-$P*8O8En%U_ zUHk@{-MG@2C$|X6O;$*jV$_*@TG*M{jllw_M0RpQlE~xM#%NQm*`CX#kWV;lr$#O|NlbtFIK;oMdlI-|5+ZDN}0RR^yLH7Uv diff --git a/Windows/resource.h b/Windows/resource.h index 032d62c03c9dc1140584a8a4a639a568bcce3071..34e83a4d5e39d3afa3e5c00bacfede895863ed67 100644 GIT binary patch delta 126 zcmex%gz?)E#tjb)CmRT|ZFVuTVB-#9@MmxbLLUa#$*(OmCvUK@+w5bRr8fD7gV^K; zhFp^iID`b_8T=Sr86p@$7~&a%flB=+-;WcW9K=ePs5gTrLjXf45W6rq0@Zi| aRl84KC?U*g!eGE)$Y9A}v3XPNt|G7i delta 81 zcmex%gz?)E#tjb)CvWiKVh&~So9t+*JIRoZ(PXlrzU<})hIVX|4{(TqWg3|jCttAS hn4Dl?Fj>b!4a_#umzjLPTx|0siww2R+u{!}0RX