diff --git a/BizHawk.MultiClient/MainForm.Movie.cs b/BizHawk.MultiClient/MainForm.Movie.cs index 32a4672e34..af755466de 100644 --- a/BizHawk.MultiClient/MainForm.Movie.cs +++ b/BizHawk.MultiClient/MainForm.Movie.cs @@ -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) diff --git a/BizHawk.MultiClient/RecordMovie.cs b/BizHawk.MultiClient/RecordMovie.cs index 5429cfe9a8..1168a2099d 100644 --- a/BizHawk.MultiClient/RecordMovie.cs +++ b/BizHawk.MultiClient/RecordMovie.cs @@ -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; diff --git a/BizHawk.MultiClient/movie/Movie.cs b/BizHawk.MultiClient/movie/Movie.cs index 750c8ab578..82a409c133 100644 --- a/BizHawk.MultiClient/movie/Movie.cs +++ b/BizHawk.MultiClient/movie/Movie.cs @@ -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"); + } } }