diff --git a/BizHawk.Client.Common/movie/MovieSession.cs b/BizHawk.Client.Common/movie/MovieSession.cs index 2a4e30444e..32f0a6ffea 100644 --- a/BizHawk.Client.Common/movie/MovieSession.cs +++ b/BizHawk.Client.Common/movie/MovieSession.cs @@ -227,6 +227,11 @@ namespace BizHawk.Client.Common /// is and . does not match . public void QueueNewMovie(IMovie movie, bool record, IEmulator emulator) { + if (movie.IsActive() && movie.Changes) + { + movie.Save(); + } + if (!record) // The semantics of record is that we are starting a new movie, and even wiping a pre-existing movie with the same path, but non-record means we are loading an existing movie into playback mode { movie.Load(false); diff --git a/BizHawk.Client.EmuHawk/MainForm.Movie.cs b/BizHawk.Client.EmuHawk/MainForm.Movie.cs index 7276311c43..d4ea332e29 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Movie.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Movie.cs @@ -11,13 +11,6 @@ namespace BizHawk.Client.EmuHawk { public bool StartNewMovie(IMovie movie, bool record) { - // SuuperW: Check changes. adelikat: this could break bk2 movies - // TODO: Clean up the saving process - if (movie.IsActive() && (movie.Changes || !(movie is TasMovie))) - { - movie.Save(); - } - try { MovieSession.QueueNewMovie(movie, record, Emulator);