Some renaming of Save/Load state functions and variables to make them less confusing

This commit is contained in:
adelikat 2013-12-30 16:49:13 +00:00
parent 436881beaf
commit fd56efd33a
4 changed files with 118 additions and 116 deletions

View File

@ -293,32 +293,32 @@ namespace BizHawk.Client.EmuHawk
CloseRom(); CloseRom();
} }
private void Savestate1MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave1"); } private void Savestate1MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave1"); }
private void Savestate2MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave2"); } private void Savestate2MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave2"); }
private void Savestate3MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave3"); } private void Savestate3MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave3"); }
private void Savestate4MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave4"); } private void Savestate4MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave4"); }
private void Savestate5MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave5"); } private void Savestate5MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave5"); }
private void Savestate6MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave6"); } private void Savestate6MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave6"); }
private void Savestate7MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave7"); } private void Savestate7MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave7"); }
private void Savestate8MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave8"); } private void Savestate8MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave8"); }
private void Savestate9MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave9"); } private void Savestate9MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave9"); }
private void Savestate0MenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave0"); } private void Savestate0MenuItem_Click(object sender, EventArgs e) { SaveQuickSave("QuickSave0"); }
private void SaveNamedStateMenuItem_Click(object sender, EventArgs e) private void SaveNamedStateMenuItem_Click(object sender, EventArgs e)
{ {
SaveStateAs(); SaveStateAs();
} }
private void Loadstate1MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave1"); } private void Loadstate1MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave1"); }
private void Loadstate2MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave2"); } private void Loadstate2MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave2"); }
private void Loadstate3MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave3"); } private void Loadstate3MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave3"); }
private void Loadstate4MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave4"); } private void Loadstate4MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave4"); }
private void Loadstate5MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave5"); } private void Loadstate5MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave5"); }
private void Loadstate6MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave6"); } private void Loadstate6MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave6"); }
private void Loadstate7MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave7"); } private void Loadstate7MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave7"); }
private void Loadstate8MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave8"); } private void Loadstate8MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave8"); }
private void Loadstate9MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave9"); } private void Loadstate9MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave9"); }
private void Loadstate0MenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave0"); } private void Loadstate0MenuItem_Click(object sender, EventArgs e) { LoadQuickSave("QuickSave0"); }
private void LoadNamedStateMenuItem_Click(object sender, EventArgs e) private void LoadNamedStateMenuItem_Click(object sender, EventArgs e)
{ {
@ -359,12 +359,12 @@ namespace BizHawk.Client.EmuHawk
private void SaveToCurrentSlotMenuItem_Click(object sender, EventArgs e) private void SaveToCurrentSlotMenuItem_Click(object sender, EventArgs e)
{ {
SaveState("QuickSave" + Global.Config.SaveSlot); SaveQuickSave("QuickSave" + Global.Config.SaveSlot);
} }
private void LoadCurrentSlotMenuItem_Click(object sender, EventArgs e) private void LoadCurrentSlotMenuItem_Click(object sender, EventArgs e)
{ {
LoadState("QuickSave" + Global.Config.SaveSlot); LoadQuickSave("QuickSave" + Global.Config.SaveSlot);
} }
private void ReadonlyMenuItem_Click(object sender, EventArgs e) private void ReadonlyMenuItem_Click(object sender, EventArgs e)
@ -1912,12 +1912,12 @@ namespace BizHawk.Client.EmuHawk
{ {
if (_stateSlots.HasSlot(slot)) if (_stateSlots.HasSlot(slot))
{ {
LoadState("QuickSave" + slot); LoadQuickSave("QuickSave" + slot);
} }
} }
else if (e.Button == MouseButtons.Right) else if (e.Button == MouseButtons.Right)
{ {
SaveState("QuickSave" + slot); SaveQuickSave("QuickSave" + slot);
} }
} }
@ -2073,7 +2073,7 @@ namespace BizHawk.Client.EmuHawk
} }
else if (ext.ToUpper() == ".STATE") else if (ext.ToUpper() == ".STATE")
{ {
LoadStateFile(filePaths[0], Path.GetFileName(filePaths[0])); LoadState(filePaths[0], Path.GetFileName(filePaths[0]));
} }
else if (ext.ToUpper() == ".CHT") else if (ext.ToUpper() == ".CHT")
{ {

View File

@ -65,7 +65,7 @@ namespace BizHawk.Client.EmuHawk
if (Global.MovieSession.Movie.Header.StartsFromSavestate) if (Global.MovieSession.Movie.Header.StartsFromSavestate)
{ {
LoadStateFile(Global.MovieSession.Movie.Filename, Path.GetFileName(Global.MovieSession.Movie.Filename)); LoadState(Global.MovieSession.Movie.Filename, Path.GetFileName(Global.MovieSession.Movie.Filename));
Global.Emulator.ResetCounters(); Global.Emulator.ResetCounters();
} }
@ -148,7 +148,7 @@ namespace BizHawk.Client.EmuHawk
LoadRom(CurrentlyOpenRom, true, true); LoadRom(CurrentlyOpenRom, true, true);
if (Global.MovieSession.Movie.Header.StartsFromSavestate) if (Global.MovieSession.Movie.Header.StartsFromSavestate)
{ {
LoadStateFile(Global.MovieSession.Movie.Filename, Path.GetFileName(Global.MovieSession.Movie.Filename)); LoadState(Global.MovieSession.Movie.Filename, Path.GetFileName(Global.MovieSession.Movie.Filename));
Global.Emulator.ResetCounters(); Global.Emulator.ResetCounters();
} }

View File

@ -265,11 +265,11 @@ namespace BizHawk.Client.EmuHawk
if (cmdLoadState != null && Global.Game != null) if (cmdLoadState != null && Global.Game != null)
{ {
LoadState("QuickSave" + cmdLoadState); LoadQuickSave("QuickSave" + cmdLoadState);
} }
else if (Global.Config.AutoLoadLastSaveSlot && Global.Game != null) else if (Global.Config.AutoLoadLastSaveSlot && Global.Game != null)
{ {
LoadState("QuickSave" + Global.Config.SaveSlot); LoadQuickSave("QuickSave" + Global.Config.SaveSlot);
} }
if (Global.Config.RecentWatches.AutoLoad) if (Global.Config.RecentWatches.AutoLoad)
@ -1012,8 +1012,8 @@ namespace BizHawk.Client.EmuHawk
_unthrottled ^= true; _unthrottled ^= true;
GlobalWin.OSD.AddMessage("Unthrottled: " + _unthrottled); GlobalWin.OSD.AddMessage("Unthrottled: " + _unthrottled);
break; break;
case "Quick Load": LoadState("QuickSave" + Global.Config.SaveSlot); break; case "Quick Load": LoadQuickSave("QuickSave" + Global.Config.SaveSlot); break;
case "Quick Save": SaveState("QuickSave" + Global.Config.SaveSlot); break; case "Quick Save": SaveQuickSave("QuickSave" + Global.Config.SaveSlot); break;
case "Screenshot": TakeScreenshot(); break; case "Screenshot": TakeScreenshot(); break;
case "Full Screen": ToggleFullscreen(); break; case "Full Screen": ToggleFullscreen(); break;
case "Open ROM": OpenRom(); break; case "Open ROM": OpenRom(); break;
@ -1039,26 +1039,26 @@ namespace BizHawk.Client.EmuHawk
Global.Config.AutoSavestates = autoSaveState; Global.Config.AutoSavestates = autoSaveState;
break; break;
case "Save State 0": SaveState("QuickSave0"); break; case "Save State 0": SaveQuickSave("QuickSave0"); break;
case "Save State 1": SaveState("QuickSave1"); break; case "Save State 1": SaveQuickSave("QuickSave1"); break;
case "Save State 2": SaveState("QuickSave2"); break; case "Save State 2": SaveQuickSave("QuickSave2"); break;
case "Save State 3": SaveState("QuickSave3"); break; case "Save State 3": SaveQuickSave("QuickSave3"); break;
case "Save State 4": SaveState("QuickSave4"); break; case "Save State 4": SaveQuickSave("QuickSave4"); break;
case "Save State 5": SaveState("QuickSave5"); break; case "Save State 5": SaveQuickSave("QuickSave5"); break;
case "Save State 6": SaveState("QuickSave6"); break; case "Save State 6": SaveQuickSave("QuickSave6"); break;
case "Save State 7": SaveState("QuickSave7"); break; case "Save State 7": SaveQuickSave("QuickSave7"); break;
case "Save State 8": SaveState("QuickSave8"); break; case "Save State 8": SaveQuickSave("QuickSave8"); break;
case "Save State 9": SaveState("QuickSave9"); break; case "Save State 9": SaveQuickSave("QuickSave9"); break;
case "Load State 0": LoadState("QuickSave0"); break; case "Load State 0": LoadQuickSave("QuickSave0"); break;
case "Load State 1": LoadState("QuickSave1"); break; case "Load State 1": LoadQuickSave("QuickSave1"); break;
case "Load State 2": LoadState("QuickSave2"); break; case "Load State 2": LoadQuickSave("QuickSave2"); break;
case "Load State 3": LoadState("QuickSave3"); break; case "Load State 3": LoadQuickSave("QuickSave3"); break;
case "Load State 4": LoadState("QuickSave4"); break; case "Load State 4": LoadQuickSave("QuickSave4"); break;
case "Load State 5": LoadState("QuickSave5"); break; case "Load State 5": LoadQuickSave("QuickSave5"); break;
case "Load State 6": LoadState("QuickSave6"); break; case "Load State 6": LoadQuickSave("QuickSave6"); break;
case "Load State 7": LoadState("QuickSave7"); break; case "Load State 7": LoadQuickSave("QuickSave7"); break;
case "Load State 8": LoadState("QuickSave8"); break; case "Load State 8": LoadQuickSave("QuickSave8"); break;
case "Load State 9": LoadState("QuickSave9"); break; case "Load State 9": LoadQuickSave("QuickSave9"); break;
case "Select State 0": SelectSlot(0); break; case "Select State 0": SelectSlot(0); break;
case "Select State 1": SelectSlot(1); break; case "Select State 1": SelectSlot(1); break;
case "Select State 2": SelectSlot(2); break; case "Select State 2": SelectSlot(2); break;
@ -1694,7 +1694,7 @@ namespace BizHawk.Client.EmuHawk
var result = sfd.ShowHawkDialog(); var result = sfd.ShowHawkDialog();
if (result == DialogResult.OK) if (result == DialogResult.OK)
{ {
SaveStateFile(sfd.FileName, sfd.FileName, false); SaveState(sfd.FileName, sfd.FileName, false);
} }
} }
@ -1723,7 +1723,7 @@ namespace BizHawk.Client.EmuHawk
return; return;
} }
LoadStateFile(ofd.FileName, Path.GetFileName(ofd.FileName)); LoadState(ofd.FileName, Path.GetFileName(ofd.FileName));
} }
private static void SaveSlotSelectedMessage() private static void SaveSlotSelectedMessage()
@ -2361,6 +2361,59 @@ namespace BizHawk.Client.EmuHawk
}); });
} }
public void LoadState(string path, string userFriendlyStateName, bool fromLua = false) // Move to client.common
{
GlobalWin.DisplayManager.NeedsToPaint = true;
if (SavestateManager.LoadStateFile(path, userFriendlyStateName))
{
SetMainformMovieInfo();
GlobalWin.OSD.ClearGUIText();
GlobalWin.Tools.UpdateToolsBefore(fromLua);
UpdateToolsAfter(fromLua);
UpdateToolsLoadstate();
GlobalWin.OSD.AddMessage("Loaded state: " + userFriendlyStateName);
if (GlobalWin.Tools.Has<LuaConsole>())
{
GlobalWin.Tools.LuaConsole.LuaImp.CallLoadStateEvent(userFriendlyStateName);
}
}
else
{
GlobalWin.OSD.AddMessage("Loadstate error!");
}
}
public void LoadQuickSave(string quickSlotName, bool fromLua = false)
{
if (Global.Emulator is NullEmulator)
{
return;
}
var path = PathManager.SaveStatePrefix(Global.Game) + "." + quickSlotName + ".State";
if (File.Exists(path) == false)
{
GlobalWin.OSD.AddMessage("Unable to load " + quickSlotName + ".State");
return;
}
LoadState(path, quickSlotName, fromLua);
}
public void SaveState(string path, string userFriendlyStateName, bool fromLua)
{
SavestateManager.SaveStateFile(path, userFriendlyStateName);
GlobalWin.OSD.AddMessage("Saved state: " + userFriendlyStateName);
if (!fromLua)
{
UpdateStatusSlots();
}
}
// Alt key hacks // Alt key hacks
protected override void WndProc(ref Message m) protected override void WndProc(ref Message m)
{ {
@ -2962,7 +3015,7 @@ namespace BizHawk.Client.EmuHawk
if (Global.Config.AutoSavestates) if (Global.Config.AutoSavestates)
{ {
LoadState("Auto"); LoadQuickSave("Auto");
} }
GlobalWin.Tools.Restart(); GlobalWin.Tools.Restart();
@ -3011,14 +3064,15 @@ namespace BizHawk.Client.EmuHawk
} }
} }
public void SaveState(string name) // Move to client.common // TODO: should backup logic be stuffed in into Client.Common.SaveStateManager?
public void SaveQuickSave(string quickSlotName)
{ {
if (Global.Emulator is NullEmulator) if (Global.Emulator is NullEmulator)
{ {
return; return;
} }
var path = PathManager.SaveStatePrefix(Global.Game) + "." + name + ".State"; var path = PathManager.SaveStatePrefix(Global.Game) + "." + quickSlotName + ".State";
var file = new FileInfo(path); var file = new FileInfo(path);
if (file.Directory != null && file.Directory.Exists == false) if (file.Directory != null && file.Directory.Exists == false)
@ -3026,6 +3080,7 @@ namespace BizHawk.Client.EmuHawk
file.Directory.Create(); file.Directory.Create();
} }
// Make backup first // Make backup first
if (Global.Config.BackupSavestates && file.Exists) if (Global.Config.BackupSavestates && file.Exists)
{ {
@ -3039,67 +3094,14 @@ namespace BizHawk.Client.EmuHawk
file.CopyTo(backup); file.CopyTo(backup);
} }
SaveStateFile(path, name, false); SaveState(path, quickSlotName, false);
if (GlobalWin.Tools.Has<LuaConsole>()) if (GlobalWin.Tools.Has<LuaConsole>())
{ {
GlobalWin.Tools.LuaConsole.LuaImp.CallSaveStateEvent(name); GlobalWin.Tools.LuaConsole.LuaImp.CallSaveStateEvent(quickSlotName);
} }
} }
public void SaveStateFile(string filename, string name, bool fromLua) // Move to client.common
{
SavestateManager.SaveStateFile(filename, name);
GlobalWin.OSD.AddMessage("Saved state: " + name);
if (!fromLua)
{
UpdateStatusSlots();
}
}
public void LoadStateFile(string path, string name, bool fromLua = false) // Move to client.commo
{
GlobalWin.DisplayManager.NeedsToPaint = true;
if (SavestateManager.LoadStateFile(path, name))
{
SetMainformMovieInfo();
GlobalWin.OSD.ClearGUIText();
GlobalWin.Tools.UpdateToolsBefore(fromLua);
UpdateToolsAfter(fromLua);
UpdateToolsLoadstate();
GlobalWin.OSD.AddMessage("Loaded state: " + name);
if (GlobalWin.Tools.Has<LuaConsole>())
{
GlobalWin.Tools.LuaConsole.LuaImp.CallLoadStateEvent(name);
}
}
else
{
GlobalWin.OSD.AddMessage("Loadstate error!");
}
}
public void LoadState(string name, bool fromLua = false) // Move to client.commo
{
if (Global.Emulator is NullEmulator)
{
return;
}
var path = PathManager.SaveStatePrefix(Global.Game) + "." + name + ".State";
if (File.Exists(path) == false)
{
GlobalWin.OSD.AddMessage("Unable to load " + name + ".State");
return;
}
LoadStateFile(path, name, fromLua);
}
private static void CommitCoreSettingsToConfig() private static void CommitCoreSettingsToConfig()
{ {
// save settings object // save settings object
@ -3119,7 +3121,7 @@ namespace BizHawk.Client.EmuHawk
{ {
if (Global.Config.AutoSavestates && Global.Emulator is NullEmulator == false) if (Global.Config.AutoSavestates && Global.Emulator is NullEmulator == false)
{ {
SaveState("Auto"); SaveQuickSave("Auto");
} }
if (clearSram) if (clearSram)

View File

@ -25,7 +25,7 @@ namespace BizHawk.Client.EmuHawk
{ {
if (lua_input is string) if (lua_input is string)
{ {
GlobalWin.MainForm.LoadStateFile(lua_input.ToString(), Path.GetFileName(lua_input.ToString()), true); GlobalWin.MainForm.LoadState(lua_input.ToString(), Path.GetFileName(lua_input.ToString()), true);
} }
} }
@ -35,7 +35,7 @@ namespace BizHawk.Client.EmuHawk
if (slot >= 0 && slot <= 9) if (slot >= 0 && slot <= 9)
{ {
GlobalWin.MainForm.LoadState("QuickSave" + slot.ToString(), true); GlobalWin.MainForm.LoadQuickSave("QuickSave" + slot.ToString(), true);
} }
} }
@ -44,7 +44,7 @@ namespace BizHawk.Client.EmuHawk
if (lua_input is string) if (lua_input is string)
{ {
string path = lua_input.ToString(); string path = lua_input.ToString();
GlobalWin.MainForm.SaveStateFile(path, path, true); GlobalWin.MainForm.SaveState(path, path, true);
} }
} }
@ -54,7 +54,7 @@ namespace BizHawk.Client.EmuHawk
if (slot >= 0 && slot <= 9) if (slot >= 0 && slot <= 9)
{ {
GlobalWin.MainForm.SaveState("QuickSave" + slot.ToString()); GlobalWin.MainForm.SaveQuickSave("QuickSave" + slot.ToString());
} }
} }
} }