auto-save fixes, prevent loading an auto-save from previous session. Win32 - added flags for enabling auto-save menu item.

This commit is contained in:
adelikat 2008-12-24 05:07:32 +00:00
parent f1256869b6
commit 62641715fc
3 changed files with 13 additions and 3 deletions

View File

@ -1,4 +1,5 @@
---version 2.0.4 yet to be released---
24-dec-2008 - adelikat - auto-save fixes, prevent loading an auto-save from previous session. Win32 - added flags for enabling auto-save menu item.
24-dec-2008 - adelikat - added undo/redo savestate hotkey. Win32 - made undo/redo default key mapping Ctrl+Z
24-dec-2008 - adelikat - win32 - added Last ROM used context menu item when no game loaded
24-dec-2008 - shinydoofy - sdl - added option to mute FCEUX for avi capturing, check the docs for more detail

View File

@ -87,7 +87,7 @@ extern bool frameAdvanceLagSkip;
extern bool turbo;
extern int luaRunning;
extern bool movie_readonly;
extern bool AutoSS; //flag for whether an auto-save has been made
// Extern functions
char *md5_asciistr(uint8 digest[16]);
@ -439,6 +439,12 @@ void UpdateContextMenuItems(HMENU context, int whichContext)
ChangeContextMenuItemText(FCEUX_CONTEXT_UNDOSAVESTATE, redoSavestate, context);
else
ChangeContextMenuItemText(FCEUX_CONTEXT_UNDOSAVESTATE, undoSavestate, context);
//Rewind to last auto-save
if(EnableAutosave && AutoSS)
EnableMenuItem(context,FCEUX_CONTEXT_REWINDTOLASTAUTO,MF_BYCOMMAND | MF_ENABLED);
else
EnableMenuItem(context,FCEUX_CONTEXT_REWINDTOLASTAUTO,MF_BYCOMMAND | MF_GRAYED);
}
/// Updates recent files / recent directories menu

View File

@ -72,7 +72,7 @@ using namespace std;
int AFon = 1, AFoff = 1, AutoFireOffset = 0; //For keeping track of autofire settings
bool justLagged = false;
bool frameAdvanceLagSkip = false; //If this is true, frame advance will skip over lag frame (i.e. it will emulate 2 frames instead of 1)
bool AutoSS = false; //Flagged true when the first auto-savestate is made while a game is loaded, flagged false on game close
bool movieSubtitles = true; //Toggle for displaying movie subtitles
FCEUGI::FCEUGI()
@ -125,12 +125,14 @@ static void CloseGame(void)
delete GameInfo;
GameInfo = 0;
//Reset flags for Undo/Redo/Auto Savestating
lastSavestateMade[0] = 0;
undoSS = false;
redoSS = false;
lastLoadstateMade[0] = 0;
undoLS = false;
redoLS = false;
AutoSS = false;
}
}
@ -886,6 +888,7 @@ void UpdateAutosave(void)
AutosaveIndex = (AutosaveIndex + 1) % 4;
f = strdup(FCEU_MakeFName(FCEUMKF_AUTOSTATE,AutosaveIndex,0).c_str());
FCEUSS_Save(f);
AutoSS = true; //Flag that an auto-savestate was made
free(f);
AutosaveStatus[AutosaveIndex] = 1;
}
@ -893,7 +896,7 @@ void UpdateAutosave(void)
void FCEUI_Autosave(void)
{
if(!EnableAutosave)
if(!EnableAutosave || !AutoSS)
return;
if(AutosaveStatus[AutosaveIndex] == 1)