/// <summary> /// Latch input from the input log, if available /// </summary> public void LatchInputFromLog() { if (Global.Emulator.Frame < Movie.InputLogLength - (Global.Config.MovieEndAction == MovieEndAction.Pause ? 1 : 0)) // Pause logic is a hack for now { var input = Movie.GetInputState(Global.Emulator.Frame); MovieControllerAdapter.LatchFromSource(input); } else { HandlePlaybackEnd(); } }
/// <summary> /// Latch input from the input log, if available /// </summary> public void LatchInputFromLog() { var input = Movie.GetInputState(Global.Emulator.Frame); if (Global.Emulator.Frame == 0) // Hacky { HandleMovieAfterFrameLoop(); // Frame 0 needs to be handled. } MovieControllerAdapter.LatchFromSource(input); if (MultiTrack.IsActive) { Global.MultitrackRewiringAdapter.Source = MovieControllerAdapter; } }
private void LatchMultitrackPlayerInput(MultitrackRewiringControllerAdapter rewiredSource) { if (MultiTrack.IsActive) { rewiredSource.PlayerSource = 1; rewiredSource.PlayerTargetMask = 1 << MultiTrack.CurrentPlayer; if (MultiTrack.RecordAll) { rewiredSource.PlayerTargetMask = unchecked ((int)0xFFFFFFFF); } if (Movie.InputLogLength > Global.Emulator.Frame) { var input = Movie.GetInputState(Global.Emulator.Frame); MovieControllerAdapter.LatchFromSource(input); } MovieControllerAdapter.LatchPlayerFromSource(rewiredSource, MultiTrack.CurrentPlayer); } }
/// <summary> /// Latch input from the input log, if available /// </summary> public void LatchInputFromLog() { var input = Movie.GetInputState(Global.Emulator.Frame); // adelikat: TODO: this is likely the source of frame 0 TAStudio bugs, I think the intent is to check if the movie is 0 length? if (Global.Emulator.Frame == 0) // Hacky { HandleMovieAfterFrameLoop(); // Frame 0 needs to be handled. } if (input == null) { HandleMovieAfterFrameLoop(); return; } MovieControllerAdapter.LatchFromSource(input); if (MultiTrack.IsActive) { Global.MultitrackRewiringAdapter.Source = MovieControllerAdapter; } }
public void LatchInputFromPlayer(IController source) { MovieControllerAdapter.LatchFromSource(source); }