diff --git a/BizHawk.Client.Common/config/Config.cs b/BizHawk.Client.Common/config/Config.cs index b20c90b894..d0ea64d8d4 100644 --- a/BizHawk.Client.Common/config/Config.cs +++ b/BizHawk.Client.Common/config/Config.cs @@ -476,6 +476,7 @@ namespace BizHawk.Client.Common // TAStudio Dialog public bool TAStudioSaveWindowPosition = true; public bool AutoloadTAStudio = false; + public bool AutoloadTAStudioProject = false; public bool TAStudioTopMost = true; public int TASWndx = -1; public int TASWndy = -1; diff --git a/BizHawk.Client.Common/movie/TasMovie.cs b/BizHawk.Client.Common/movie/TasMovie.cs index 94ef7b9c01..222215a0da 100644 --- a/BizHawk.Client.Common/movie/TasMovie.cs +++ b/BizHawk.Client.Common/movie/TasMovie.cs @@ -288,6 +288,11 @@ namespace BizHawk.Client.Common public bool Load() { + var file = new FileInfo(Filename); + if (!file.Exists) + { + return false; + } // there's a lot of common code here with SavestateManager. refactor? using (BinaryStateLoader bw = BinaryStateLoader.LoadAndDetect(Filename)) { diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs index 94b2d57b4c..7b66bf52c8 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs @@ -108,6 +108,7 @@ namespace BizHawk.Client.EmuHawk this.MarkerDescriptionBox = new System.Windows.Forms.TextBox(); this.TopMarkerBox = new System.Windows.Forms.TextBox(); this.TopMarkerLabel = new System.Windows.Forms.Label(); + this.AutoloadProjectMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TASMenu.SuspendLayout(); this.SuspendLayout(); // @@ -578,6 +579,7 @@ namespace BizHawk.Client.EmuHawk // this.SettingsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.AutoloadMenuItem, + this.AutoloadProjectMenuItem, this.SaveWindowPositionMenuItem, this.AlwaysOnTopMenuItem, this.toolStripSeparator12, @@ -718,6 +720,13 @@ namespace BizHawk.Client.EmuHawk this.TopMarkerLabel.TabIndex = 4; this.TopMarkerLabel.Text = "Marker 99999"; // + // AutloadProjectMenuItem + // + this.AutoloadProjectMenuItem.Name = "AutloadProjectMenuItem"; + this.AutoloadProjectMenuItem.Size = new System.Drawing.Size(199, 22); + this.AutoloadProjectMenuItem.Text = "Autload &Project"; + this.AutoloadProjectMenuItem.Click += new System.EventHandler(this.AutoloadProjectMenuItem_Click); + // // TAStudio // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -819,5 +828,6 @@ namespace BizHawk.Client.EmuHawk private System.Windows.Forms.TextBox MarkerDescriptionBox; private System.Windows.Forms.TextBox TopMarkerBox; private System.Windows.Forms.Label TopMarkerLabel; + private System.Windows.Forms.ToolStripMenuItem AutoloadProjectMenuItem; } } \ No newline at end of file diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index ff385aba0b..18ac32baf1 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -158,10 +158,23 @@ namespace BizHawk.Client.EmuHawk } } - EngageTasStudio(); - LoadConfigSettings(); - _tas.ActivePlayers = new List { "Player 1" }; + if (Global.Config.AutoloadTAStudioProject) + { + Global.MovieSession.Movie = new TasMovie(); + _tas = Global.MovieSession.Movie as TasMovie; + LoadFileFromRecent(Global.Config.RecentTas[0]); + } + else + { + EngageTasStudio(); + + } + + _tas.ActivePlayers = new List { "Player 1" }; // TODO + + SetUpColumns(); + LoadConfigSettings(); } private void EngageTasStudio() @@ -239,13 +252,7 @@ namespace BizHawk.Client.EmuHawk public void LoadFileFromRecent(string path) { - var askResult = true; - if (_tas.Changes) - { - askResult = AskSave(); - } - - if (askResult) + if (AskSave()) { _tas.Filename = path; var loadResult = _tas.Load(); @@ -286,14 +293,17 @@ namespace BizHawk.Client.EmuHawk private void OpenTASMenuItem_Click(object sender, EventArgs e) { - var file = ToolHelpers.GetTasProjFileFromUser(_tas.Filename); - if (file != null) + if (AskSave()) { - _tas.Filename = file.FullName; - _tas.Load(); - Global.Config.RecentTas.Add(_tas.Filename); - TASView.ItemCount = _tas.InputLogLength; - // TOOD: message to the user + var file = ToolHelpers.GetTasProjFileFromUser(_tas.Filename); + if (file != null) + { + _tas.Filename = file.FullName; + _tas.Load(); + Global.Config.RecentTas.Add(_tas.Filename); + TASView.ItemCount = _tas.InputLogLength; + // TOOD: message to the user + } } } @@ -349,6 +359,7 @@ namespace BizHawk.Client.EmuHawk { SaveWindowPositionMenuItem.Checked = Global.Config.TAStudioSaveWindowPosition; AutoloadMenuItem.Checked = Global.Config.AutoloadTAStudio; + AutoloadProjectMenuItem.Checked = Global.Config.AutoloadTAStudioProject; AlwaysOnTopMenuItem.Checked = Global.Config.TAStudioTopMost; } @@ -357,6 +368,11 @@ namespace BizHawk.Client.EmuHawk Global.Config.AutoloadTAStudio ^= true; } + private void AutoloadProjectMenuItem_Click(object sender, EventArgs e) + { + Global.Config.AutoloadTAStudioProject ^= true; + } + private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e) { Global.Config.TAStudioSaveWindowPosition ^= true;