fix the issue phil discovered where loading a mismatched movie savestate causes an extra freaky chunk 0 error message. create code which would be helpful for turning mismatch error into ok/cancel, but didn't enable it.. not sure whether we want it
This commit is contained in:
parent
934b92c667
commit
f6b541ce2f
|
@ -23,6 +23,10 @@
|
|||
#include "utils/memorystream.h"
|
||||
#include "utils/xstring.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
|
@ -999,8 +1003,17 @@ bool FCEUMOV_ReadState(std::istream* is, uint32 size)
|
|||
//handle moviefile mismatch
|
||||
if(tempMovieData.guid != currMovieData.guid)
|
||||
{
|
||||
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;
|
||||
//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
|
||||
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
|
||||
}
|
||||
|
||||
closeRecordingMovie();
|
||||
|
|
|
@ -612,7 +612,10 @@ bool FCEUSS_LoadFP(std::istream* is, ENUM_SSLOADPARAMS params)
|
|||
x=FCEUMOV_PostLoad();
|
||||
}
|
||||
|
||||
if(!x && backup) FCEUSS_LoadFP(&msBackupSavestate,SSLOADPARAM_NOBACKUP);
|
||||
if(!x && backup) {
|
||||
msBackupSavestate.sync();
|
||||
FCEUSS_LoadFP(&msBackupSavestate,SSLOADPARAM_NOBACKUP);
|
||||
}
|
||||
|
||||
return x;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue