Redo Savestate fix. Made Undo/Redo Savestate hotkey. Win32 - made default Undo/Redo key mapping Ctrl+Z
This commit is contained in:
parent
bae8c66a66
commit
f1256869b6
|
@ -1,4 +1,5 @@
|
|||
---version 2.0.4 yet to be released---
|
||||
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
|
||||
23-dec-2008 - adelikat - Win32 - Undo/redo loadstate and Undo/redo savestate context menu items added
|
||||
|
|
|
@ -84,6 +84,7 @@ static struct
|
|||
{ EMUCMD_SCRIPT_RELOAD, SCAN_L | CMD_KEY_SHIFT },
|
||||
{ EMUCMD_OPENROM, SCAN_O | CMD_KEY_CTRL },
|
||||
{ EMUCMD_CLOSEROM, SCAN_W | CMD_KEY_CTRL },
|
||||
{ EMUCMD_MISC_UNDOREDOSAVESTATE, SCAN_Z | CMD_KEY_CTRL },
|
||||
};
|
||||
|
||||
#define NUM_DEFAULT_MAPPINGS (sizeof(DefaultCommandMapping)/sizeof(DefaultCommandMapping[0]))
|
||||
|
|
|
@ -417,9 +417,9 @@ void UpdateContextMenuItems(HMENU context, int whichContext)
|
|||
{
|
||||
string undoLoadstate = "Undo loadstate";
|
||||
string redoLoadstate = "Redo loadstate";
|
||||
string redoSavestate = "Redo savestate";
|
||||
string undoSavestate = "Undo savestate";
|
||||
|
||||
string redoSavestate = "Redo savestate";
|
||||
|
||||
//Undo Loadstate
|
||||
if (CheckBackupSaveStateExist() && (undoLS || redoLS))
|
||||
EnableMenuItem(context,FCEUX_CONTEXT_UNDOLOADSTATE,MF_BYCOMMAND | MF_ENABLED);
|
||||
|
@ -1315,7 +1315,8 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
|
|||
|
||||
//Undo Savestate
|
||||
case FCEUX_CONTEXT_UNDOSAVESTATE:
|
||||
SwapSaveState();
|
||||
if (undoSS || redoSS)
|
||||
SwapSaveState();
|
||||
break;
|
||||
|
||||
//Undo Loadstate
|
||||
|
|
|
@ -594,6 +594,7 @@ static void FA_SkipLag(void);
|
|||
static void OpenRom(void);
|
||||
static void CloseRom(void);
|
||||
static void MovieSubtitleToggle(void);
|
||||
static void UndoRedoSavestate(void);
|
||||
|
||||
struct EMUCMDTABLE FCEUI_CommandTable[]=
|
||||
{
|
||||
|
@ -704,7 +705,8 @@ struct EMUCMDTABLE FCEUI_CommandTable[]=
|
|||
{ EMUCMD_FRAMEADV_SKIPLAG, EMUCMDTYPE_MISC, FA_SkipLag, 0, 0, "Frame Adv.-Skip Lag", 0},
|
||||
{ EMUCMD_OPENROM, EMUCMDTYPE_TOOL, OpenRom, 0, 0, "Open ROM", 0},
|
||||
{ EMUCMD_CLOSEROM, EMUCMDTYPE_TOOL, CloseRom, 0, 0, "Close ROM", 0},
|
||||
{ EMUCMD_MISC_DISPLAY_MOVIESUBTITLES, EMUCMDTYPE_MISC, MovieSubtitleToggle,0,0,"Toggle Movie Subtitles", 0}
|
||||
{ EMUCMD_MISC_DISPLAY_MOVIESUBTITLES, EMUCMDTYPE_MISC, MovieSubtitleToggle,0,0,"Toggle Movie Subtitles", 0},
|
||||
{ EMUCMD_MISC_UNDOREDOSAVESTATE, EMUCMDTYPE_MISC, UndoRedoSavestate, 0,0,"Undo/Redo Savestate", 0}
|
||||
};
|
||||
|
||||
#define NUM_EMU_CMDS (sizeof(FCEUI_CommandTable)/sizeof(FCEUI_CommandTable[0]))
|
||||
|
@ -912,4 +914,10 @@ static void MovieSubtitleToggle(void)
|
|||
movieSubtitles ^= 1;
|
||||
if (movieSubtitles) FCEU_DispMessage("Movie subtitles on");
|
||||
else FCEU_DispMessage("Movie subtitles off");
|
||||
}
|
||||
|
||||
static void UndoRedoSavestate(void)
|
||||
{
|
||||
if (lastSavestateMade && (undoSS || redoSS))
|
||||
SwapSaveState();
|
||||
}
|
|
@ -212,6 +212,7 @@ enum EMUCMD
|
|||
EMUCMD_CLOSEROM,
|
||||
//-----------------------------
|
||||
EMUCMD_MISC_DISPLAY_MOVIESUBTITLES,
|
||||
EMUCMD_MISC_UNDOREDOSAVESTATE,
|
||||
EMUCMD_MAX
|
||||
};
|
||||
|
||||
|
|
|
@ -447,7 +447,7 @@ void FCEUSS_Save(const char *fname)
|
|||
{
|
||||
CreateBackupSaveState(fn); //Make a backup of previous savestate before overwriting it
|
||||
strcpy(lastSavestateMade,fn); //Remember what the last savestate filename was (for undoing later)
|
||||
undoSS = true; //Backup was created so redo is possible
|
||||
undoSS = true; //Backup was created so undo is possible
|
||||
}
|
||||
else
|
||||
undoSS = false; //so backup made so lastSavestateMade does have a backup file, so no undo
|
||||
|
@ -474,6 +474,7 @@ void FCEUSS_Save(const char *fname)
|
|||
SaveStateStatus[CurrentState]=1;
|
||||
FCEU_DispMessage("State %d saved.",CurrentState);
|
||||
}
|
||||
redoSS = false; //we have a new savestate so redo is not possible
|
||||
}
|
||||
|
||||
int FCEUSS_LoadFP_old(std::istream* is, ENUM_SSLOADPARAMS params)
|
||||
|
|
Loading…
Reference in New Issue