Tastudio - another round of fix cleanup

This commit is contained in:
adelikat 2014-10-17 18:14:21 +00:00
parent 02062a4589
commit a08e2f9a79
5 changed files with 38 additions and 75 deletions

View File

@ -69,7 +69,7 @@ namespace BizHawk.Client.EmuHawk
this.TruncateMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TruncateMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ClearGreenzoneMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ClearGreenzoneMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.GreenzoneICheckSeparator = new System.Windows.Forms.ToolStripSeparator(); this.GreenzoneICheckSeparator = new System.Windows.Forms.ToolStripSeparator();
this.GreenZzoneIntegrityCheckMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.GreenZoneIntegrityCheckMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ConfigSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.ConfigSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.SetMaxUndoLevelsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.SetMaxUndoLevelsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
@ -268,7 +268,7 @@ namespace BizHawk.Client.EmuHawk
this.TruncateMenuItem, this.TruncateMenuItem,
this.ClearGreenzoneMenuItem, this.ClearGreenzoneMenuItem,
this.GreenzoneICheckSeparator, this.GreenzoneICheckSeparator,
this.GreenZzoneIntegrityCheckMenuItem}); this.GreenZoneIntegrityCheckMenuItem});
this.EditSubMenu.Name = "EditSubMenu"; this.EditSubMenu.Name = "EditSubMenu";
this.EditSubMenu.Size = new System.Drawing.Size(39, 20); this.EditSubMenu.Size = new System.Drawing.Size(39, 20);
this.EditSubMenu.Text = "&Edit"; this.EditSubMenu.Text = "&Edit";
@ -456,12 +456,12 @@ namespace BizHawk.Client.EmuHawk
// //
// GreenZzoneIntegrityCheckMenuItem // GreenZzoneIntegrityCheckMenuItem
// //
this.GreenZzoneIntegrityCheckMenuItem.Name = "GreenZzoneIntegrityCheckMenuItem"; this.GreenZoneIntegrityCheckMenuItem.Name = "GreenZzoneIntegrityCheckMenuItem";
this.GreenZzoneIntegrityCheckMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) this.GreenZoneIntegrityCheckMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.I))); | System.Windows.Forms.Keys.I)));
this.GreenZzoneIntegrityCheckMenuItem.Size = new System.Drawing.Size(282, 22); this.GreenZoneIntegrityCheckMenuItem.Size = new System.Drawing.Size(282, 22);
this.GreenZzoneIntegrityCheckMenuItem.Text = "Greenzone Integrity Check"; this.GreenZoneIntegrityCheckMenuItem.Text = "Greenzone Integrity Check";
this.GreenZzoneIntegrityCheckMenuItem.Click += new System.EventHandler(this.GreenZzoneIntegrityCheckMenuItem_Click); this.GreenZoneIntegrityCheckMenuItem.Click += new System.EventHandler(this.GreenZzoneIntegrityCheckMenuItem_Click);
// //
// ConfigSubMenu // ConfigSubMenu
// //
@ -1059,7 +1059,7 @@ namespace BizHawk.Client.EmuHawk
private System.Windows.Forms.ToolStripMenuItem TruncateContextMenuItem; private System.Windows.Forms.ToolStripMenuItem TruncateContextMenuItem;
private System.Windows.Forms.ToolStripMenuItem ClearGreenzoneMenuItem; private System.Windows.Forms.ToolStripMenuItem ClearGreenzoneMenuItem;
private System.Windows.Forms.ToolStripSeparator GreenzoneICheckSeparator; private System.Windows.Forms.ToolStripSeparator GreenzoneICheckSeparator;
private System.Windows.Forms.ToolStripMenuItem GreenZzoneIntegrityCheckMenuItem; private System.Windows.Forms.ToolStripMenuItem GreenZoneIntegrityCheckMenuItem;
private System.Windows.Forms.ToolStripMenuItem ColumnsSubMenu; private System.Windows.Forms.ToolStripMenuItem ColumnsSubMenu;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator19; private System.Windows.Forms.ToolStripSeparator toolStripSeparator19;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator20; private System.Windows.Forms.ToolStripSeparator toolStripSeparator20;

View File

