tastudio: use LatchSticky() when adding new frames
fixes autohold behavior, making it operate like it did before banning user input latch in replay mode now in replay mode all input is ignored except for autohold, which is set via tastudio gui
This commit is contained in:
parent
a30b89039f
commit
64665f0e82
|
@ -294,8 +294,12 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
private void HandleFrameLoopForRecordMode()
|
private void HandleFrameLoopForRecordMode()
|
||||||
{
|
{
|
||||||
// tasmovie is appended via recording frames, but we don't want it to latch input outside its internal recording mode
|
// we don't want tasmovie to latch user input outside its internal recording mode, so limit it to autohold
|
||||||
if (!(Movie is TasMovie) || !Movie.IsPlaying)
|
if (Movie is TasMovie && Movie.IsPlaying)
|
||||||
|
{
|
||||||
|
MovieControllerAdapter.LatchSticky();
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (MultiTrack.IsActive)
|
if (MultiTrack.IsActive)
|
||||||
{
|
{
|
||||||
|
|
|
@ -143,6 +143,17 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// latches sticky buttons from Global.AutofireStickyXORAdapter
|
||||||
|
/// </summary>
|
||||||
|
public void LatchSticky()
|
||||||
|
{
|
||||||
|
foreach (var button in Definition.BoolButtons)
|
||||||
|
{
|
||||||
|
MyBoolButtons[button] = Global.AutofireStickyXORAdapter.IsSticky(button);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// latches all buttons from the supplied mnemonic string
|
/// latches all buttons from the supplied mnemonic string
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -64,6 +64,17 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// latches sticky buttons from Global.AutofireStickyXORAdapter
|
||||||
|
/// </summary>
|
||||||
|
public void LatchSticky()
|
||||||
|
{
|
||||||
|
foreach (var button in Definition.BoolButtons)
|
||||||
|
{
|
||||||
|
MyBoolButtons[button] = Global.AutofireStickyXORAdapter.IsSticky(button);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// latches all buttons from the supplied mnemonic string
|
/// latches all buttons from the supplied mnemonic string
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -10,6 +10,8 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
void LatchFromSource(IController source);
|
void LatchFromSource(IController source);
|
||||||
|
|
||||||
|
void LatchSticky();
|
||||||
|
|
||||||
void SetControllersAsMnemonic(string mnemonic);
|
void SetControllersAsMnemonic(string mnemonic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue