TAStudio - fixes to file opening and saving changes, implement autoload project

This commit is contained in:
adelikat 2013-12-14 19:51:07 +00:00
parent 69e8e42d61
commit 415985cd2e
4 changed files with 49 additions and 17 deletions

View File

@ -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;

View File

@ -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))
{

View File

@ -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;
}
}

View File

@ -158,10 +158,23 @@ namespace BizHawk.Client.EmuHawk
}
}
EngageTasStudio();
LoadConfigSettings();
_tas.ActivePlayers = new List<string> { "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<string> { "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;