From 51b64f63f1c5f9eb1a618a34dd90371c10c5a131 Mon Sep 17 00:00:00 2001 From: James Groom Date: Fri, 17 May 2024 08:36:09 +1000 Subject: [PATCH] Fix off-by-one in edge cases for `tastudio.ongreenzoneinvalidated` fixes ad07eb857 also updated the docs to match the actual behaviour --- src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs | 2 +- src/BizHawk.Client.Common/movie/tasproj/TasMovie.cs | 2 +- .../tools/Lua/Libraries/TAStudioLuaLibrary.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs b/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs index a4e6d8ef13..c58305b529 100644 --- a/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs +++ b/src/BizHawk.Client.Common/movie/tasproj/TasMovie.Editing.cs @@ -32,7 +32,7 @@ namespace BizHawk.Client.Common if (this.IsRecording()) { TasStateManager.InvalidateAfter(frame); - GreenzoneInvalidated(frame + 1); + GreenzoneInvalidated(frame); } if (frame != 0) diff --git a/src/BizHawk.Client.Common/movie/tasproj/TasMovie.cs b/src/BizHawk.Client.Common/movie/tasproj/TasMovie.cs index f3101ab9e8..5629419cf4 100644 --- a/src/BizHawk.Client.Common/movie/tasproj/TasMovie.cs +++ b/src/BizHawk.Client.Common/movie/tasproj/TasMovie.cs @@ -135,7 +135,7 @@ namespace BizHawk.Client.Common { var anyLagInvalidated = LagLog.RemoveFrom(frame); var anyStateInvalidated = TasStateManager.InvalidateAfter(frame); - GreenzoneInvalidated(frame + 1); + GreenzoneInvalidated(frame); if (anyLagInvalidated || anyStateInvalidated) { Changes = true; diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs index 0f6eb5f053..3558146334 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs @@ -543,7 +543,7 @@ namespace BizHawk.Client.EmuHawk } [LuaMethodExample("tastudio.ongreenzoneinvalidated( function( currentindex )\r\n\tconsole.log( \"Called whenever the greenzone is invalidated.\" );\r\nend );")] - [LuaMethod("ongreenzoneinvalidated", "Called whenever the greenzone is invalidated. Your callback can have 1 parameter, which will be the index of the first row that was invalidated.")] + [LuaMethod("ongreenzoneinvalidated", "Called whenever the greenzone is invalidated. Your callback can have 1 parameter, which will be the index of the last row before the invalidated ones.")] public void OnGreenzoneInvalidated(LuaFunction luaf) { if (Engaged())