diff --git a/changelog.txt b/changelog.txt index be8b26c3..f6aa19c9 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,14 @@ ---version 2.0.3 released--- + +18-aug-2008 - zeromus - windows - SF [ 2058942 ] Load state as... does not use the savestate override dir (fixed; now, it does) +18-aug-2008 - zeromus - windows - permit user optionally to proceed through the movie savestate mismatch error condition, in case he knows what he is doing. +18-aug-2008 - zeromus - fix a bug in the savestate recovery code which prevent aborted savestate loads from recovering emulator state correctly. +18-aug-2008 - zeromus - windows - bind a menu option for display framecounter +17-aug-2008 - zeromus - windows - fix problem where replay dialog couldnt work when the process current directory had changed to something other than emulator base directory +17-aug-2008 - zeromus - windows - autoload the only useful rom or movie from an archive, in cases where there is only one +17-aug-2008 - zeromus - gracefully handle non-convertible broken utf-8 text without crashing +17-aug-2008 - zeromus - windows - don't read every archive file when scanning for replay dialog. scan them, and only look for *.fm2 +17-aug-2008 - zeromus - debugger - fix issue where keyboard keys get stuck when switching between debugger window and main window 15-aug-2008 - adelikat - fixed an oversight on my part. Sound config dialog will now look to see if Mute Turbo should be checked ---version 2.0.2 released--- diff --git a/src/drivers/win/state.cpp b/src/drivers/win/state.cpp index 9305efb2..f9e91b06 100644 --- a/src/drivers/win/state.cpp +++ b/src/drivers/win/state.cpp @@ -17,6 +17,8 @@ void FCEUD_SaveStateAs() ofn.lpstrDefExt = "fcs"; nameo[0] = 0; ofn.lpstrFile = nameo; + std::string initdir = FCEU_GetPath(FCEUMKF_STATE); + ofn.lpstrInitialDir = initdir.c_str(); ofn.nMaxFile = 256; ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; @@ -43,6 +45,8 @@ void FCEUD_LoadStateFrom() ofn.lpstrFilter=filter; nameo[0]=0; ofn.lpstrFile=nameo; + std::string initdir = FCEU_GetPath(FCEUMKF_STATE); + ofn.lpstrInitialDir = initdir.c_str(); ofn.nMaxFile=256; ofn.Flags=OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY; diff --git a/src/movie.cpp b/src/movie.cpp index 99790421..0de30ddf 100644 --- a/src/movie.cpp +++ b/src/movie.cpp @@ -1004,16 +1004,16 @@ bool FCEUMOV_ReadState(std::istream* is, uint32 size) if(tempMovieData.guid != currMovieData.guid) { //mbg 8/18/08 - this code can be used to turn the error message into an OK/CANCEL - //#ifdef WIN32 - // std::string msg = "There is a mismatch between savestate's movie and current movie.\ncurrent: " + currMovieData.guid.toString() + "\nsavestate: " + tempMovieData.guid.toString() + "\n\nThis means that you have loaded a savestate belonging to a different movie than the one you are playing now.\n\nContinue loading this savestate anyway?"; - // extern HWND pwindow; - // int result = MessageBox(pwindow,msg.c_str(),"Error loading savestate",MB_OKCANCEL); - // if(result == IDCANCEL) - // return false; - //#else + #ifdef WIN32 + std::string msg = "There is a mismatch between savestate's movie and current movie.\ncurrent: " + currMovieData.guid.toString() + "\nsavestate: " + tempMovieData.guid.toString() + "\n\nThis means that you have loaded a savestate belonging to a different movie than the one you are playing now.\n\nContinue loading this savestate anyway?"; + extern HWND pwindow; + int result = MessageBox(pwindow,msg.c_str(),"Error loading savestate",MB_OKCANCEL); + if(result == IDCANCEL) + return false; + #else FCEU_PrintError("Mismatch between savestate's movie and current movie.\ncurrent: %s\nsavestate: %s\n",currMovieData.guid.toString().c_str(),tempMovieData.guid.toString().c_str()); return false; - //#endif + #endif } closeRecordingMovie();