diff --git a/BizHawk.MultiClient/MainForm.Movie.cs b/BizHawk.MultiClient/MainForm.Movie.cs index ebd134792f..332be7de69 100644 --- a/BizHawk.MultiClient/MainForm.Movie.cs +++ b/BizHawk.MultiClient/MainForm.Movie.cs @@ -299,7 +299,17 @@ namespace BizHawk.MultiClient else if (TAStudio1.IsHandleCreated && !TAStudio1.IsDisposed || Global.Config.MoviePlaybackPokeMode) { Global.MovieSession.LatchInputFromPlayer(Global.MovieInputSourceAdapter); - Global.MovieSession.Movie.PokeFrame(Global.Emulator.Frame, Global.MovieOutputHardpoint); + MnemonicsGenerator mg = new MnemonicsGenerator(); + mg.SetSource( Global.MovieOutputHardpoint); + if (!mg.IsEmpty) + { + Global.MovieSession.LatchInputFromPlayer(Global.MovieInputSourceAdapter); + Global.MovieSession.Movie.PokeFrame(Global.Emulator.Frame, mg.GetControllersAsMnemonic()); + } + else + { + Global.MovieSession.LatchInputFromLog(); + } } } } diff --git a/BizHawk.MultiClient/movie/Movie.cs b/BizHawk.MultiClient/movie/Movie.cs index e1ea07a76b..3e9dc82bec 100644 --- a/BizHawk.MultiClient/movie/Movie.cs +++ b/BizHawk.MultiClient/movie/Movie.cs @@ -578,15 +578,10 @@ namespace BizHawk.MultiClient } } - public void PokeFrame(int frameNum, IController source) + public void PokeFrame(int frameNum, string input) { - MnemonicsGenerator mg = new MnemonicsGenerator(); - mg.SetSource(source); - if (!mg.IsEmpty) - { - changes = true; - Log.SetFrameAt(frameNum, mg.GetControllersAsMnemonic()); - } + changes = true; + Log.SetFrameAt(frameNum, input); } public void CommitFrame(int frameNum, IController source)