client saves framebuffer into text states

This commit is contained in:
zeromus 2011-09-11 21:08:41 +00:00
parent 8f668ee75d
commit 8ee8711b1a
1 changed files with 22 additions and 0 deletions

View File

@ -1759,6 +1759,10 @@ namespace BizHawk.MultiClient
{
Global.Emulator.SaveStateText(writer);
HandleMovieSaveState(writer);
writer.WriteLine("[MULTICLIENT]");
writer.Write("FRAMEBUFFER "); Global.Emulator.VideoProvider.GetVideoBuffer().SaveAsHex(writer);
writer.WriteLine("[/MULTICLIENT]");
writer.Close();
Global.RenderPanel.AddMessage("Saved state: " + name);
UpdateStatusSlots();
@ -1788,6 +1792,24 @@ namespace BizHawk.MultiClient
{
var reader = new StreamReader(path);
Global.Emulator.LoadStateText(reader);
reader = new StreamReader(path);
while (true)
{
string[] args = reader.ReadLine().Split(' ');
if (args[0].Trim() == "") continue;
if (args[0] != "[MULTICLIENT]") continue;
break;
}
while (true)
{
string[] args = reader.ReadLine().Split(' ');
if (args[0].Trim() == "") continue;
if (args[0] == "[/MULTICLIENT]") break;
if (args[0] == "FRAMEBUFFER")
Global.Emulator.VideoProvider.GetVideoBuffer().ReadFromHex(args[1]);
}
UpdateTools();
reader.Close();
Global.RenderPanel.AddMessage("Loaded state: " + name);