Tastudio - a bit of simplifying some code
This commit is contained in:
parent
31c564ad06
commit
d0aee55059
|
@ -109,7 +109,7 @@ namespace BizHawk.Client.Common
|
|||
Changes = false;
|
||||
}
|
||||
|
||||
public void FlagChanges() // TODO: it is pointless to have these two methods rather than a public setter
|
||||
public void FlagChanges()
|
||||
{
|
||||
Changes = true;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (Engaged())
|
||||
{
|
||||
var marker = Tastudio.CurrentMovie.Markers.Get(frame);
|
||||
var marker = Tastudio.CurrentTasMovie.Markers.Get(frame);
|
||||
if (marker != null)
|
||||
{
|
||||
return marker.Message;
|
||||
|
@ -62,10 +62,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (Engaged())
|
||||
{
|
||||
var marker = Tastudio.CurrentMovie.Markers.Get(frame);
|
||||
var marker = Tastudio.CurrentTasMovie.Markers.Get(frame);
|
||||
if (marker != null)
|
||||
{
|
||||
Tastudio.CurrentMovie.Markers.Remove(marker);
|
||||
Tastudio.CurrentTasMovie.Markers.Remove(marker);
|
||||
Tastudio.UpdateValues();
|
||||
}
|
||||
}
|
||||
|
@ -79,14 +79,14 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (Engaged())
|
||||
{
|
||||
var marker = Tastudio.CurrentMovie.Markers.Get(frame);
|
||||
var marker = Tastudio.CurrentTasMovie.Markers.Get(frame);
|
||||
if (marker != null)
|
||||
{
|
||||
marker.Message = message;
|
||||
}
|
||||
else
|
||||
{
|
||||
Tastudio.CurrentMovie.Markers.Add(frame, message);
|
||||
Tastudio.CurrentTasMovie.Markers.Add(frame, message);
|
||||
Tastudio.UpdateValues();
|
||||
}
|
||||
}
|
||||
|
@ -100,9 +100,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (Engaged())
|
||||
{
|
||||
if (frame < Tastudio.CurrentMovie.InputLogLength)
|
||||
if (frame < Tastudio.CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
return Tastudio.CurrentMovie[frame].Lagged;
|
||||
return Tastudio.CurrentTasMovie[frame].Lagged;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -117,9 +117,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (Engaged())
|
||||
{
|
||||
if (frame < Tastudio.CurrentMovie.InputLogLength)
|
||||
if (frame < Tastudio.CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
return Tastudio.CurrentMovie[frame].HasState;
|
||||
return Tastudio.CurrentTasMovie[frame].HasState;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -46,16 +46,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void MarkerView_QueryItemBkColor(int index, InputRoll.RollColumn column, ref Color color)
|
||||
{
|
||||
var prev = Tastudio.CurrentMovie.Markers.PreviousOrCurrent(Global.Emulator.Frame);
|
||||
var prev = Tastudio.CurrentTasMovie.Markers.PreviousOrCurrent(Global.Emulator.Frame);
|
||||
|
||||
if (prev != null && index == Tastudio.CurrentMovie.Markers.IndexOf(prev))
|
||||
if (prev != null && index == Tastudio.CurrentTasMovie.Markers.IndexOf(prev))
|
||||
{
|
||||
color = TAStudio.Marker_FrameCol;
|
||||
}
|
||||
else if (index < Tastudio.CurrentMovie.InputLogLength)
|
||||
else if (index < Tastudio.CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
var marker = Tastudio.CurrentMovie.Markers[index];
|
||||
var record = Tastudio.CurrentMovie[marker.Frame];
|
||||
var marker = Tastudio.CurrentTasMovie.Markers[index];
|
||||
var record = Tastudio.CurrentTasMovie[marker.Frame];
|
||||
|
||||
if (record.Lagged.HasValue)
|
||||
{
|
||||
|
@ -82,11 +82,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (column.Name == "FrameColumn")
|
||||
{
|
||||
text = Tastudio.CurrentMovie.Markers[index].Frame.ToString();
|
||||
text = Tastudio.CurrentTasMovie.Markers[index].Frame.ToString();
|
||||
}
|
||||
else if (column.Name == "LabelColumn")
|
||||
{
|
||||
text = Tastudio.CurrentMovie.Markers[index].Message;
|
||||
text = Tastudio.CurrentTasMovie.Markers[index].Message;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -100,10 +100,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (MarkerView != null &&
|
||||
Tastudio != null &&
|
||||
Tastudio.CurrentMovie != null &&
|
||||
Tastudio.CurrentMovie.Markers != null)
|
||||
Tastudio.CurrentTasMovie != null &&
|
||||
Tastudio.CurrentTasMovie.Markers != null)
|
||||
{
|
||||
MarkerView.RowCount = Tastudio.CurrentMovie.Markers.Count;
|
||||
MarkerView.RowCount = Tastudio.CurrentTasMovie.Markers.Count;
|
||||
}
|
||||
|
||||
MarkerView.Refresh();
|
||||
|
@ -111,12 +111,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void MarkerView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
RemoveBtn.Enabled = SelectedIndices.Any(i => i < Tastudio.CurrentMovie.Markers.Count);
|
||||
RemoveBtn.Enabled = SelectedIndices.Any(i => i < Tastudio.CurrentTasMovie.Markers.Count);
|
||||
}
|
||||
|
||||
private void RemoveBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
SelectedMarkers.ForEach(i => Tastudio.CurrentMovie.Markers.Remove(i));
|
||||
SelectedMarkers.ForEach(i => Tastudio.CurrentTasMovie.Markers.Remove(i));
|
||||
Tastudio.RefreshDialog();
|
||||
MarkerView_SelectedIndexChanged(sender, e);
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
get
|
||||
{
|
||||
return SelectedIndices
|
||||
.Select(index => Tastudio.CurrentMovie.Markers[index])
|
||||
.Select(index => Tastudio.CurrentTasMovie.Markers[index])
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public void UpdateValues()
|
||||
{
|
||||
if (!IsHandleCreated || IsDisposed || _currentTasMovie == null)
|
||||
if (!IsHandleCreated || IsDisposed || CurrentTasMovie == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -32,12 +32,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public void FastUpdate()
|
||||
{
|
||||
if (!IsHandleCreated || IsDisposed || _currentTasMovie == null)
|
||||
if (!IsHandleCreated || IsDisposed || CurrentTasMovie == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
TasView.RowCount = _currentTasMovie.InputLogLength + 1;
|
||||
TasView.RowCount = CurrentTasMovie.InputLogLength + 1;
|
||||
|
||||
if (TasPlaybackBox.FollowCursor)
|
||||
{
|
||||
|
@ -57,9 +57,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
return;
|
||||
}
|
||||
|
||||
if (_currentTasMovie != null)
|
||||
if (CurrentTasMovie != null)
|
||||
{
|
||||
if (Global.Game.Hash != _currentTasMovie.Hash)
|
||||
if (Global.Game.Hash != CurrentTasMovie.Hash)
|
||||
{
|
||||
TastudioToStopMovie();
|
||||
TasView.AllColumns.Clear();
|
||||
|
@ -76,7 +76,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public bool AskSaveChanges()
|
||||
{
|
||||
if (_currentTasMovie != null && _currentTasMovie.Changes)
|
||||
if (CurrentTasMovie != null && CurrentTasMovie.Changes)
|
||||
{
|
||||
GlobalWin.Sound.StopSound();
|
||||
var result = MessageBox.Show(
|
||||
|
@ -93,7 +93,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
else if (result == DialogResult.No)
|
||||
{
|
||||
_currentTasMovie.ClearChanges();
|
||||
CurrentTasMovie.ClearChanges();
|
||||
return true;
|
||||
}
|
||||
else if (result == DialogResult.Cancel)
|
||||
|
@ -109,8 +109,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (!indexThatMustBeVisible.HasValue)
|
||||
{
|
||||
indexThatMustBeVisible = _currentTasMovie.IsRecording
|
||||
? _currentTasMovie.InputLogLength
|
||||
indexThatMustBeVisible = CurrentTasMovie.IsRecording
|
||||
? CurrentTasMovie.InputLogLength
|
||||
: Global.Emulator.Frame + 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void TasView_QueryItemBkColor(int index, InputRoll.RollColumn column, ref Color color)
|
||||
{
|
||||
var columnName = column.Name;
|
||||
var record = _currentTasMovie[index];
|
||||
var record = CurrentTasMovie[index];
|
||||
|
||||
if (columnName == MarkerColumnName)
|
||||
{
|
||||
|
@ -86,7 +86,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
color = CurrentFrame_FrameCol;
|
||||
}
|
||||
else if (_currentTasMovie.Markers.IsMarker(index))
|
||||
else if (CurrentTasMovie.Markers.IsMarker(index))
|
||||
{
|
||||
color = Marker_FrameCol;
|
||||
}
|
||||
|
@ -136,17 +136,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
else if (columnName == FrameColumnName)
|
||||
{
|
||||
text = (index).ToString().PadLeft(_currentTasMovie.InputLogLength.ToString().Length, '0');
|
||||
text = (index).ToString().PadLeft(CurrentTasMovie.InputLogLength.ToString().Length, '0');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (index < _currentTasMovie.InputLogLength)
|
||||
if (index < CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
text = _currentTasMovie.DisplayValue(index, columnName);
|
||||
text = CurrentTasMovie.DisplayValue(index, columnName);
|
||||
}
|
||||
else if (Global.Emulator.Frame == _currentTasMovie.InputLogLength) // In this situation we have a "pending" frame for the user to click
|
||||
else if (Global.Emulator.Frame == CurrentTasMovie.InputLogLength) // In this situation we have a "pending" frame for the user to click
|
||||
{
|
||||
text = _currentTasMovie.CreateDisplayValueForButton(
|
||||
text = CurrentTasMovie.CreateDisplayValueForButton(
|
||||
Global.ClickyVirtualPadController,
|
||||
columnName);
|
||||
}
|
||||
|
@ -171,7 +171,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (columnName == FrameColumnName)
|
||||
{
|
||||
_currentTasMovie.Markers.Add(TasView.LastSelectedIndex.Value, "");
|
||||
CurrentTasMovie.Markers.Add(TasView.LastSelectedIndex.Value, "");
|
||||
RefreshDialog();
|
||||
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void TasView_ColumnReordered(object sender, InputRoll.ColumnReorderedEventArgs e)
|
||||
{
|
||||
_currentTasMovie.FlagChanges();
|
||||
CurrentTasMovie.FlagChanges();
|
||||
}
|
||||
|
||||
private void TasView_MouseEnter(object sender, EventArgs e)
|
||||
|
@ -243,9 +243,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
_startBoolDrawColumn = buttonName;
|
||||
|
||||
if (frame < _currentTasMovie.InputLogLength)
|
||||
if (frame < CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
_boolPaintState = _currentTasMovie.BoolIsPressed(frame, buttonName);
|
||||
_boolPaintState = CurrentTasMovie.BoolIsPressed(frame, buttonName);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -256,7 +256,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
else
|
||||
{
|
||||
_startFloatDrawColumn = buttonName;
|
||||
_floatPaintState = _currentTasMovie.GetFloatValue(frame, buttonName);
|
||||
_floatPaintState = CurrentTasMovie.GetFloatValue(frame, buttonName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -318,7 +318,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (Global.Config.TAStudioEmptyMarkers)
|
||||
{
|
||||
_currentTasMovie.Markers.Add(TasView.CurrentCell.RowIndex.Value, string.Empty);
|
||||
CurrentTasMovie.Markers.Add(TasView.CurrentCell.RowIndex.Value, string.Empty);
|
||||
RefreshDialog();
|
||||
}
|
||||
else
|
||||
|
@ -390,9 +390,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
for (var i = startVal; i < endVal; i++)
|
||||
{
|
||||
if (i < _currentTasMovie.InputLogLength) // TODO: how do we really want to handle the user setting the float state of the pending frame?
|
||||
if (i < CurrentTasMovie.InputLogLength) // TODO: how do we really want to handle the user setting the float state of the pending frame?
|
||||
{
|
||||
_currentTasMovie.SetFloatState(i, _startFloatDrawColumn, _floatPaintState); // Notice it uses new row, old column, you can only paint across a single column
|
||||
CurrentTasMovie.SetFloatState(i, _startFloatDrawColumn, _floatPaintState); // Notice it uses new row, old column, you can only paint across a single column
|
||||
_triggerAutoRestore = true;
|
||||
_triggerAutoRestoreFromFrame = TasView.CurrentCell.RowIndex.Value;
|
||||
}
|
||||
|
|
|
@ -18,12 +18,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void FileSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
ToBk2MenuItem.Enabled =
|
||||
!string.IsNullOrWhiteSpace(_currentTasMovie.Filename);
|
||||
ToBk2MenuItem.Enabled =
|
||||
!string.IsNullOrWhiteSpace(CurrentTasMovie.Filename);
|
||||
|
||||
SaveTASMenuItem.Enabled =
|
||||
!string.IsNullOrWhiteSpace(_currentTasMovie.Filename) &&
|
||||
(_currentTasMovie.Filename != DefaultTasProjName());
|
||||
!string.IsNullOrWhiteSpace(CurrentTasMovie.Filename) &&
|
||||
(CurrentTasMovie.Filename != DefaultTasProjName());
|
||||
}
|
||||
|
||||
private void RecentSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
|
@ -49,7 +49,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (AskSaveChanges())
|
||||
{
|
||||
var filename = _currentTasMovie.Filename;
|
||||
var filename = CurrentTasMovie.Filename;
|
||||
if (string.IsNullOrWhiteSpace(filename) || filename == DefaultTasProjName())
|
||||
{
|
||||
filename = "";
|
||||
|
@ -58,43 +58,43 @@ namespace BizHawk.Client.EmuHawk
|
|||
var file = ToolHelpers.GetTasProjFileFromUser(filename);
|
||||
if (file != null)
|
||||
{
|
||||
_currentTasMovie.Filename = file.FullName;
|
||||
_currentTasMovie.Load();
|
||||
Global.Config.RecentTas.Add(_currentTasMovie.Filename);
|
||||
CurrentTasMovie.Filename = file.FullName;
|
||||
CurrentTasMovie.Load();
|
||||
Global.Config.RecentTas.Add(CurrentTasMovie.Filename);
|
||||
|
||||
if (_currentTasMovie.InputLogLength > 0) // TODO: this is probably reoccuring logic, break off into a function
|
||||
if (CurrentTasMovie.InputLogLength > 0) // TODO: this is probably reoccuring logic, break off into a function
|
||||
{
|
||||
_currentTasMovie.SwitchToPlay();
|
||||
CurrentTasMovie.SwitchToPlay();
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentTasMovie.SwitchToRecord();
|
||||
CurrentTasMovie.SwitchToRecord();
|
||||
}
|
||||
|
||||
RefreshDialog();
|
||||
MessageStatusLabel.Text = Path.GetFileName(_currentTasMovie.Filename) + " loaded.";
|
||||
MessageStatusLabel.Text = Path.GetFileName(CurrentTasMovie.Filename) + " loaded.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveTasMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_currentTasMovie.Filename) ||
|
||||
_currentTasMovie.Filename == DefaultTasProjName())
|
||||
if (string.IsNullOrEmpty(CurrentTasMovie.Filename) ||
|
||||
CurrentTasMovie.Filename == DefaultTasProjName())
|
||||
{
|
||||
SaveAsTasMenuItem_Click(sender, e);
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentTasMovie.Save();
|
||||
MessageStatusLabel.Text = Path.GetFileName(_currentTasMovie.Filename) + " saved.";
|
||||
Global.Config.RecentTas.Add(_currentTasMovie.Filename);
|
||||
CurrentTasMovie.Save();
|
||||
MessageStatusLabel.Text = Path.GetFileName(CurrentTasMovie.Filename) + " saved.";
|
||||
Global.Config.RecentTas.Add(CurrentTasMovie.Filename);
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveAsTasMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var filename = _currentTasMovie.Filename;
|
||||
var filename = CurrentTasMovie.Filename;
|
||||
if (string.IsNullOrWhiteSpace(filename) || filename == DefaultTasProjName())
|
||||
{
|
||||
filename = SuggestedTasProjName();
|
||||
|
@ -103,17 +103,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
var file = ToolHelpers.GetTasProjSaveFileFromUser(filename);
|
||||
if (file != null)
|
||||
{
|
||||
_currentTasMovie.Filename = file.FullName;
|
||||
_currentTasMovie.Save();
|
||||
Global.Config.RecentTas.Add(_currentTasMovie.Filename);
|
||||
MessageStatusLabel.Text = Path.GetFileName(_currentTasMovie.Filename) + " saved.";
|
||||
CurrentTasMovie.Filename = file.FullName;
|
||||
CurrentTasMovie.Save();
|
||||
Global.Config.RecentTas.Add(CurrentTasMovie.Filename);
|
||||
MessageStatusLabel.Text = Path.GetFileName(CurrentTasMovie.Filename) + " saved.";
|
||||
SetTextProperty();
|
||||
}
|
||||
}
|
||||
|
||||
private void ToBk2MenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var bk2 = _currentTasMovie.ToBk2();
|
||||
var bk2 = CurrentTasMovie.ToBk2();
|
||||
bk2.Save();
|
||||
MessageStatusLabel.Text = Path.GetFileName(bk2.Filename) + " created.";
|
||||
|
||||
|
@ -145,7 +145,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
_tasClipboard.Any();
|
||||
|
||||
ClearGreenzoneMenuItem.Enabled =
|
||||
_currentTasMovie != null && _currentTasMovie.TasStateManager.Any();
|
||||
CurrentTasMovie != null && CurrentTasMovie.TasStateManager.Any();
|
||||
|
||||
GreenzoneICheckSeparator.Visible =
|
||||
GreenZoneIntegrityCheckMenuItem.Visible =
|
||||
|
@ -168,11 +168,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (TasView.SelectedRows.Any())
|
||||
{
|
||||
var prevMarker = _currentTasMovie.Markers.PreviousOrCurrent(TasView.LastSelectedIndex.Value);
|
||||
var nextMarker = _currentTasMovie.Markers.Next(TasView.LastSelectedIndex.Value);
|
||||
var prevMarker = CurrentTasMovie.Markers.PreviousOrCurrent(TasView.LastSelectedIndex.Value);
|
||||
var nextMarker = CurrentTasMovie.Markers.Next(TasView.LastSelectedIndex.Value);
|
||||
|
||||
int prev = prevMarker != null ? prevMarker.Frame : 0;
|
||||
int next = nextMarker != null ? nextMarker.Frame : _currentTasMovie.InputLogLength;
|
||||
int next = nextMarker != null ? nextMarker.Frame : CurrentTasMovie.InputLogLength;
|
||||
|
||||
for (int i = prev; i < next; i++)
|
||||
{
|
||||
|
@ -200,9 +200,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
foreach (var index in list)
|
||||
{
|
||||
var input = _currentTasMovie.GetInputState(index);
|
||||
var input = CurrentTasMovie.GetInputState(index);
|
||||
_tasClipboard.Add(new TasClipboardEntry(index, input));
|
||||
var lg = _currentTasMovie.LogGeneratorInstance();
|
||||
var lg = CurrentTasMovie.LogGeneratorInstance();
|
||||
lg.SetSource(input);
|
||||
sb.AppendLine(lg.GenerateLogEntry());
|
||||
}
|
||||
|
@ -220,7 +220,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
var needsToRollback = !(TasView.FirstSelectedIndex > Global.Emulator.Frame);
|
||||
|
||||
_currentTasMovie.CopyOverInput(TasView.FirstSelectedIndex.Value, _tasClipboard.Select(x => x.ControllerState));
|
||||
CurrentTasMovie.CopyOverInput(TasView.FirstSelectedIndex.Value, _tasClipboard.Select(x => x.ControllerState));
|
||||
|
||||
if (needsToRollback)
|
||||
{
|
||||
|
@ -240,7 +240,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
var needsToRollback = !(TasView.FirstSelectedIndex > Global.Emulator.Frame);
|
||||
|
||||
_currentTasMovie.InsertInput(TasView.FirstSelectedIndex.Value, _tasClipboard.Select(x => x.ControllerState));
|
||||
CurrentTasMovie.InsertInput(TasView.FirstSelectedIndex.Value, _tasClipboard.Select(x => x.ControllerState));
|
||||
|
||||
if (needsToRollback)
|
||||
{
|
||||
|
@ -266,15 +266,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
var sb = new StringBuilder();
|
||||
for (var i = 0; i < list.Length; i++)
|
||||
{
|
||||
var input = _currentTasMovie.GetInputState(i);
|
||||
var input = CurrentTasMovie.GetInputState(i);
|
||||
_tasClipboard.Add(new TasClipboardEntry(list[i], input));
|
||||
var lg = _currentTasMovie.LogGeneratorInstance();
|
||||
var lg = CurrentTasMovie.LogGeneratorInstance();
|
||||
lg.SetSource(input);
|
||||
sb.AppendLine(lg.GenerateLogEntry());
|
||||
}
|
||||
|
||||
Clipboard.SetDataObject(sb.ToString());
|
||||
_currentTasMovie.RemoveFrames(list);
|
||||
CurrentTasMovie.RemoveFrames(list);
|
||||
SetSplicer();
|
||||
TasView.DeselectAll();
|
||||
|
||||
|
@ -299,7 +299,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
foreach (var frame in TasView.SelectedRows)
|
||||
{
|
||||
_currentTasMovie.ClearFrame(frame);
|
||||
CurrentTasMovie.ClearFrame(frame);
|
||||
}
|
||||
|
||||
if (needsToRollback)
|
||||
|
@ -322,7 +322,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
var rollBackFrame = TasView.FirstSelectedIndex.Value;
|
||||
|
||||
_tasClipboard.Clear();
|
||||
_currentTasMovie.RemoveFrames(TasView.SelectedRows.ToArray());
|
||||
CurrentTasMovie.RemoveFrames(TasView.SelectedRows.ToArray());
|
||||
SetSplicer();
|
||||
|
||||
if (needsToRollback)
|
||||
|
@ -346,10 +346,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
var needsToRollback = !(insertionFrame > Global.Emulator.Frame);
|
||||
|
||||
var inputLog = framesToInsert
|
||||
.Select(frame => _currentTasMovie.GetInputLogEntry(frame))
|
||||
.Select(frame => CurrentTasMovie.GetInputLogEntry(frame))
|
||||
.ToList();
|
||||
|
||||
_currentTasMovie.InsertInput(insertionFrame, inputLog);
|
||||
CurrentTasMovie.InsertInput(insertionFrame, inputLog);
|
||||
|
||||
if (needsToRollback)
|
||||
{
|
||||
|
@ -369,7 +369,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
var insertionFrame = TasView.SelectedRows.Any() ? TasView.FirstSelectedIndex.Value : 0;
|
||||
var needsToRollback = insertionFrame <= Global.Emulator.Frame;
|
||||
|
||||
_currentTasMovie.InsertEmptyFrame(insertionFrame);
|
||||
CurrentTasMovie.InsertEmptyFrame(insertionFrame);
|
||||
|
||||
if (needsToRollback)
|
||||
{
|
||||
|
@ -392,7 +392,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
var result = framesPrompt.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
{
|
||||
_currentTasMovie.InsertEmptyFrame(insertionFrame, framesPrompt.Frames);
|
||||
CurrentTasMovie.InsertEmptyFrame(insertionFrame, framesPrompt.Frames);
|
||||
}
|
||||
|
||||
if (needsToRollback)
|
||||
|
@ -414,7 +414,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
var rollbackFrame = TasView.LastSelectedIndex.Value;
|
||||
var needsToRollback = !(rollbackFrame > Global.Emulator.Frame);
|
||||
|
||||
_currentTasMovie.Truncate(rollbackFrame);
|
||||
CurrentTasMovie.Truncate(rollbackFrame);
|
||||
|
||||
if (needsToRollback)
|
||||
{
|
||||
|
@ -437,13 +437,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void RemoveMarkersMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
_currentTasMovie.Markers.RemoveAll(m => TasView.SelectedRows.Contains(m.Frame));
|
||||
CurrentTasMovie.Markers.RemoveAll(m => TasView.SelectedRows.Contains(m.Frame));
|
||||
RefreshDialog();
|
||||
}
|
||||
|
||||
private void ClearGreenzoneMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
_currentTasMovie.ClearGreenzone();
|
||||
CurrentTasMovie.ClearGreenzone();
|
||||
RefreshDialog();
|
||||
}
|
||||
|
||||
|
@ -453,10 +453,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
GlobalWin.MainForm.FrameAdvance();
|
||||
var frame = Global.Emulator.Frame;
|
||||
|
||||
if (_currentTasMovie.TasStateManager.HasState(frame))
|
||||
if (CurrentTasMovie.TasStateManager.HasState(frame))
|
||||
{
|
||||
var state = (byte[])Global.Emulator.SaveStateBinary().Clone();
|
||||
var greenzone = _currentTasMovie.TasStateManager[frame];
|
||||
var greenzone = CurrentTasMovie.TasStateManager[frame];
|
||||
|
||||
if (!state.SequenceEqual(greenzone))
|
||||
{
|
||||
|
@ -499,7 +499,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void RotateMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
TasView.HorizontalOrientation ^= true;
|
||||
_currentTasMovie.FlagChanges();
|
||||
CurrentTasMovie.FlagChanges();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -508,20 +508,20 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void HeaderMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
new MovieHeaderEditor(_currentTasMovie) { Owner = GlobalWin.MainForm }.Show();
|
||||
new MovieHeaderEditor(CurrentTasMovie) { Owner = GlobalWin.MainForm }.Show();
|
||||
UpdateChangesIndicator();
|
||||
}
|
||||
|
||||
private void GreenzoneSettingsMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
new GreenzoneSettingsForm(_currentTasMovie.TasStateManager.Settings) { Owner = GlobalWin.MainForm }.Show();
|
||||
new GreenzoneSettingsForm(CurrentTasMovie.TasStateManager.Settings) { Owner = GlobalWin.MainForm }.Show();
|
||||
UpdateChangesIndicator();
|
||||
}
|
||||
|
||||
private void CommentsMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var form = new EditCommentsForm();
|
||||
form.GetMovie(_currentTasMovie);
|
||||
form.GetMovie(CurrentTasMovie);
|
||||
form.ShowDialog();
|
||||
}
|
||||
|
||||
|
@ -613,7 +613,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
dummyColumnObject.Visible ^= true;
|
||||
TasView.AllColumns.ColumnsChanged();
|
||||
_currentTasMovie.FlagChanges();
|
||||
CurrentTasMovie.FlagChanges();
|
||||
TasView.Refresh();
|
||||
};
|
||||
|
||||
|
@ -632,7 +632,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
TasView.AllColumns.Clear();
|
||||
SetUpColumns();
|
||||
TasView.Refresh();
|
||||
_currentTasMovie.FlagChanges();
|
||||
CurrentTasMovie.FlagChanges();
|
||||
};
|
||||
|
||||
ColumnsSubMenu.DropDownItems.Add(defaults);
|
||||
|
|
|
@ -33,16 +33,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
// If near a greenzone item, load and emulate
|
||||
// Do capturing and recording as needed
|
||||
|
||||
if (frame < _currentTasMovie.InputLogLength)
|
||||
if (frame < CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
if (frame < Global.Emulator.Frame) // We are rewinding
|
||||
{
|
||||
var goToFrame = frame == 0 ? 0 : frame - 1;
|
||||
|
||||
if (_currentTasMovie[goToFrame].HasState) // Go back 1 frame and emulate to get the display (we don't store that)
|
||||
if (CurrentTasMovie[goToFrame].HasState) // Go back 1 frame and emulate to get the display (we don't store that)
|
||||
{
|
||||
_currentTasMovie.SwitchToPlay();
|
||||
LoadState(_currentTasMovie[goToFrame].State.ToArray());
|
||||
CurrentTasMovie.SwitchToPlay();
|
||||
LoadState(CurrentTasMovie[goToFrame].State.ToArray());
|
||||
|
||||
if (frame > 0) // We can't emulate up to frame 0!
|
||||
{
|
||||
|
@ -61,10 +61,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
else // We are going foward
|
||||
{
|
||||
var goToFrame = frame == 0 ? 0 : frame - 1;
|
||||
if (_currentTasMovie[goToFrame].HasState) // Can we go directly there?
|
||||
if (CurrentTasMovie[goToFrame].HasState) // Can we go directly there?
|
||||
{
|
||||
_currentTasMovie.SwitchToPlay();
|
||||
Global.Emulator.LoadStateBinary(new BinaryReader(new MemoryStream(_currentTasMovie[goToFrame].State.ToArray())));
|
||||
CurrentTasMovie.SwitchToPlay();
|
||||
Global.Emulator.LoadStateBinary(new BinaryReader(new MemoryStream(CurrentTasMovie[goToFrame].State.ToArray())));
|
||||
Global.Emulator.FrameAdvance(true);
|
||||
GlobalWin.DisplayManager.NeedsToPaint = true;
|
||||
|
||||
|
@ -80,22 +80,22 @@ namespace BizHawk.Client.EmuHawk
|
|||
else // Emulate to a future frame
|
||||
{
|
||||
// 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 = frame - Global.Emulator.Frame != 1;
|
||||
|
||||
if (_currentTasMovie.TasStateManager.LastEmulatedFrame > 0 && shouldLoadstate)
|
||||
if (CurrentTasMovie.TasStateManager.LastEmulatedFrame > 0 && shouldLoadstate)
|
||||
{
|
||||
LoadState(_currentTasMovie[_currentTasMovie.TasStateManager.LastEmulatedFrame].State.ToArray());
|
||||
LoadState(CurrentTasMovie[CurrentTasMovie.TasStateManager.LastEmulatedFrame].State.ToArray());
|
||||
}
|
||||
|
||||
if (frame != Global.Emulator.Frame) // If we aren't already at our destination, seek
|
||||
{
|
||||
GlobalWin.MainForm.UnpauseEmulator();
|
||||
if (Global.Config.TAStudioAutoPause && frame < _currentTasMovie.InputLogLength)
|
||||
if (Global.Config.TAStudioAutoPause && frame < CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
GlobalWin.MainForm.PauseOnFrame = _currentTasMovie.InputLogLength;
|
||||
GlobalWin.MainForm.PauseOnFrame = CurrentTasMovie.InputLogLength;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -125,7 +125,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (Global.Emulator.Frame > 0)
|
||||
{
|
||||
var prevMarker = _currentTasMovie.Markers.Previous(Global.Emulator.Frame);
|
||||
var prevMarker = CurrentTasMovie.Markers.Previous(Global.Emulator.Frame);
|
||||
var prev = prevMarker != null ? prevMarker.Frame : 0;
|
||||
GoToFrame(prev);
|
||||
}
|
||||
|
@ -133,8 +133,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public void GoToNextMarker()
|
||||
{
|
||||
var nextMarker = _currentTasMovie.Markers.Next(Global.Emulator.Frame);
|
||||
var next = nextMarker != null ? nextMarker.Frame : _currentTasMovie.InputLogLength - 1;
|
||||
var nextMarker = CurrentTasMovie.Markers.Next(Global.Emulator.Frame);
|
||||
var next = nextMarker != null ? nextMarker.Frame : CurrentTasMovie.InputLogLength - 1;
|
||||
GoToFrame(next);
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private int _defaultWidth;
|
||||
private int _defaultHeight;
|
||||
private TasMovie _currentTasMovie;
|
||||
private MovieEndAction _originalEndAction; // The movie end behavior selected by the user (that is overridden by TAStudio)
|
||||
private Dictionary<string, string> GenerateColumnNames()
|
||||
{
|
||||
|
@ -34,6 +33,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private int? _autoRestoreFrame; // The frame auto-restore will restore to, if set
|
||||
|
||||
public TasMovie CurrentTasMovie
|
||||
{
|
||||
get { return Global.MovieSession.Movie as TasMovie; }
|
||||
}
|
||||
|
||||
public TAStudio()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
@ -51,11 +55,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
TasView.MaxCharactersInHorizontal = 1;
|
||||
}
|
||||
|
||||
public TasMovie CurrentMovie
|
||||
{
|
||||
get { return _currentTasMovie; }
|
||||
}
|
||||
|
||||
private void TastudioToStopMovie()
|
||||
{
|
||||
Global.MovieSession.StopMovie(false);
|
||||
|
@ -74,7 +73,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
GlobalWin.MainForm.PauseOnFrame = null;
|
||||
GlobalWin.OSD.AddMessage("TAStudio engaged");
|
||||
_currentTasMovie = Global.MovieSession.Movie as TasMovie;
|
||||
SetTasMovieCallbacks();
|
||||
SetTextProperty();
|
||||
GlobalWin.MainForm.PauseEmulator();
|
||||
|
@ -98,12 +96,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void NewTasMovie()
|
||||
{
|
||||
Global.MovieSession.Movie = new TasMovie();
|
||||
_currentTasMovie = Global.MovieSession.Movie as TasMovie;
|
||||
SetTasMovieCallbacks();
|
||||
_currentTasMovie.PropertyChanged += new PropertyChangedEventHandler(this.TasMovie_OnPropertyChanged);
|
||||
_currentTasMovie.Filename = DefaultTasProjName(); // TODO don't do this, take over any mainform actions that can crash without a filename
|
||||
_currentTasMovie.PopulateWithDefaultHeaderValues();
|
||||
_currentTasMovie.ClearChanges();
|
||||
CurrentTasMovie.PropertyChanged += new PropertyChangedEventHandler(this.TasMovie_OnPropertyChanged);
|
||||
CurrentTasMovie.Filename = DefaultTasProjName(); // TODO don't do this, take over any mainform actions that can crash without a filename
|
||||
CurrentTasMovie.PopulateWithDefaultHeaderValues();
|
||||
CurrentTasMovie.ClearChanges();
|
||||
TasView.RowCount = 1;
|
||||
}
|
||||
|
||||
|
@ -130,8 +127,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void SetTasMovieCallbacks()
|
||||
{
|
||||
_currentTasMovie.ClientSettingsForSave = ClientSettingsForSave;
|
||||
_currentTasMovie.GetClientSettingsOnLoad = GetClientSettingsOnLoad;
|
||||
CurrentTasMovie.ClientSettingsForSave = ClientSettingsForSave;
|
||||
CurrentTasMovie.GetClientSettingsOnLoad = GetClientSettingsOnLoad;
|
||||
}
|
||||
|
||||
private void StartNewTasMovie()
|
||||
|
@ -141,7 +138,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
NewTasMovie();
|
||||
WantsToControlStopMovie = false;
|
||||
StartNewMovieWrapper(record: true);
|
||||
_currentTasMovie.ClearChanges();
|
||||
CurrentTasMovie.ClearChanges();
|
||||
WantsToControlStopMovie = true;
|
||||
SetTextProperty();
|
||||
RefreshDialog();
|
||||
|
@ -167,9 +164,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void SetTextProperty()
|
||||
{
|
||||
var text = "TAStudio";
|
||||
if (_currentTasMovie != null)
|
||||
if (CurrentTasMovie != null)
|
||||
{
|
||||
text += " - " + _currentTasMovie.Name + (_currentTasMovie.Changes ? "*" : "");
|
||||
text += " - " + CurrentTasMovie.Name + (CurrentTasMovie.Changes ? "*" : "");
|
||||
}
|
||||
|
||||
Text = text;
|
||||
|
@ -205,12 +202,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
return false;
|
||||
}
|
||||
|
||||
_currentTasMovie = Global.MovieSession.Movie as TasMovie;
|
||||
SetTasMovieCallbacks();
|
||||
|
||||
WantsToControlStopMovie = true;
|
||||
Global.Config.RecentTas.Add(path);
|
||||
Text = "TAStudio - " + _currentTasMovie.Name;
|
||||
Text = "TAStudio - " + CurrentTasMovie.Name;
|
||||
|
||||
RefreshDialog();
|
||||
return true;
|
||||
|
@ -221,13 +217,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public void RefreshDialog()
|
||||
{
|
||||
_currentTasMovie.FlushInputCache();
|
||||
_currentTasMovie.UseInputCache = true;
|
||||
TasView.RowCount = _currentTasMovie.InputLogLength + 1;
|
||||
CurrentTasMovie.FlushInputCache();
|
||||
CurrentTasMovie.UseInputCache = true;
|
||||
TasView.RowCount = CurrentTasMovie.InputLogLength + 1;
|
||||
TasView.Refresh();
|
||||
|
||||
_currentTasMovie.FlushInputCache();
|
||||
_currentTasMovie.UseInputCache = false;
|
||||
CurrentTasMovie.FlushInputCache();
|
||||
CurrentTasMovie.UseInputCache = false;
|
||||
|
||||
if (MarkerControl != null)
|
||||
{
|
||||
|
@ -302,8 +298,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void StartAtNearestFrameAndEmulate(int frame)
|
||||
{
|
||||
_currentTasMovie.SwitchToPlay();
|
||||
var closestState = _currentTasMovie.TasStateManager.GetStateClosestToFrame(frame);
|
||||
CurrentTasMovie.SwitchToPlay();
|
||||
var closestState = CurrentTasMovie.TasStateManager.GetStateClosestToFrame(frame);
|
||||
if (closestState != null)
|
||||
{
|
||||
LoadState(closestState.ToArray());
|
||||
|
@ -371,14 +367,14 @@ namespace BizHawk.Client.EmuHawk
|
|||
Text = "Marker for frame " + markerFrame,
|
||||
TextInputType = InputPrompt.InputType.Text,
|
||||
Message = "Enter a message",
|
||||
InitialValue = _currentTasMovie.Markers.IsMarker(markerFrame) ? _currentTasMovie.Markers.PreviousOrCurrent(markerFrame).Message : ""
|
||||
InitialValue = CurrentTasMovie.Markers.IsMarker(markerFrame) ? CurrentTasMovie.Markers.PreviousOrCurrent(markerFrame).Message : ""
|
||||
};
|
||||
|
||||
var result = i.ShowHawkDialog();
|
||||
|
||||
if (result == DialogResult.OK)
|
||||
{
|
||||
_currentTasMovie.Markers.Add(markerFrame, i.PromptText);
|
||||
CurrentTasMovie.Markers.Add(markerFrame, i.PromptText);
|
||||
MarkerControl.UpdateValues();
|
||||
}
|
||||
}
|
||||
|
@ -392,11 +388,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
// Sets either the pending frame or the tas input log
|
||||
private void ToggleBoolState(int frame, string buttonName)
|
||||
{
|
||||
if (frame < _currentTasMovie.InputLogLength)
|
||||
if (frame < CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
_currentTasMovie.ToggleBoolState(frame, buttonName);
|
||||
CurrentTasMovie.ToggleBoolState(frame, buttonName);
|
||||
}
|
||||
else if (frame == Global.Emulator.Frame && frame == _currentTasMovie.InputLogLength)
|
||||
else if (frame == Global.Emulator.Frame && frame == CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
Global.ClickyVirtualPadController.Toggle(buttonName);
|
||||
}
|
||||
|
@ -406,11 +402,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
// Sets either the pending frame or the tas input log
|
||||
private void SetBoolState(int frame, string buttonName, bool value)
|
||||
{
|
||||
if (frame < _currentTasMovie.InputLogLength)
|
||||
if (frame < CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
_currentTasMovie.SetBoolState(frame, buttonName, value);
|
||||
CurrentTasMovie.SetBoolState(frame, buttonName, value);
|
||||
}
|
||||
else if (frame == Global.Emulator.Frame && frame == _currentTasMovie.InputLogLength)
|
||||
else if (frame == Global.Emulator.Frame && frame == CurrentTasMovie.InputLogLength)
|
||||
{
|
||||
Global.ClickyVirtualPadController.SetBool(buttonName, value);
|
||||
}
|
||||
|
@ -431,15 +427,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
NewTasMovie();
|
||||
StartNewMovieWrapper(record: true);
|
||||
_currentTasMovie.TasStateManager.Capture();
|
||||
_currentTasMovie.SwitchToRecord();
|
||||
_currentTasMovie.ClearChanges();
|
||||
CurrentTasMovie.TasStateManager.Capture();
|
||||
CurrentTasMovie.SwitchToRecord();
|
||||
CurrentTasMovie.ClearChanges();
|
||||
}
|
||||
|
||||
private bool StartNewMovieWrapper(bool record, IMovie movie = null)
|
||||
{
|
||||
_initializing = true;
|
||||
var result = GlobalWin.MainForm.StartNewMovie(movie != null ? movie : _currentTasMovie, record);
|
||||
var result = GlobalWin.MainForm.StartNewMovie(movie != null ? movie : CurrentTasMovie, record);
|
||||
_initializing = false;
|
||||
|
||||
return result;
|
||||
|
@ -459,7 +455,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
.First(t => t.Name == "RotateMenuItem")
|
||||
.Click += (o, ov) =>
|
||||
{
|
||||
_currentTasMovie.FlagChanges();
|
||||
CurrentTasMovie.FlagChanges();
|
||||
};
|
||||
|
||||
RefreshDialog();
|
||||
|
@ -556,7 +552,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
TruncateContextMenuItem.Enabled =
|
||||
TasView.SelectedRows.Any();
|
||||
|
||||
RemoveMarkersContextMenuItem.Enabled = _currentTasMovie.Markers.Any(m => TasView.SelectedRows.Contains(m.Frame)); // Disable the option to remove markers if no markers are selected (FCEUX does this).
|
||||
RemoveMarkersContextMenuItem.Enabled = CurrentTasMovie.Markers.Any(m => TasView.SelectedRows.Contains(m.Frame)); // Disable the option to remove markers if no markers are selected (FCEUX does this).
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
Loading…
Reference in New Issue