diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
index a07f8e6d45..2d1b6393a2 100644
--- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
+++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
@@ -835,6 +835,14 @@
LuaBox.cs
+
+ TAStudio.cs
+ Form
+
+
+ TAStudio.cs
+ Form
+
UserControl
diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IControlMainForm.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IControlMainForm.cs
new file mode 100644
index 0000000000..a1c1ffcd8f
--- /dev/null
+++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IControlMainForm.cs
@@ -0,0 +1,10 @@
+namespace BizHawk.Client.EmuHawk
+{
+ public partial class TAStudio : IControlMainform
+ {
+ public void ToggleReadOnly()
+ {
+ GlobalWin.OSD.AddMessage("TAStudio does not allow manual readonly toggle");
+ }
+ }
+}
diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IToolForm.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IToolForm.cs
new file mode 100644
index 0000000000..d9c6755545
--- /dev/null
+++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IToolForm.cs
@@ -0,0 +1,60 @@
+using System.Windows.Forms;
+using BizHawk.Client.Common;
+
+namespace BizHawk.Client.EmuHawk
+{
+ public partial class TAStudio : IToolForm
+ {
+ public bool UpdateBefore { get { return false; } }
+
+ public void UpdateValues()
+ {
+ if (!IsHandleCreated || IsDisposed)
+ {
+ return;
+ }
+
+ TasView.ItemCount = _tas.InputLogLength;
+ if (_tas.IsRecording)
+ {
+ TasView.ensureVisible(_tas.InputLogLength - 1);
+ }
+ else
+ {
+ TasView.ensureVisible(Global.Emulator.Frame - 1);
+ }
+ }
+
+ public void Restart()
+ {
+ if (!IsHandleCreated || IsDisposed)
+ {
+ return;
+ }
+ }
+
+ public bool AskSave()
+ {
+ if (_tas.Changes)
+ {
+ GlobalWin.Sound.StopSound();
+ var result = MessageBox.Show("Save Changes?", "Tastudio", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3);
+ GlobalWin.Sound.StartSound();
+ if (result == DialogResult.Yes)
+ {
+ SaveTasMenuItem_Click(null, null);
+ }
+ else if (result == DialogResult.No)
+ {
+ return true;
+ }
+ else if (result == DialogResult.Cancel)
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+ }
+}
diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
index d9f97b3fa4..cf9c20d527 100644
--- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
+++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
@@ -70,74 +70,6 @@ namespace BizHawk.Client.EmuHawk
TasView.PointedCellChanged += TasView_PointedCellChanged;
}
- #region IToolForm implementation
-
- public bool AskSave()
- {
- if (_tas.Changes)
- {
- GlobalWin.Sound.StopSound();
- var result = MessageBox.Show("Save Changes?", "Tastudio", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3);
- GlobalWin.Sound.StartSound();
- if (result == DialogResult.Yes)
- {
- SaveTasMenuItem_Click(null, null);
- }
- else if (result == DialogResult.No)
- {
- return true;
- }
- else if (result == DialogResult.Cancel)
- {
- return false;
- }
- }
-
- return true;
- }
-
- public bool UpdateBefore
- {
- get { return false; }
- }
-
- public void UpdateValues()
- {
- if (!IsHandleCreated || IsDisposed)
- {
- return;
- }
-
- TasView.ItemCount = _tas.InputLogLength;
- if (_tas.IsRecording)
- {
- TasView.ensureVisible(_tas.InputLogLength - 1);
- }
- else
- {
- TasView.ensureVisible(Global.Emulator.Frame - 1);
- }
- }
-
- public void Restart()
- {
- if (!IsHandleCreated || IsDisposed)
- {
- return;
- }
- }
-
- #endregion
-
- #region IControlMainform implementation
-
- public void ToggleReadOnly()
- {
- GlobalWin.OSD.AddMessage("TAStudio does not allow manual readonly toggle");
- }
-
- #endregion
-
private void TasView_QueryItemBkColor(int index, int column, ref Color color)
{
var record = _tas[index];