From 1581b5b283ab8c0848d59b10873455bcd9a2a4d3 Mon Sep 17 00:00:00 2001 From: feos Date: Mon, 18 Apr 2016 18:52:02 +0300 Subject: [PATCH] tastudio: tie rerecording to laglog invalidation instead of states. --- BizHawk.Client.Common/movie/tasproj/TasLagLog.cs | 6 +++++- BizHawk.Client.Common/movie/tasproj/TasMovie.cs | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/BizHawk.Client.Common/movie/tasproj/TasLagLog.cs b/BizHawk.Client.Common/movie/tasproj/TasLagLog.cs index 7f573d55ea..5e8b317d59 100644 --- a/BizHawk.Client.Common/movie/tasproj/TasLagLog.cs +++ b/BizHawk.Client.Common/movie/tasproj/TasLagLog.cs @@ -79,10 +79,14 @@ namespace BizHawk.Client.Common LagLog.Clear(); } - public void RemoveFrom(int frame) + public bool RemoveFrom(int frame) { if (LagLog.Count > frame && frame >= 0) + { LagLog.RemoveRange(frame + 1, LagLog.Count - frame - 1); + return true; + } + return false; } public void RemoveHistoryAt(int frame) diff --git a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs index e2e64d8e2c..107dd0448c 100644 --- a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs +++ b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs @@ -224,8 +224,8 @@ namespace BizHawk.Client.Common /// The last frame that can be valid. private void InvalidateAfter(int frame) { - LagLog.RemoveFrom(frame); - var anyInvalidated = StateManager.Invalidate(frame + 1); + var anyInvalidated = LagLog.RemoveFrom(frame); + StateManager.Invalidate(frame + 1); Changes = true; // TODO check if this actually removed anything before flagging changes if (anyInvalidated && Global.MovieSession.Movie.IsCountingRerecords)