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 // TAStudio Dialog
public bool TAStudioSaveWindowPosition = true; public bool TAStudioSaveWindowPosition = true;
public bool AutoloadTAStudio = false; public bool AutoloadTAStudio = false;
public bool AutoloadTAStudioProject = false;
public bool TAStudioTopMost = true; public bool TAStudioTopMost = true;
public int TASWndx = -1; public int TASWndx = -1;
public int TASWndy = -1; public int TASWndy = -1;

View File

@ -288,6 +288,11 @@ namespace BizHawk.Client.Common
public bool Load() public bool Load()
{ {
var file = new FileInfo(Filename);
if (!file.Exists)
{
return false;
}
// there's a lot of common code here with SavestateManager. refactor? // there's a lot of common code here with SavestateManager. refactor?
using (BinaryStateLoader bw = BinaryStateLoader.LoadAndDetect(Filename)) using (BinaryStateLoader bw = BinaryStateLoader.LoadAndDetect(Filename))
{ {

View File

@ -108,6 +108,7 @@ namespace BizHawk.Client.EmuHawk
this.MarkerDescriptionBox = new System.Windows.Forms.TextBox(); this.MarkerDescriptionBox = new System.Windows.Forms.TextBox();
this.TopMarkerBox = new System.Windows.Forms.TextBox(); this.TopMarkerBox = new System.Windows.Forms.TextBox();
this.TopMarkerLabel = new System.Windows.Forms.Label(); this.TopMarkerLabel = new System.Windows.Forms.Label();
this.AutoloadProjectMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.TASMenu.SuspendLayout(); this.TASMenu.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
@ -578,6 +579,7 @@ namespace BizHawk.Client.EmuHawk
// //
this.SettingsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.SettingsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.AutoloadMenuItem, this.AutoloadMenuItem,
this.AutoloadProjectMenuItem,
this.SaveWindowPositionMenuItem, this.SaveWindowPositionMenuItem,
this.AlwaysOnTopMenuItem, this.AlwaysOnTopMenuItem,
this.toolStripSeparator12, this.toolStripSeparator12,
@ -718,6 +720,13 @@ namespace BizHawk.Client.EmuHawk
this.TopMarkerLabel.TabIndex = 4; this.TopMarkerLabel.TabIndex = 4;
this.TopMarkerLabel.Text = "Marker 99999"; 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 // TAStudio
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 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 MarkerDescriptionBox;
private System.Windows.Forms.TextBox TopMarkerBox; private System.Windows.Forms.TextBox TopMarkerBox;
private System.Windows.Forms.Label TopMarkerLabel; private System.Windows.Forms.Label TopMarkerLabel;
private System.Windows.Forms.ToolStripMenuItem AutoloadProjectMenuItem;
} }
} }

View File

@ -158,10 +158,23 @@ namespace BizHawk.Client.EmuHawk
} }
} }
EngageTasStudio(); if (Global.Config.AutoloadTAStudioProject)
LoadConfigSettings(); {
_tas.ActivePlayers = new List<string> { "Player 1" }; 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(); SetUpColumns();
LoadConfigSettings();
} }
private void EngageTasStudio() private void EngageTasStudio()
@ -239,13 +252,7 @@ namespace BizHawk.Client.EmuHawk
public void LoadFileFromRecent(string path) public void LoadFileFromRecent(string path)
{ {
var askResult = true; if (AskSave())
if (_tas.Changes)
{
askResult = AskSave();
}
if (askResult)
{ {
_tas.Filename = path; _tas.Filename = path;
var loadResult = _tas.Load(); var loadResult = _tas.Load();
@ -286,14 +293,17 @@ namespace BizHawk.Client.EmuHawk
private void OpenTASMenuItem_Click(object sender, EventArgs e) private void OpenTASMenuItem_Click(object sender, EventArgs e)
{ {
var file = ToolHelpers.GetTasProjFileFromUser(_tas.Filename); if (AskSave())
if (file != null)
{ {
_tas.Filename = file.FullName; var file = ToolHelpers.GetTasProjFileFromUser(_tas.Filename);
_tas.Load(); if (file != null)
Global.Config.RecentTas.Add(_tas.Filename); {
TASView.ItemCount = _tas.InputLogLength; _tas.Filename = file.FullName;
// TOOD: message to the user _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; SaveWindowPositionMenuItem.Checked = Global.Config.TAStudioSaveWindowPosition;
AutoloadMenuItem.Checked = Global.Config.AutoloadTAStudio; AutoloadMenuItem.Checked = Global.Config.AutoloadTAStudio;
AutoloadProjectMenuItem.Checked = Global.Config.AutoloadTAStudioProject;
AlwaysOnTopMenuItem.Checked = Global.Config.TAStudioTopMost; AlwaysOnTopMenuItem.Checked = Global.Config.TAStudioTopMost;
} }
@ -357,6 +368,11 @@ namespace BizHawk.Client.EmuHawk
Global.Config.AutoloadTAStudio ^= true; Global.Config.AutoloadTAStudio ^= true;
} }
private void AutoloadProjectMenuItem_Click(object sender, EventArgs e)
{
Global.Config.AutoloadTAStudioProject ^= true;
}
private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e) private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.TAStudioSaveWindowPosition ^= true; Global.Config.TAStudioSaveWindowPosition ^= true;