Refix recording movies from "Now" so that the StartsFromSavestate flag gets properly stored into the movie file

This commit is contained in:
andres.delikat 2011-09-04 19:04:00 +00:00
parent eb1aca8695
commit bf76e1e7e0
3 changed files with 10 additions and 4 deletions

View File

@ -19,11 +19,12 @@ namespace BizHawk.MultiClient
RewireInputChain(); RewireInputChain();
LoadRom(Global.MainForm.CurrentlyOpenRom); LoadRom(Global.MainForm.CurrentlyOpenRom);
Global.MovieSession.Movie.LoadMovie(); if (!record)
Global.MovieSession.Movie.LoadMovie();
Global.Config.RecentMovies.Add(m.Filename); Global.Config.RecentMovies.Add(m.Filename);
if (Global.MovieSession.Movie.StartsFromSavestate) if (Global.MovieSession.Movie.StartsFromSavestate)
{ {
LoadStateFile(m.Filename, Path.GetFileName(m.Filename)); LoadStateFile(Global.MovieSession.Movie.Filename, Path.GetFileName(Global.MovieSession.Movie.Filename));
Global.Emulator.ResetFrameCounter(); Global.Emulator.ResetFrameCounter();
} }
if (record) if (record)

View File

@ -65,7 +65,7 @@ namespace BizHawk.MultiClient
if (StartFromCombo.SelectedItem.ToString() == "Now") if (StartFromCombo.SelectedItem.ToString() == "Now")
{ {
MovieToRecord.Header.SetHeaderLine(MovieHeader.STARTSFROMSAVESTATE, "1"); MovieToRecord.SetStartsFromSavestate(true);
var temppath = path + ".tmp"; var temppath = path + ".tmp";
var writer = new StreamWriter(temppath); var writer = new StreamWriter(temppath);
Global.Emulator.SaveStateText(writer); Global.Emulator.SaveStateText(writer);
@ -88,7 +88,6 @@ namespace BizHawk.MultiClient
} }
file.Delete(); file.Delete();
} }
Global.MainForm.StartNewMovie(MovieToRecord, true); Global.MainForm.StartNewMovie(MovieToRecord, true);
Global.Config.UseDefaultAuthor = DefaultAuthorCheckBox.Checked; Global.Config.UseDefaultAuthor = DefaultAuthorCheckBox.Checked;

View File

@ -677,5 +677,11 @@ namespace BizHawk.MultiClient
str = line.Substring(x + 1, line.Length - x - 1); str = line.Substring(x + 1, line.Length - x - 1);
return str; return str;
} }
public void SetStartsFromSavestate(bool savestate)
{
StartsFromSavestate = true;
Header.AddHeaderLine(MovieHeader.STARTSFROMSAVESTATE, "1");
}
} }
} }