Drag & Drop savestates

This commit is contained in:
andres.delikat 2011-05-22 19:52:49 +00:00
parent a249d3b3ed
commit 16d282a15d
1 changed files with 17 additions and 14 deletions

View File

@ -523,8 +523,8 @@ namespace BizHawk.MultiClient
case ".TAS": //Bizhawk case ".TAS": //Bizhawk
case ".FM2": //FCUEX case ".FM2": //FCUEX
case ".MC2": //PCEjin case ".MC2": //PCEjin
case ".STATE": //Savestates //case ".STATE": //Savestates
return true; // return true;
default: default:
return false; return false;
} }
@ -539,6 +539,8 @@ namespace BizHawk.MultiClient
StartNewMovie(m, false); StartNewMovie(m, false);
} }
else if (Path.GetExtension(filePaths[0]).ToUpper() == ".STATE")
LoadStateFile(filePaths[0], Path.GetFileName(filePaths[0]));
else else
LoadRom(filePaths[0]); LoadRom(filePaths[0]);
} }
@ -1285,17 +1287,22 @@ namespace BizHawk.MultiClient
} }
} }
private void LoadStateFile(string path, string name)
{
var reader = new StreamReader(path);
Global.Emulator.LoadStateText(reader);
HandleMovieLoadState(reader);
reader.Close();
Global.RenderPanel.AddMessage("Loaded state: " + name);
}
private void LoadState(string name) private void LoadState(string name)
{ {
string path = Global.Game.SaveStatePrefix + "." + name + ".State"; string path = Global.Game.SaveStatePrefix + "." + name + ".State";
if (File.Exists(path) == false) if (File.Exists(path) == false)
return; return;
var reader = new StreamReader(path); LoadStateFile(path, name);
Global.Emulator.LoadStateText(reader);
HandleMovieLoadState(reader);
reader.Close();
Global.RenderPanel.AddMessage("Loaded state: " + name);
} }
private void LoadStateAs() private void LoadStateAs()
@ -1315,11 +1322,7 @@ namespace BizHawk.MultiClient
if (File.Exists(ofd.FileName) == false) if (File.Exists(ofd.FileName) == false)
return; return;
var reader = new StreamReader(ofd.FileName); LoadStateFile(ofd.FileName, Path.GetFileName(ofd.FileName));
Global.Emulator.LoadStateText(reader);
HandleMovieLoadState(reader);
reader.Close();
Global.RenderPanel.AddMessage(ofd.FileName + " loaded");
} }
private void SaveSlotSelectedMessage() private void SaveSlotSelectedMessage()