tastudio: disable rec mode when drawing inputs

see #2144
This commit is contained in:
feos 2023-10-28 13:35:01 +03:00
parent bb0bd415a6
commit b4a6b06fba
2 changed files with 27 additions and 6 deletions

View File

@ -425,6 +425,7 @@ namespace BizHawk.Client.EmuHawk
}
_triggerAutoRestore = true;
TastudioPlayMode(true);
JumpToGreenzone();
}
@ -597,6 +598,7 @@ namespace BizHawk.Client.EmuHawk
_axisPaintState = CurrentTasMovie.GetAxisState(frame, buttonName);
_triggerAutoRestore = true;
TastudioPlayMode(true);
return;
}
}
@ -666,6 +668,7 @@ namespace BizHawk.Client.EmuHawk
CurrentTasMovie.SetBoolStates(firstSel, lastSel - firstSel + 1, buttonName, !allPressed);
_boolPaintState = CurrentTasMovie.BoolIsPressed(lastSel, buttonName);
_triggerAutoRestore = true;
TastudioPlayMode(true);
RefreshDialog();
}
#if false // to match previous behaviour
@ -681,6 +684,7 @@ namespace BizHawk.Client.EmuHawk
CurrentTasMovie.ToggleBoolState(TasView.CurrentCell.RowIndex.Value, buttonName);
_boolPaintState = CurrentTasMovie.BoolIsPressed(frame, buttonName);
_triggerAutoRestore = true;
TastudioPlayMode(true);
RefreshDialog();
}
}
@ -809,6 +813,7 @@ namespace BizHawk.Client.EmuHawk
{
AxisEditRow = -1;
_triggerAutoRestore = true;
TastudioPlayMode(true);
JumpToGreenzone();
DoTriggeredAutoRestoreIfNeeded();
RefreshDialog();
@ -1122,6 +1127,7 @@ namespace BizHawk.Client.EmuHawk
if (_rightClickAlt || _rightClickControl || _rightClickShift)
{
_triggerAutoRestore = true;
TastudioPlayMode(true);
JumpToGreenzone();
_suppressContextMenu = true;
}
@ -1152,6 +1158,7 @@ namespace BizHawk.Client.EmuHawk
if (!_triggerAutoRestore)
{
TastudioPlayMode(true);
JumpToGreenzone();
}
}
@ -1358,6 +1365,7 @@ namespace BizHawk.Client.EmuHawk
{
CurrentTasMovie.SetAxisState(_axisEditRow, _axisEditColumn, _axisBackupState);
_triggerAutoRestore = Emulator.Frame > _axisEditRow;
TastudioPlayMode(true);
JumpToGreenzone();
DoTriggeredAutoRestoreIfNeeded();
}
@ -1431,6 +1439,7 @@ namespace BizHawk.Client.EmuHawk
if (value != prev) // Auto-restore
{
_triggerAutoRestore = Emulator.Frame > _axisEditRow;
TastudioPlayMode(true);
JumpToGreenzone();
DoTriggeredAutoRestoreIfNeeded();
}

View File

@ -707,20 +707,31 @@ namespace BizHawk.Client.EmuHawk
loadZone.PlaceZone(CurrentTasMovie, Config);
}
private void TastudioPlayMode()
{
TasPlaybackBox.RecordingMode = false;
}
private void TastudioToggleReadOnly()
{
TasPlaybackBox.RecordingMode ^= true;
WasRecording = TasPlaybackBox.RecordingMode; // hard reset at manual click and hotkey
}
private void TastudioRecordMode()
private void TastudioPlayMode(bool resetWasRecording = false)
{
TasPlaybackBox.RecordingMode = false;
// once user started editing, rec mode is unsafe
if (resetWasRecording)
{
WasRecording = TasPlaybackBox.RecordingMode;
}
}
private void TastudioRecordMode(bool resetWasRecording = false)
{
TasPlaybackBox.RecordingMode = true;
if (resetWasRecording)
{
WasRecording = TasPlaybackBox.RecordingMode;
}
}
private void TastudioStopMovie()
@ -1024,6 +1035,7 @@ namespace BizHawk.Client.EmuHawk
if (_triggerAutoRestore)
{
TastudioPlayMode(true); // once user started editing, rec mode is unsafe
DoAutoRestore();
_triggerAutoRestore = false;