diff --git a/win32/wconfig.cpp b/win32/wconfig.cpp index b2feb48e..2a817bcb 100644 --- a/win32/wconfig.cpp +++ b/win32/wconfig.cpp @@ -221,6 +221,9 @@ void WinDeleteRecentGamesList (); HANDLE configMutex = NULL; +extern TCHAR multiRomA[MAX_PATH]; // lazy, should put in sGUI and add init to {0} somewhere +extern TCHAR multiRomB[MAX_PATH]; + void S9xParseArg (char **argv, int &i, int argc) { if (strcasecmp (argv [i], "-restore") == 0) @@ -236,11 +239,16 @@ void S9xParseArg (char **argv, int &i, int argc) { GUI.FullScreen = true; } + else if (!strcasecmp(argv[i], "-cartb")) + { + Settings.Multi = TRUE; // only used to signal winmain + if (i + 1 < argc) + { + lstrcpyn(multiRomB, _tFromChar(argv[++i]), MAX_PATH); + } + } } -extern TCHAR multiRomA [MAX_PATH]; // lazy, should put in sGUI and add init to {0} somewhere -extern TCHAR multiRomB [MAX_PATH]; - void WinSetDefaultValues () { // TODO: delete the parts that are already covered by the default values in WinRegisterConfigItems diff --git a/win32/wsnes9x.cpp b/win32/wsnes9x.cpp index c16d3b3a..e5209524 100644 --- a/win32/wsnes9x.cpp +++ b/win32/wsnes9x.cpp @@ -327,6 +327,9 @@ extern FILE *trace_fs; extern SCheatData Cheat; extern bool8 do_frame_adjust; +TCHAR multiRomA[MAX_PATH] = { 0 }; // lazy, should put in sGUI and add init to {0} somewhere +TCHAR multiRomB[MAX_PATH] = { 0 }; + HINSTANCE g_hInst; #ifdef DEBUGGER @@ -1551,10 +1554,6 @@ bool WinMoviePlay(LPCTSTR filename) return true; } -TCHAR multiRomA [MAX_PATH] = {0}; // lazy, should put in sGUI and add init to {0} somewhere -TCHAR multiRomB [MAX_PATH] = {0}; - - static bool startingMovie = false; HWND cheatSearchHWND = NULL; @@ -3447,8 +3446,18 @@ int WINAPI WinMain( MessageBox( GUI.hWnd, Languages[ GUI.Language].errFrameTimer, TEXT("Snes9X - Frame Timer"), MB_OK | MB_ICONINFORMATION); } - if(rom_filename) - LoadROM(rom_filename); + if (rom_filename) + { + if (Settings.Multi) // we found -cartB parameter + { + lstrcpy(multiRomA, rom_filename); // for the mutli cart dialog + LoadROM(rom_filename, multiRomB); + } + else + { + LoadROM(rom_filename); + } + } S9xUnmapAllControls(); S9xSetupDefaultKeymap();