From b33d7f5ce4c90cada4ff4ff1d51a0192381f73e8 Mon Sep 17 00:00:00 2001 From: Morilli <35152647+Morilli@users.noreply.github.com> Date: Sun, 9 Feb 2025 08:17:45 +0100 Subject: [PATCH] simplify RemoveFrames --- .../movie/tasproj/TasMovie.Editing.cs | 24 ++++++------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs b/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs index 396ea78824..f92ce87f32 100644 --- a/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs +++ b/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs @@ -114,26 +114,16 @@ namespace BizHawk.Client.Common List framesToDelete = frames .Where(fr => fr >= 0 && fr < InputLogLength) .Order().ToList(); - // f is the current index for framesToDelete - int f = 0; - int numDeleted = 0; - while (numDeleted != framesToDelete.Count) + + int alreadyDeleted = 0; + for (int i = 1; i <= framesToDelete.Count; i++) { - int startFrame; - var prevFrame = startFrame = framesToDelete[f]; - f++; - for (; f < framesToDelete.Count; f++) + if (i == framesToDelete.Count || framesToDelete[i] - framesToDelete[i - 1] != 1) { - var frame = framesToDelete[f]; - if (frame - 1 != prevFrame) - { - break; - } - prevFrame = frame; + // Each block is logged as an individual ChangeLog entry + RemoveFrames(framesToDelete[alreadyDeleted] - alreadyDeleted, framesToDelete[i - 1] + 1 - alreadyDeleted); + alreadyDeleted = i; } - // Each block is logged as an individual ChangeLog entry - RemoveFrames(startFrame - numDeleted, prevFrame + 1 - numDeleted); - numDeleted += prevFrame + 1 - startFrame; } } }