remove _playbackInterrupted bool in TAStudio

Should fix the bug mentioned in #4184. See 1f6ead6354, #2324, #2371 and 98498f9d50 for more confusion. This change might break any or all of the above.
This commit is contained in:
Morilli 2025-05-29 17:44:40 +02:00
parent e513a856b7
commit db555f6087
3 changed files with 1 additions and 18 deletions

View File

@ -28,7 +28,6 @@ namespace BizHawk.Client.EmuHawk
private bool _suppressContextMenu;
private int _startRow;
private int _paintingMinFrame = -1;
private bool _playbackInterrupted; // Occurs when the emulator is unpaused and the user click and holds mouse down to begin delivering input
// Editing analog input
private string _axisEditColumn = "";
@ -603,9 +602,6 @@ namespace BizHawk.Client.EmuHawk
}
else if (targetCol.Type is not ColumnType.Text) // User changed input
{
_playbackInterrupted = !MainForm.EmulatorPaused;
MainForm.PauseEmulator();
// Pausing the emulator is insufficient to actually stop frame advancing as the frame advance hotkey can
// still take effect. This can lead to desyncs by simultaneously changing input and frame advancing.
// So we want to block all frame advance operations while the user is changing input in the piano roll

View File

@ -14,7 +14,7 @@ namespace BizHawk.Client.EmuHawk
if (frame <= Emulator.Frame)
{
if ((MainForm.EmulatorPaused || !MainForm.IsSeeking)
&& !CurrentTasMovie.LastPositionStable && !_playbackInterrupted)
&& !CurrentTasMovie.LastPositionStable)
{
LastPositionFrame = Emulator.Frame;
CurrentTasMovie.LastPositionStable = true; // until new frame is emulated

View File

@ -958,13 +958,6 @@ namespace BizHawk.Client.EmuHawk
private void DoTriggeredAutoRestoreIfNeeded()
{
// Disable the seek that could have been initiated when painting.
// This must done before DoAutoRestore, otherwise it would disable the auto-restore seek.
if (_playbackInterrupted)
{
MainForm.PauseOnFrame = null;
}
if (_triggerAutoRestore)
{
TastudioPlayMode(true); // once user started editing, rec mode is unsafe
@ -973,12 +966,6 @@ namespace BizHawk.Client.EmuHawk
_triggerAutoRestore = false;
_autoRestorePaused = null;
}
if (_playbackInterrupted)
{
MainForm.UnpauseEmulator();
_playbackInterrupted = false;
}
}
public void InsertNumFrames(int insertionFrame, int numberOfFrames)