@ -5,9 +5,9 @@ namespace BizHawk.Client.EmuHawk
{ {
public partial class TAStudio : IToolForm public partial class TAStudio : IToolForm
{ {
public bool UpdateBefore { get { return false; } } private bool _hackyDontUpdate;
private bool _hackyDontUpdate = false; public bool UpdateBefore { get { return false; } }
public void UpdateValues() public void UpdateValues()
{ {
@ -57,7 +57,6 @@ namespace BizHawk.Client.EmuHawk
} }
} }
public bool AskSaveChanges() public bool AskSaveChanges()
{ {
if (_currentTasMovie != null && _currentTasMovie.Changes) if (_currentTasMovie != null && _currentTasMovie.Changes)

View File

@ -4,7 +4,6 @@ using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using BizHawk.Client.Common; using BizHawk.Client.Common;
using BizHawk.Client.EmuHawk.WinFormExtensions;
namespace BizHawk.Client.EmuHawk namespace BizHawk.Client.EmuHawk
{ {
@ -17,7 +16,7 @@ namespace BizHawk.Client.EmuHawk
private float _floatPaintState; private float _floatPaintState;
private bool _startMarkerDrag; private bool _startMarkerDrag;
private bool _startFrameDrag; private bool _startFrameDrag;
private bool _supressContextMenu = false; private bool _supressContextMenu;
public static Color CurrentFrame_FrameCol = Color.FromArgb(0xCFEDFC); public static Color CurrentFrame_FrameCol = Color.FromArgb(0xCFEDFC);
public static Color CurrentFrame_InputLog = Color.FromArgb(0xB5E7F7); public static Color CurrentFrame_InputLog = Color.FromArgb(0xB5E7F7);
@ -44,36 +43,21 @@ namespace BizHawk.Client.EmuHawk
{ {
if (index == Global.Emulator.Frame && index == GlobalWin.MainForm.PauseOnFrame) if (index == Global.Emulator.Frame && index == GlobalWin.MainForm.PauseOnFrame)
{ {
if (TasView.HorizontalOrientation) bitmap = TasView.HorizontalOrientation ?
{ Properties.Resources.ts_v_arrow_green_blue :
bitmap = Properties.Resources.ts_v_arrow_green_blue; Properties.Resources.ts_h_arrow_green_blue;
}
else
{
bitmap = Properties.Resources.ts_h_arrow_green_blue;
}
} }
else if (index == Global.Emulator.Frame) else if (index == Global.Emulator.Frame)
{ {
if (TasView.HorizontalOrientation) bitmap = TasView.HorizontalOrientation ?
{ Properties.Resources.ts_v_arrow_blue :
bitmap = Properties.Resources.ts_v_arrow_blue; Properties.Resources.ts_h_arrow_blue;
}
else
{
bitmap = Properties.Resources.ts_h_arrow_blue;
}
} }
else if (index == GlobalWin.MainForm.PauseOnFrame) else if (index == GlobalWin.MainForm.PauseOnFrame)
{ {
if (TasView.HorizontalOrientation) bitmap = TasView.HorizontalOrientation ?
{ Properties.Resources.ts_v_arrow_green :
bitmap = Properties.Resources.ts_v_arrow_green; Properties.Resources.ts_h_arrow_green;
}
else
{
bitmap = Properties.Resources.ts_h_arrow_green;
}
} }
} }
} }
@ -105,14 +89,9 @@ namespace BizHawk.Client.EmuHawk
} }
else if (record.Lagged.HasValue) else if (record.Lagged.HasValue)
{ {
if (record.Lagged.Value) color = record.Lagged.Value ?
{ LagZone_FrameCol :
color = LagZone_FrameCol; GreenZone_FrameCol;
}
else
{
color = GreenZone_FrameCol;
}
} }
else else
{ {
@ -129,15 +108,9 @@ namespace BizHawk.Client.EmuHawk
{ {
if (record.Lagged.HasValue) if (record.Lagged.HasValue)
{ {
if (record.Lagged.Value) color = record.Lagged.Value ?
{ LagZone_InputLog :
color = LagZone_InputLog; GreenZone_InputLog;
}
else
{
color = GreenZone_InputLog;
}
} }
else else
{ {

View File

@ -130,7 +130,7 @@ namespace BizHawk.Client.EmuHawk
_currentTasMovie != null && _currentTasMovie.TasStateManager.Any(); _currentTasMovie != null && _currentTasMovie.TasStateManager.Any();
GreenzoneICheckSeparator.Visible = GreenzoneICheckSeparator.Visible =
GreenZzoneIntegrityCheckMenuItem.Visible = GreenZoneIntegrityCheckMenuItem.Visible =
VersionInfo.DeveloperBuild; VersionInfo.DeveloperBuild;
} }
@ -180,17 +180,16 @@ namespace BizHawk.Client.EmuHawk
var list = TasView.SelectedRows.ToList(); var list = TasView.SelectedRows.ToList();
var sb = new StringBuilder(); var sb = new StringBuilder();
for (var i = 0; i < list.Count; i++) foreach (var index in list)
{ {
var input = _currentTasMovie.GetInputState(list[i]); var input = _currentTasMovie.GetInputState(index);
_tasClipboard.Add(new TasClipboardEntry(list[i], input)); _tasClipboard.Add(new TasClipboardEntry(index, input));
var lg = _currentTasMovie.LogGeneratorInstance(); var lg = _currentTasMovie.LogGeneratorInstance();
lg.SetSource(input); lg.SetSource(input);
sb.AppendLine(lg.GenerateLogEntry()); sb.AppendLine(lg.GenerateLogEntry());
} }
Clipboard.SetDataObject(sb.ToString()); Clipboard.SetDataObject(sb.ToString());
SetSplicer(); SetSplicer();
} }
} }
@ -323,12 +322,10 @@ namespace BizHawk.Client.EmuHawk
var framesToInsert = TasView.SelectedRows.ToList(); var framesToInsert = TasView.SelectedRows.ToList();
var insertionFrame = TasView.LastSelectedIndex.Value + 1; var insertionFrame = TasView.LastSelectedIndex.Value + 1;
var needsToRollback = !(insertionFrame > Global.Emulator.Frame); var needsToRollback = !(insertionFrame > Global.Emulator.Frame);
var inputLog = new List<string>();
foreach (var frame in framesToInsert) var inputLog = framesToInsert
{ .Select(frame => _currentTasMovie.GetInputLogEntry(frame))
inputLog.Add(_currentTasMovie.GetInputLogEntry(frame)); .ToList();
}
_currentTasMovie.InsertInput(insertionFrame, inputLog); _currentTasMovie.InsertInput(insertionFrame, inputLog);
@ -346,7 +343,7 @@ namespace BizHawk.Client.EmuHawk
private void InsertFrameMenuItem_Click(object sender, EventArgs e) private void InsertFrameMenuItem_Click(object sender, EventArgs e)
{ {
var insertionFrame = TasView.SelectedRows.Any() ? TasView.FirstSelectedIndex.Value : 0; var insertionFrame = TasView.SelectedRows.Any() ? TasView.FirstSelectedIndex.Value : 0;
bool needsToRollback = insertionFrame <= Global.Emulator.Frame; var needsToRollback = insertionFrame <= Global.Emulator.Frame;
_currentTasMovie.InsertEmptyFrame(insertionFrame); _currentTasMovie.InsertEmptyFrame(insertionFrame);
@ -363,7 +360,7 @@ namespace BizHawk.Client.EmuHawk
private void InsertNumFramesMenuItem_Click(object sender, EventArgs e) private void InsertNumFramesMenuItem_Click(object sender, EventArgs e)
{ {
var insertionFrame = TasView.SelectedRows.Any() ? TasView.FirstSelectedIndex.Value : 0; var insertionFrame = TasView.SelectedRows.Any() ? TasView.FirstSelectedIndex.Value : 0;
bool needsToRollback = insertionFrame <= Global.Emulator.Frame; var needsToRollback = insertionFrame <= Global.Emulator.Frame;
var framesPrompt = new FramesPrompt(); var framesPrompt = new FramesPrompt();
var result = framesPrompt.ShowDialog(); var result = framesPrompt.ShowDialog();
@ -404,7 +401,7 @@ namespace BizHawk.Client.EmuHawk
private void SetMarkersMenuItem_Click(object sender, EventArgs e) private void SetMarkersMenuItem_Click(object sender, EventArgs e)
{ {
foreach (int index in TasView.SelectedRows) foreach (var index in TasView.SelectedRows)
{ {
CallAddMarkerPopUp(index); CallAddMarkerPopUp(index);
} }
@ -425,7 +422,6 @@ namespace BizHawk.Client.EmuHawk
private void GreenZzoneIntegrityCheckMenuItem_Click(object sender, EventArgs e) private void GreenZzoneIntegrityCheckMenuItem_Click(object sender, EventArgs e)
{ {
GlobalWin.MainForm.RebootCore(); GlobalWin.MainForm.RebootCore();
GlobalWin.MainForm.FrameAdvance(); GlobalWin.MainForm.FrameAdvance();
var frame = Global.Emulator.Frame; var frame = Global.Emulator.Frame;

View File

@ -82,13 +82,8 @@ namespace BizHawk.Client.EmuHawk
// TODO: get the last greenzone frame and go there // TODO: get the last greenzone frame and go there
_currentTasMovie.SwitchToPlay(); _currentTasMovie.SwitchToPlay();
// no reason to loadstate when we can emulate a frame instead
var shouldLoadstate = true; var shouldLoadstate = frame - Global.Emulator.Frame != 1;
// Some situations it is silly to load a state
if (frame - Global.Emulator.Frame == 1)
{
shouldLoadstate = false;
}
if (_currentTasMovie.TasStateManager.LastEmulatedFrame > 0 && shouldLoadstate) if (_currentTasMovie.TasStateManager.LastEmulatedFrame > 0 && shouldLoadstate)
{ {