tastudio: ignore seek frame if unpaused via hotkey or playback pause button
this replicates taseditor behavior
This commit is contained in:
parent
32be07ce03
commit
294654943b
|
@ -14,6 +14,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
// General
|
||||
case "Pause":
|
||||
// check this here since TogglePause() has no idea who triggered it
|
||||
// and we need to treat pause hotkey specially in tastudio
|
||||
if (GlobalWin.MainForm.EmulatorPaused)
|
||||
GlobalWin.Tools.TAStudio.IgnoreSeekFrame = true;
|
||||
TogglePause();
|
||||
break;
|
||||
case "Toggle Throttle":
|
||||
|
|
|
@ -97,6 +97,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void PauseButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (GlobalWin.MainForm.EmulatorPaused)
|
||||
Tastudio.IgnoreSeekFrame = true;
|
||||
Tastudio.TogglePause();
|
||||
}
|
||||
|
||||
|
|
|
@ -92,6 +92,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
public void StopSeeking()
|
||||
{
|
||||
_seekBackgroundWorker.CancelAsync();
|
||||
if (IgnoreSeekFrame)
|
||||
{
|
||||
GlobalWin.MainForm.UnpauseEmulator();
|
||||
IgnoreSeekFrame = false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool FloatEditingMode
|
||||
|
@ -393,6 +398,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (e.Button == MouseButtons.Middle)
|
||||
{
|
||||
if (GlobalWin.MainForm.EmulatorPaused)
|
||||
IgnoreSeekFrame = false;
|
||||
TogglePause();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -51,6 +51,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
public bool IsInMenuLoop { get; private set; }
|
||||
public bool IgnoreSeekFrame { get; set; }
|
||||
|
||||
[ConfigPersist]
|
||||
public TAStudioSettings Settings { get; set; }
|
||||
|
@ -141,6 +142,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
InitializeSeekWorker();
|
||||
|
||||
WantsToControlStopMovie = true;
|
||||
WantsToControlRestartMovie = true;
|
||||
TasPlaybackBox.Tastudio = this;
|
||||
MarkerControl.Tastudio = this;
|
||||
BookMarkControl.Tastudio = this;
|
||||
|
@ -153,7 +155,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
TasView.PointedCellChanged += TasView_PointedCellChanged;
|
||||
TasView.MultiSelect = true;
|
||||
TasView.MaxCharactersInHorizontal = 1;
|
||||
WantsToControlRestartMovie = true;
|
||||
IgnoreSeekFrame = false;
|
||||
}
|
||||
|
||||
private void AutosaveTimerEventProcessor(object sender, EventArgs e)
|
||||
|
|
Loading…
Reference in New Issue