diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index a4ab02a6f71c..8d485e1ebc06 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -197,9 +197,9 @@ namespace MainWindow return TRUE; } - void BrowseAndBoot(void) + void BrowseAndBoot(std::string defaultPath) { - std::string fn; + std::string fn = defaultPath; std::string filter = ""; filter += "PSP"; @@ -282,7 +282,16 @@ namespace MainWindow switch (wmId) { case ID_FILE_LOAD: - BrowseAndBoot(); + BrowseAndBoot(""); + break; + + case ID_FILE_LOAD_MEMSTICK: + { + std::string memStickDir, flash0dir; + GetSysDirectories(memStickDir, flash0dir); + memStickDir += "PSP\\GAME"; + BrowseAndBoot(memStickDir); + } break; case ID_FILE_REFRESHGAMELIST: diff --git a/Windows/WndMainWindow.h b/Windows/WndMainWindow.h index 11e7d4c2cb69..3f3f54c3ce9d 100644 --- a/Windows/WndMainWindow.h +++ b/Windows/WndMainWindow.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include namespace MainWindow @@ -15,7 +16,7 @@ namespace MainWindow HINSTANCE GetHInstance(); HWND GetDisplayHWND(); void SetPlaying(const char*text); - void BrowseAndBoot(); + void BrowseAndBoot(std::string defaultPath); void SetNextState(CoreState state); void SaveStateActionFinished(bool result, void *userdata); void _ViewFullScreen(HWND hWnd); diff --git a/Windows/main.cpp b/Windows/main.cpp index b40541814f52..45d085063861 100644 --- a/Windows/main.cpp +++ b/Windows/main.cpp @@ -160,7 +160,7 @@ int WINAPI WinMain(HINSTANCE _hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLin EmuThread_Start(fileToStart); } if (g_Config.bBrowse) - MainWindow::BrowseAndBoot(); + MainWindow::BrowseAndBoot(""); if (!hideLog) SetForegroundWindow(hwndMain); diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 282d807e98ad..1815b1823a65 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -204,6 +204,7 @@ BEGIN POPUP "&File" BEGIN MENUITEM "&Open...", ID_FILE_LOAD + MENUITEM "&Open from MS:/PSP/GAME...", ID_FILE_LOAD_MEMSTICK MENUITEM "&Close", ID_EMULATION_STOP MENUITEM SEPARATOR MENUITEM "Open &Memory Stick", ID_FILE_MEMSTICK diff --git a/Windows/resource.h b/Windows/resource.h index 0650575f7211..d5eb2a31654e 100644 --- a/Windows/resource.h +++ b/Windows/resource.h @@ -265,6 +265,7 @@ #define IDC_MEMCHECK 40140 #define ID_OPTIONS_USEMEDIAENGINE 40141 #define ID_FILE_MEMSTICK 40142 +#define ID_FILE_LOAD_MEMSTICK 40143 #define IDC_STATIC -1 // Next default values for new objects @@ -272,7 +273,7 @@ #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 233 -#define _APS_NEXT_COMMAND_VALUE 40143 +#define _APS_NEXT_COMMAND_VALUE 40144 #define _APS_NEXT_CONTROL_VALUE 1163 #define _APS_NEXT_SYMED_VALUE 101 #endif