diff --git a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs
index 375136d6fd..127b06d7b7 100644
--- a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs
+++ b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs
@@ -56,7 +56,6 @@ namespace BizHawk.Client.Common
BindMarkersToInput = true;
CurrentBranch = -1;
- LastPositionFrame = -1;
}
public TasMovie(bool startsFromSavestate = false, BackgroundWorker progressReportWorker = null)
@@ -79,7 +78,6 @@ namespace BizHawk.Client.Common
BindMarkersToInput = true;
CurrentBranch = -1;
- LastPositionFrame = -1;
}
public TasLagLog TasLagLog { get { return LagLog; } }
@@ -87,23 +85,11 @@ namespace BizHawk.Client.Common
public TasMovieMarkerList Markers { get; set; }
public bool BindMarkersToInput { get; set; }
public bool UseInputCache { get; set; }
+ public bool LastPositionStable = true;
public string NewBranchText = "";
public int CurrentBranch { get; set; }
public int BranchCount { get { return Branches.Count; } }
- ///
- /// Separates "restore last position" logic from seeking caused by navigation.
- /// TASEditor never kills LastPositionFrame, and it only pauses on it,
- /// if it hasn't been greenzoned beforehand and middle mouse button was pressed.
- ///
- public int LastPositionFrame { get; set; }
-
- ///
- /// If user emulated a new frame, current edited segment may change
- /// TASEditor lets LastPositionFrame be changed then
- ///
- public bool LastPositionStable = true;
-
public TasBranch GetBranch(int index)
{
if (index >= Branches.Count || index < 0)
@@ -327,6 +313,7 @@ namespace BizHawk.Client.Common
{
if (Global.Emulator.Frame > LastValidFrame)
{
+ // emulated a new frame, current editing segment may change now. taseditor logic
LastPositionStable = false;
}
diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
index 23bef0c134..c8d285a047 100644
--- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
+++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
@@ -115,17 +115,12 @@ namespace BizHawk.Client.EmuHawk
get { return GlobalWin.MainForm; }
}
- public int LastPositionFrame
- {
- get
- {
- return CurrentTasMovie.LastPositionFrame;
- }
- set
- {
- CurrentTasMovie.LastPositionFrame = value;
- }
- }
+ ///
+ /// Separates "restore last position" logic from seeking caused by navigation.
+ /// TASEditor never kills LastPositionFrame, and it only pauses on it,
+ /// if it hasn't been greenzoned beforehand and middle mouse button was pressed.
+ ///
+ public int LastPositionFrame { get; set; }
#region "Initializing"
@@ -174,6 +169,7 @@ namespace BizHawk.Client.EmuHawk
TasView.PointedCellChanged += TasView_PointedCellChanged;
TasView.MultiSelect = true;
TasView.MaxCharactersInHorizontal = 1;
+ LastPositionFrame = -1;
}
private void AutosaveTimerEventProcessor(object sender, EventArgs e)