ZwinderStateManager: Use the gap buffer for forced capture to avoid crowding the "current" buffer and thus reducing it's actual span of covered frames. (#2569)
also remove a redundant conditional
This commit is contained in:
parent
961e7f2808
commit
6c5447f5da
|
@ -192,10 +192,8 @@ namespace BizHawk.Client.Common
|
|||
|
||||
LagLog[Emulator.Frame] = _inputPollable.IsLagFrame;
|
||||
|
||||
if (!TasStateManager.HasState(Emulator.Frame))
|
||||
{
|
||||
TasStateManager.Capture(Emulator.Frame, Emulator.AsStatable(), Emulator.Frame == LastEditedFrame - 1);
|
||||
}
|
||||
// We will forbibly capture a state for the last edited frame (requested by #916 for case of "platforms with analog stick")
|
||||
TasStateManager.Capture(Emulator.Frame, Emulator.AsStatable(), Emulator.Frame == LastEditedFrame - 1);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -291,13 +291,10 @@ namespace BizHawk.Client.Common
|
|||
|
||||
// We do not want to consider reserved states for a notion of Last
|
||||
// reserved states can include future states in the case of branch states
|
||||
if (frame <= LastRing)
|
||||
if ((frame <= LastRing && NeedsGap(frame)) || force)
|
||||
{
|
||||
if (NeedsGap(frame))
|
||||
{
|
||||
CaptureGap(frame, source);
|
||||
}
|
||||
|
||||
// We use the gap buffer for forced capture to avoid crowding the "current" buffer and thus reducing it's actual span of covered frames.
|
||||
CaptureGap(frame, source);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue