Save States: 1. Added "Undo Load State" which... undoes load state :)

2. Implemented saving/loading to memory buffers (very fast) for temporal states such as for "undo load state"

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3585 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
XTra.KrazzY 2009-06-28 21:11:51 +00:00
parent e341985003
commit fd47eb7b44
7 changed files with 114 additions and 18 deletions

View file

@ -137,11 +137,12 @@ void CFrame::CreateMenu()
m_pSubMenuSave = emulationMenu->AppendSubMenu(saveMenu, _T("Sa&ve State"));
saveMenu->Append(IDM_SAVESTATEFILE, _T("Save State..."));
loadMenu->Append(IDM_UNDOSAVESTATE, _T("Last Overwritten State\tShift+F12"));
saveMenu->AppendSeparator();
loadMenu->Append(IDM_LOADSTATEFILE, _T("Load State..."));
loadMenu->Append(IDM_LOADLASTSTATE, _T("Last Saved State\tF11"));
loadMenu->Append(IDM_UNDOSTATE, _T("Last Overwritten State\tF12"));
loadMenu->Append(IDM_UNDOLOADSTATE, _T("Undo Load State\tF12"));
loadMenu->AppendSeparator();
for (int i = 1; i <= 8; i++) {
@ -716,11 +717,17 @@ void CFrame::OnLoadLastState(wxCommandEvent& WXUNUSED (event))
State_LoadLastSaved();
}
void CFrame::OnUndoState(wxCommandEvent& WXUNUSED (event))
void CFrame::OnUndoLoadState(wxCommandEvent& WXUNUSED (event))
{
State_LoadAs(FULL_STATESAVES_DIR "lastState.sav");
State_UndoLoadState();
}
void CFrame::OnUndoSaveState(wxCommandEvent& WXUNUSED (event))
{
State_UndoSaveState();
}
void CFrame::OnLoadState(wxCommandEvent& event)
{
int id = event.GetId();