Tastudio - misc cleanups

This commit is contained in:
adelikat 2019-10-27 09:59:05 -05:00
parent aaee3cf48c
commit cbace55d01
7 changed files with 57 additions and 119 deletions

View File

@ -15,21 +15,6 @@ namespace BizHawk.Client.EmuHawk
public Action<int> BranchSavedCallback { get; set; }
public Action<int> BranchRemovedCallback { get; set; }
private Color? GetColorOverride(int index, RollColumn column)
{
return QueryItemBgColorCallback?.Invoke(index, column.Name);
}
private string GetTextOverride(int index, RollColumn column)
{
return QueryItemTextCallback?.Invoke(index, column.Name);
}
private Bitmap GetIconOverride(int index, RollColumn column)
{
return QueryItemIconCallback?.Invoke(index, column.Name);
}
private void GreenzoneInvalidated(int index)
{
GreenzoneInvalidatedCallback?.Invoke(index);

View File

@ -814,7 +814,7 @@ namespace BizHawk.Client.EmuHawk
this.LoadBranchOnDoubleclickMenuItem.Name = "LoadBranchOnDoubleclickMenuItem";
this.LoadBranchOnDoubleclickMenuItem.Size = new System.Drawing.Size(244, 22);
this.LoadBranchOnDoubleclickMenuItem.Text = "Load Branch on double-click";
this.LoadBranchOnDoubleclickMenuItem.Click += new System.EventHandler(this.LoadBranchOnDoubleclickMenuItem_Click);
this.LoadBranchOnDoubleclickMenuItem.Click += new System.EventHandler(this.LoadBranchOnDoubleClickMenuItem_Click);
//
// OsdInBranchScreenshotsMenuItem
//
@ -834,7 +834,7 @@ namespace BizHawk.Client.EmuHawk
this.AutopauseAtEndOfMovieMenuItem.Name = "AutopauseAtEndOfMovieMenuItem";
this.AutopauseAtEndOfMovieMenuItem.Size = new System.Drawing.Size(244, 22);
this.AutopauseAtEndOfMovieMenuItem.Text = "Autopause at end of Movie";
this.AutopauseAtEndOfMovieMenuItem.Click += new System.EventHandler(this.AutopauseAtEndMenuItem_Click);
this.AutopauseAtEndOfMovieMenuItem.Click += new System.EventHandler(this.AutoPauseAtEndMenuItem_Click);
//
// sepToolStripMenuItem
//
@ -1590,7 +1590,7 @@ namespace BizHawk.Client.EmuHawk
this.MainVertialSplit.Size = new System.Drawing.Size(507, 528);
this.MainVertialSplit.SplitterDistance = 295;
this.MainVertialSplit.TabIndex = 10;
this.MainVertialSplit.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.MainVertialSplit_SplitterMoved);
this.MainVertialSplit.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.MainVerticalSplit_SplitterMoved);
//
// TAStudio
//
@ -1612,7 +1612,6 @@ namespace BizHawk.Client.EmuHawk
this.Load += new System.EventHandler(this.Tastudio_Load);
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.TAStudio_DragDrop);
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.DragEnterWrapper);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TAStudio_KeyDown);
this.MouseLeave += new System.EventHandler(this.TAStudio_MouseLeave);
this.TASMenu.ResumeLayout(false);
this.TASMenu.PerformLayout();

View File

