From 863d6f09ee1d538f0b42540bb270875b38aef399 Mon Sep 17 00:00:00 2001 From: adelikat Date: Tue, 8 Jul 2014 13:33:01 +0000 Subject: [PATCH] small tastudio progress --- BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs | 2 +- BizHawk.Client.Common/movie/tasproj/TasMovie.cs | 7 +++++++ BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs | 13 +++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs b/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs index 35a6f3c24c..8014d91dfa 100644 --- a/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs +++ b/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs @@ -27,7 +27,7 @@ namespace BizHawk.Client.Common get { return _mode == Moviemode.Finished; } } - public void StartNewRecording() + public virtual void StartNewRecording() { _mode = Moviemode.Record; if (Global.Config.EnableBackupMovies && _makeBackup && _log.Any()) diff --git a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs index 0e86f6832e..222eac8ba6 100644 --- a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs +++ b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs @@ -41,5 +41,12 @@ namespace BizHawk.Client.Common }; } } + + public override void StartNewRecording() + { + LagLog.Clear(); + StateManager.Clear(); + base.StartNewRecording(); + } } } diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index d914cf6c82..10bd71ea6c 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -180,6 +180,7 @@ namespace BizHawk.Client.EmuHawk private void Tastudio_Load(object sender, EventArgs e) { + // Start Scenario 1: A regular movie is active if (Global.MovieSession.Movie.IsActive && !(Global.MovieSession.Movie is TasMovie)) { var result = MessageBox.Show("In order to use Tastudio, a new project must be created from the current movie\nThe current movie will be saved and closed, and a new project file will be created\nProceed?", "Convert movie", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); @@ -196,16 +197,22 @@ namespace BizHawk.Client.EmuHawk return; } } + + // Start Scenario 2: A tasproj is already active else if (Global.MovieSession.Movie.IsActive && Global.MovieSession.Movie is TasMovie) { _tas = Global.MovieSession.Movie as TasMovie; } + + // Start Scenario 3: No movie, but user wants to autload their last project else if (Global.Config.AutoloadTAStudioProject) { Global.MovieSession.Movie = new TasMovie(); _tas = Global.MovieSession.Movie as TasMovie; LoadFileFromRecent(Global.Config.RecentTas[0]); } + + // Start Scenario 4: No movie, default behavior of engaging tastudio with a new default project else { EngageTasStudio(); @@ -219,17 +226,14 @@ namespace BizHawk.Client.EmuHawk { GlobalWin.OSD.AddMessage("TAStudio engaged"); Global.MovieSession.Movie = newMovie ?? new TasMovie(); - _tas = Global.MovieSession.Movie as TasMovie; - _tas.StartNewRecording(); - GlobalWin.MainForm.StartNewMovie(_tas, record: true); + StartNewSession(); } private void StartNewSession() { if (AskSave()) { - GlobalWin.OSD.AddMessage("new TAStudio session started"); _tas.StartNewRecording(); GlobalWin.MainForm.StartNewMovie(_tas, record: true); TasView.ItemCount = _tas.InputLogLength; @@ -374,6 +378,7 @@ namespace BizHawk.Client.EmuHawk private void NewTasMenuItem_Click(object sender, EventArgs e) { + GlobalWin.OSD.AddMessage("new TAStudio session started"); StartNewSession(); }