diff --git a/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs b/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs index c429fa3584..f03e019beb 100644 --- a/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs +++ b/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs @@ -469,7 +469,7 @@ namespace BizHawk.Client.Common public bool HasState(int frame) { - return StateCache.Contains(frame); + return GetStateClosestToFrame(frame).Key == frame; } private bool InvalidateGaps(int frame) diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs index bcf70e678f..35b200bcc7 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs @@ -788,10 +788,10 @@ namespace BizHawk.Client.EmuHawk { MainForm.FrameAdvance(); - byte[] greenZone = CurrentTasMovie.TasStateManager[Emulator.Frame]; - if (greenZone.Length > 0) + if (CurrentTasMovie.TasStateManager.HasState(Emulator.Frame)) { byte[] state = StatableEmulator.CloneSavestate(); + byte[] greenZone = CurrentTasMovie.TasStateManager[Emulator.Frame]; if (!state.SequenceEqual(greenZone)) { @@ -805,7 +805,6 @@ namespace BizHawk.Client.EmuHawk File.WriteAllBytes(path, greenZone); } } - return; }