@ -18,12 +18,12 @@ namespace BizHawk.Client.EmuHawk
private bool _boolPaintState;
private float _floatPaintState;
private float _floatBackupState;
private bool _patternPaint = false;
private bool _patternPaint;
private bool _startCursorDrag;
private bool _startSelectionDrag;
private bool _selectionDragState;
private bool _supressContextMenu;
private int _startrow;
private bool _suppressContextMenu;
private int _startRow;
// Editing analog input
private string _floatEditColumn = "";
@ -99,7 +99,7 @@ namespace BizHawk.Client.EmuHawk
TastudioPlayMode(); // suspend rec mode until seek ends, to allow mouse editing
Mainform.UnpauseEmulator();
if (!_seekBackgroundWorker.IsBusy && diff.Value > TasView.VisibleRows)
if (!_seekBackgroundWorker.IsBusy && diff > TasView.VisibleRows)
{
_seekBackgroundWorker.RunWorkerAsync();
}
@ -159,7 +159,7 @@ namespace BizHawk.Client.EmuHawk
private void TasView_QueryItemIcon(int index, RollColumn column, ref Bitmap bitmap, ref int offsetX, ref int offsetY)
{
var overrideIcon = GetIconOverride(index, column);
var overrideIcon = QueryItemIconCallback?.Invoke(index, column.Name);
if (overrideIcon != null)
{
@ -216,7 +216,7 @@ namespace BizHawk.Client.EmuHawk
private void TasView_QueryItemBkColor(int index, RollColumn column, ref Color color)
{
Color? overrideColor = GetColorOverride(index, column);
Color? overrideColor = QueryItemBgColorCallback?.Invoke(index, column.Name);
if (overrideColor.HasValue)
{
@ -242,11 +242,10 @@ namespace BizHawk.Client.EmuHawk
color = Color.FromArgb(0x60, 0xFF, 0xFF, 0xFF);
}
}
else if (FloatEditingMode &&
(index == _floatEditRow || _extraFloatRows.Contains(index)) &&
columnName == _floatEditColumn)
else if (FloatEditingMode
&& (index == _floatEditRow || _extraFloatRows.Contains(index))
&& columnName == _floatEditColumn)
{
// SuuperW: Analog editing is indicated by a color change.
color = AnalogEdit_Col;
}
@ -298,7 +297,7 @@ namespace BizHawk.Client.EmuHawk
private void TasView_QueryItemText(int index, RollColumn column, out string text, ref int offsetX, ref int offsetY)
{
var overrideText = GetTextOverride(index, column);
var overrideText = QueryItemTextCallback?.Invoke(index, column.Name);
if (overrideText != null)
{
text = overrideText;
@ -533,7 +532,6 @@ namespace BizHawk.Client.EmuHawk
return;
}
// SuuperW: Moved these.
if (TasView.CurrentCell?.RowIndex == null || TasView.CurrentCell.Column == null)
{
return;
@ -616,7 +614,7 @@ namespace BizHawk.Client.EmuHawk
BoolPatterns[ControllerType.BoolButtons.IndexOf(buttonName)].Reset();
//BoolPatterns[ControllerType.BoolButtons.IndexOf(buttonName)].GetNextValue();
_patternPaint = true;
_startrow = TasView.CurrentCell.RowIndex.Value;
_startRow = TasView.CurrentCell.RowIndex.Value;
_boolPaintState = !CurrentTasMovie.BoolIsPressed(frame, buttonName);
}
else if (Control.ModifierKeys == Keys.Shift && Control.ModifierKeys != Keys.Alt)
@ -804,16 +802,16 @@ namespace BizHawk.Client.EmuHawk
_floatEditYPos = -1;
_leftButtonHeld = false;
if (!FloatEditingMode && CurrentTasMovie.ChangeLog != null)
if (!FloatEditingMode)
{
CurrentTasMovie.ChangeLog.EndBatch();
CurrentTasMovie.ChangeLog?.EndBatch();
}
}
private void TasView_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right && !TasView.IsPointingAtColumnHeader &&
!_supressContextMenu && TasView.SelectedRows.Any() && !_leftButtonHeld)
!_suppressContextMenu && TasView.SelectedRows.Any() && !_leftButtonHeld)
{
if (Global.MovieSession.Movie.FrameCount < TasView.SelectedRows.Max())
{
@ -852,7 +850,7 @@ namespace BizHawk.Client.EmuHawk
}
}
_supressContextMenu = false;
_suppressContextMenu = false;
DoTriggeredAutoRestoreIfNeeded();
}
@ -861,14 +859,14 @@ namespace BizHawk.Client.EmuHawk
{
if (TasView.RightButtonHeld && TasView.CurrentCell.RowIndex.HasValue)
{
_supressContextMenu = true;
_suppressContextMenu = true;
int notch = e.Delta / 120;
if (notch > 1)
{
notch *= 2;
}
// warning: tastudio rewind hotkey/button logic is copypasted from here!
// warning: tastudio rewind hotkey/button logic is copy pasted from here!
if (Mainform.IsSeeking && !Mainform.EmulatorPaused)
{
Mainform.PauseOnFrame -= notch;
@ -965,7 +963,7 @@ namespace BizHawk.Client.EmuHawk
endVal = e.OldCell.RowIndex.Value;
if(_patternPaint)
{
endVal = _startrow;
endVal = _startRow;
}
}
@ -1104,7 +1102,7 @@ namespace BizHawk.Client.EmuHawk
{
JumpToGreenzone();
_triggerAutoRestore = true;
_supressContextMenu = true;
_suppressContextMenu = true;
}
}
@ -1115,8 +1113,6 @@ namespace BizHawk.Client.EmuHawk
if (e.OldCell.RowIndex.HasValue && e.NewCell.RowIndex.HasValue)
{
for (int i = startVal; i <= endVal; i++) // Inclusive on both ends (drawing up or down)
{
bool setVal = _boolPaintState;
@ -1354,14 +1350,9 @@ namespace BizHawk.Client.EmuHawk
}
else if (e.KeyCode == Keys.OemMinus || e.KeyCode == Keys.Subtract)
{
if (_floatTypedValue.StartsWith("-"))
{
_floatTypedValue = _floatTypedValue.Substring(1);
}
else
{
_floatTypedValue = $"-{_floatTypedValue}";
}
_floatTypedValue = _floatTypedValue.StartsWith("-")
? _floatTypedValue.Substring(1)
: $"-{_floatTypedValue}";
}
else if (e.KeyCode == Keys.Back)
{
@ -1476,7 +1467,7 @@ namespace BizHawk.Client.EmuHawk
private void TasView_KeyDown(object sender, KeyEventArgs e)
{
// taseditor uses Ctrl for selection and Shift for framecourser
// taseditor uses Ctrl for selection and Shift for frame cursor
if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.PageUp) // Shift + Page Up
{
GoToPreviousMarker();
@ -1493,14 +1484,6 @@ namespace BizHawk.Client.EmuHawk
{
GoToFrame(CurrentTasMovie.InputLogLength-1);
}
else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Shift + Up
{
//GoToPreviousFrame();
}
else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Shift + Down
{
//GoToNextFrame();
}
if (FloatEditingMode
&& e.KeyCode != Keys.Right

View File

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
@ -101,7 +100,7 @@ namespace BizHawk.Client.EmuHawk
if (string.IsNullOrEmpty(CurrentTasMovie.Filename)
|| CurrentTasMovie.Filename == DefaultTasProjName())
{
SaveAsTas(sender, e);
SaveAsTas();
}
else
{
@ -133,7 +132,7 @@ namespace BizHawk.Client.EmuHawk
}
}
private void SaveAsTas(object sender, EventArgs e)
private void SaveAsTas()
{
_autosaveTimer.Stop();
GlobalWin.Sound.StopSound();
@ -176,7 +175,7 @@ namespace BizHawk.Client.EmuHawk
// call this one from the menu only
private void SaveAsTasMenuItem_Click(object sender, EventArgs e)
{
SaveAsTas(sender, e);
SaveAsTas();
if (Settings.BackupPerFileSave)
{
SaveBackupMenuItem_Click(sender, e);
@ -188,7 +187,7 @@ namespace BizHawk.Client.EmuHawk
if (string.IsNullOrEmpty(CurrentTasMovie.Filename)
|| CurrentTasMovie.Filename == DefaultTasProjName())
{
SaveAsTas(sender, e);
SaveAsTas();
}
else
{
@ -331,8 +330,8 @@ namespace BizHawk.Client.EmuHawk
ReselectClipboardMenuItem.Enabled =
PasteMenuItem.Enabled =
PasteInsertMenuItem.Enabled =
Clipboard.GetDataObject().GetDataPresent(DataFormats.StringFormat) && TasView.AnyRowsSelected;
PasteInsertMenuItem.Enabled = TasView.AnyRowsSelected
&& Clipboard.GetDataObject().GetDataPresent(DataFormats.StringFormat);
ClearGreenzoneMenuItem.Enabled =
CurrentTasMovie != null && CurrentTasMovie.TasStateManager.Any();
@ -483,9 +482,8 @@ namespace BizHawk.Client.EmuHawk
{
// TODO: if highlighting 2 rows and pasting 3, only paste 2 of them
// FCEUX Taseditor doesn't do this, but I think it is the expected behavior in editor programs
var wasPaused = Mainform.EmulatorPaused;
// copy paste from PasteInsertMenuItem_Click!
// TODO: copy paste from PasteInsertMenuItem_Click!
IDataObject data = Clipboard.GetDataObject();
if (data.GetDataPresent(DataFormats.StringFormat))
{
@ -503,10 +501,8 @@ namespace BizHawk.Client.EmuHawk
{
return;
}
else
{
_tasClipboard.Add(new TasClipboardEntry(i, line));
}
_tasClipboard.Add(new TasClipboardEntry(i, line));
}
var needsToRollback = TasView.FirstSelectedIndex < Emulator.Frame;
@ -530,8 +526,6 @@ namespace BizHawk.Client.EmuHawk
{
if (TasView.AnyRowsSelected)
{
var wasPaused = Mainform.EmulatorPaused;
// copy paste from PasteMenuItem_Click!
IDataObject data = Clipboard.GetDataObject();
if (data.GetDataPresent(DataFormats.StringFormat))
@ -577,7 +571,6 @@ namespace BizHawk.Client.EmuHawk
{
if (TasView.AnyRowsSelected)
{
var wasPaused = Mainform.EmulatorPaused;
var needsToRollback = TasView.FirstSelectedIndex < Emulator.Frame;
var rollBackFrame = TasView.FirstSelectedIndex.Value;
@ -602,7 +595,6 @@ namespace BizHawk.Client.EmuHawk
Clipboard.SetDataObject(sb.ToString());
CurrentTasMovie.RemoveFrames(list);
SetSplicer();
////TasView.DeselectAll(); feos: what if I want to continuously cut?
if (needsToRollback)
{
@ -982,7 +974,7 @@ namespace BizHawk.Client.EmuHawk
Settings.EmptyMarkers ^= true;
}
private void AutopauseAtEndMenuItem_Click(object sender, EventArgs e)
private void AutoPauseAtEndMenuItem_Click(object sender, EventArgs e)
{
Settings.AutoPause ^= true;
}
@ -1047,7 +1039,7 @@ namespace BizHawk.Client.EmuHawk
Settings.OldControlSchemeForBranches ^= true;
}
private void LoadBranchOnDoubleclickMenuItem_Click(object sender, EventArgs e)
private void LoadBranchOnDoubleClickMenuItem_Click(object sender, EventArgs e)
{
Settings.LoadBranchOnDoubleClick ^= true;
}
@ -1243,8 +1235,9 @@ namespace BizHawk.Client.EmuHawk
ColumnsSubMenu.DropDownItems.Clear();
var columns = TasView.AllColumns
.Where(x => !string.IsNullOrWhiteSpace(x.Text))
.Where(x => x.Name != "FrameColumn");
.Where(c => !string.IsNullOrWhiteSpace(c.Text))
.Where(c => c.Name != "FrameColumn")
.ToList();
int workingHeight = Screen.FromControl(this).WorkingArea.Height;
int rowHeight = ColumnsSubMenu.Height + 4;
@ -1252,14 +1245,14 @@ namespace BizHawk.Client.EmuHawk
int keyCount = columns.Count(c => c.Name.StartsWith("Key "));
int keysMenusCount = (int)Math.Ceiling((double)keyCount / maxRows);
ToolStripMenuItem[] keysMenus = new ToolStripMenuItem[keysMenusCount];
var keysMenus = new ToolStripMenuItem[keysMenusCount];
for (int i = 0; i < keysMenus.Length; i++)
{
keysMenus[i] = new ToolStripMenuItem();
}
ToolStripMenuItem[] playerMenus = new ToolStripMenuItem[Emulator.ControllerDefinition.PlayerCount + 1];
var playerMenus = new ToolStripMenuItem[Emulator.ControllerDefinition.PlayerCount + 1];
playerMenus[0] = ColumnsSubMenu;
for (int i = 1; i < playerMenus.Length; i++)
@ -1269,7 +1262,7 @@ namespace BizHawk.Client.EmuHawk
foreach (var column in columns)
{
ToolStripMenuItem menuItem = new ToolStripMenuItem
var menuItem = new ToolStripMenuItem
{
Text = $"{column.Text} ({column.Name})",
Checked = column.Visible,
@ -1279,13 +1272,13 @@ namespace BizHawk.Client.EmuHawk
menuItem.CheckedChanged += (o, ev) =>
{
ToolStripMenuItem sender = o as ToolStripMenuItem;
ToolStripMenuItem sender = (ToolStripMenuItem)o;
TasView.AllColumns.Find(c => c.Name == (string)sender.Tag).Visible = sender.Checked;
TasView.AllColumns.ColumnsChanged();
CurrentTasMovie.FlagChanges();
RefreshTasView();
ColumnsSubMenu.ShowDropDown();
(sender.OwnerItem as ToolStripMenuItem).ShowDropDown();
((ToolStripMenuItem)sender.OwnerItem).ShowDropDown();
};
if (column.Name.StartsWith("Key "))
@ -1312,11 +1305,11 @@ namespace BizHawk.Client.EmuHawk
}
}
for (int i = 0; i < keysMenus.Length; i++)
foreach (var menu in keysMenus)
{
string text = $"Keys ({keysMenus[i].DropDownItems[0].Tag} - {keysMenus[i].DropDownItems[keysMenus[i].DropDownItems.Count - 1].Tag})";
keysMenus[i].Text = text.Replace("Key ", "");
ColumnsSubMenu.DropDownItems.Add(keysMenus[i]);
string text = $"Keys ({menu.DropDownItems[0].Tag} - {menu.DropDownItems[menu.DropDownItems.Count - 1].Tag})";
menu.Text = text.Replace("Key ", "");
ColumnsSubMenu.DropDownItems.Add(menu);
}
for (int i = 1; i < playerMenus.Length; i++)
@ -1344,13 +1337,12 @@ namespace BizHawk.Client.EmuHawk
Checked = false
};
for (int i = 0; i < keysMenus.Length; i++)
foreach (var menu in keysMenus)
{
ToolStripMenuItem dummyObject = keysMenus[i];
var dummyObject1 = menu;
item.CheckedChanged += (o, ev) =>
{
ToolStripMenuItem sender = o as ToolStripMenuItem;
foreach (ToolStripMenuItem menuItem in dummyObject.DropDownItems)
foreach (ToolStripMenuItem menuItem in dummyObject1.DropDownItems)
{
menuItem.Checked ^= true;
}
@ -1377,7 +1369,6 @@ namespace BizHawk.Client.EmuHawk
ToolStripMenuItem dummyObject = playerMenus[i];
item.CheckedChanged += (o, ev) =>
{
ToolStripMenuItem sender = o as ToolStripMenuItem;
foreach (ToolStripMenuItem menuItem in dummyObject.DropDownItems)
{
menuItem.Checked ^= true;

View File

@ -78,11 +78,6 @@ namespace BizHawk.Client.EmuHawk
}
}
public void GoToNextFrame()
{
GoToFrame(Emulator.Frame + 1);
}
public void GoToPreviousMarker()
{
if (Emulator.Frame > 0)

View File

@ -892,8 +892,8 @@ namespace BizHawk.Client.EmuHawk
else
{
// GUI users may want to be protected from clobbering their video when skipping around...
// well, users who are rewinding arent. (that gets done through the seeking system in the call above)
// users who are clicking around.. I dont know.
// well, users who are rewinding aren't. (that gets done through the seeking system in the call above)
// users who are clicking around.. I don't know.
}
}
}
@ -1035,11 +1035,6 @@ namespace BizHawk.Client.EmuHawk
SetTextProperty();
}
private void LuaConsole_DragEnter(object sender, DragEventArgs e)
{
e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None;
}
private void TAStudio_DragDrop(object sender, DragEventArgs e)
{
if (!AskSaveChanges())
@ -1115,13 +1110,7 @@ namespace BizHawk.Client.EmuHawk
return false;
}
private void TAStudio_KeyDown(object sender, KeyEventArgs e)
{
//if (e.KeyCode == Keys.F)
// TasPlaybackBox.FollowCursor ^= true;
}
private void MainVertialSplit_SplitterMoved(object sender, SplitterEventArgs e)
private void MainVerticalSplit_SplitterMoved(object sender, SplitterEventArgs e)
{
Settings.MainVerticalSplitDistance = MainVertialSplit.SplitterDistance;
}
@ -1168,12 +1157,7 @@ namespace BizHawk.Client.EmuHawk
// Stupid designer
protected void DragEnterWrapper(object sender, DragEventArgs e)
{
base.GenericDragEnter(sender, e);
}
private void TasPlaybackBox_Load(object sender, EventArgs e)
{
GenericDragEnter(sender, e);
}
}
}

View File

@ -182,6 +182,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=autoload/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=autorestore/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Autosave/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=botting/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=bsnes/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Disasm/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=disassembly/@EntryIndexedValue">True</s:Boolean>