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();
LoadRom(Global.MainForm.CurrentlyOpenRom);
Global.MovieSession.Movie.LoadMovie();
if (!record)
Global.MovieSession.Movie.LoadMovie();
Global.Config.RecentMovies.Add(m.Filename);
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();
}
if (record)

View File

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

View File

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