Ejemplo n.º 1
0
 /// <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();
     }
 }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        /// <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;
            }
        }
Ejemplo n.º 5
0
 public void LatchInputFromPlayer(IController source)
 {
     MovieControllerAdapter.LatchFromSource(source);
 }