Tastudio - implement truncate movie
This commit is contained in:
parent
e49754b705
commit
43415044e7
|
@ -29,8 +29,17 @@ namespace BizHawk.Client.Common
|
|||
{
|
||||
base.Truncate(frame);
|
||||
|
||||
LagLog.RemoveRange(frame + 2, LagLog.Count - frame - 1);
|
||||
if (frame < LagLog.Count)
|
||||
{
|
||||
LagLog.RemoveRange(frame + 2, LagLog.Count - frame - 1);
|
||||
}
|
||||
|
||||
StateManager.Invalidate(frame + 1);
|
||||
|
||||
if (frame < _log.Count - 1)
|
||||
{
|
||||
Changes = true;
|
||||
}
|
||||
// TODO: Markers? What does taseditor do?
|
||||
}
|
||||
|
||||
|
|
|
@ -407,10 +407,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
// TruncateMenuItem
|
||||
//
|
||||
this.TruncateMenuItem.Enabled = false;
|
||||
this.TruncateMenuItem.Name = "TruncateMenuItem";
|
||||
this.TruncateMenuItem.Size = new System.Drawing.Size(240, 22);
|
||||
this.TruncateMenuItem.Text = "&Truncate Movie";
|
||||
this.TruncateMenuItem.Click += new System.EventHandler(this.TruncateMenuItem_Click);
|
||||
//
|
||||
// ConfigSubMenu
|
||||
//
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
|
@ -55,7 +54,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
private IEnumerable SelectedIndices
|
||||
private IEnumerable<int> SelectedIndices
|
||||
{
|
||||
get
|
||||
{
|
||||
|
@ -461,9 +460,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void CutMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
_tasClipboard.Clear();
|
||||
var list = TasView.SelectedIndices
|
||||
.OfType<int>()
|
||||
.ToArray();
|
||||
var list = SelectedIndices.ToArray();
|
||||
var sb = new StringBuilder();
|
||||
for (var i = 0; i < list.Length; i++)
|
||||
{
|
||||
|
@ -485,10 +482,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void ClearMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var list = TasView.SelectedIndices
|
||||
.OfType<int>();
|
||||
|
||||
foreach (var frame in list)
|
||||
foreach (var frame in SelectedIndices)
|
||||
{
|
||||
_tas.ClearFrame(frame);
|
||||
}
|
||||
|
@ -499,12 +493,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void DeleteFramesMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
_tasClipboard.Clear();
|
||||
var list = TasView.SelectedIndices
|
||||
.OfType<int>()
|
||||
.ToArray();
|
||||
|
||||
_tas.RemoveFrames(list);
|
||||
|
||||
_tas.RemoveFrames(SelectedIndices.ToArray());
|
||||
SetSplicer();
|
||||
TasView.DeselectAll();
|
||||
RefreshDialog();
|
||||
|
@ -512,14 +501,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void CloneMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var framesToInsert = TasView.SelectedIndices
|
||||
.OfType<int>()
|
||||
.OrderBy(frame => frame)
|
||||
.ToList();
|
||||
|
||||
var insertionFrame = framesToInsert.Last() + 1;
|
||||
|
||||
var framesToInsert = SelectedIndices.ToList();
|
||||
var insertionFrame = LastSelectedIndex + 1;
|
||||
var inputLog = new List<string>();
|
||||
|
||||
foreach (var frame in framesToInsert)
|
||||
{
|
||||
inputLog.Add(_tas.GetInput(frame));
|
||||
|
@ -532,15 +517,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void InsertFrameMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var insertionFrame = TasView.SelectedIndices
|
||||
.OfType<int>()
|
||||
.Last() + 1;
|
||||
|
||||
_tas.InsertEmptyFrame(insertionFrame);
|
||||
|
||||
_tas.InsertEmptyFrame(LastSelectedIndex + 1);
|
||||
RefreshDialog();
|
||||
}
|
||||
|
||||
private void TruncateMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
_tas.Truncate(LastSelectedIndex + 1);
|
||||
RefreshDialog();
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Config
|
||||
|
|
Loading…
Reference in New Issue