Inserting frames in TAStudio now inserts before FirstSelectedIndex like FCEUX and most other programs with insertion options.

This commit is contained in:
kylelyk 2014-08-23 02:06:56 +00:00
parent c905b6fed2
commit 6fa3cf4d28
2 changed files with 7 additions and 6 deletions

View File

@ -65,6 +65,7 @@ namespace BizHawk.Client.Common
/// <summary>
/// Removes lag log and greenzone after this frame
/// </summary>
/// <param name="frame">The last frame that can be valid.</param>
private void InvalidateAfter(int frame)
{
if (frame < LagLog.Count)

View File

@ -286,8 +286,8 @@ namespace BizHawk.Client.EmuHawk
}
}
else // We are going foward
{
var goToFrame = frame - 1;
{
var goToFrame = frame == 0 ? 0 : frame - 1;
if (_currentTasMovie[goToFrame].HasState) // Can we go directly there?
{
_currentTasMovie.SwitchToPlay();
@ -743,8 +743,8 @@ namespace BizHawk.Client.EmuHawk
private void InsertFrameMenuItem_Click(object sender, EventArgs e)
{
var insertionFrame = TasView.SelectedIndices().Any() ? LastSelectedIndex + 1 : 0;
var needsToRollback = !(insertionFrame > Global.Emulator.Frame);
var insertionFrame = TasView.SelectedIndices().Any() ? FirstSelectedIndex : 0;
bool needsToRollback = insertionFrame <= Global.Emulator.Frame;
_currentTasMovie.InsertEmptyFrame(insertionFrame);
@ -760,8 +760,8 @@ namespace BizHawk.Client.EmuHawk
private void InsertNumFramesMenuItem_Click(object sender, EventArgs e)
{
var insertionFrame = TasView.SelectedIndices().Any() ? LastSelectedIndex + 1 : 0;
var needsToRollback = !(insertionFrame > Global.Emulator.Frame);
var insertionFrame = TasView.SelectedIndices().Any() ? FirstSelectedIndex : 0;
bool needsToRollback = insertionFrame <= Global.Emulator.Frame;
var framesPrompt = new FramesPrompt();
var result = framesPrompt.ShowDialog();