diff --git a/src/BizHawk.Client.Common/config/RewindConfig.cs b/src/BizHawk.Client.Common/config/RewindConfig.cs index 992253cb40..b85ac563b0 100644 --- a/src/BizHawk.Client.Common/config/RewindConfig.cs +++ b/src/BizHawk.Client.Common/config/RewindConfig.cs @@ -25,7 +25,7 @@ bool UseFixedRewindInterval { get; } /// - /// Desired frame length (number of emulated frames you can go back before running out of buffer) + /// Desired minimum rewind range (number of emulated frames you can go back before running out of buffer) /// int TargetFrameLength { get; } diff --git a/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManagerSettings.cs b/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManagerSettings.cs index e936c67343..945f6b5039 100644 --- a/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManagerSettings.cs +++ b/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManagerSettings.cs @@ -44,7 +44,7 @@ namespace BizHawk.Client.Common public int CurrentBufferSize { get; set; } = 256; [DisplayName("Current - Target Frame Length")] - [Description("Desired frame length (number of emulated frames you can go back before running out of buffer)\n\nThe Current buffer is the primary buffer used near the last edited frame. This should be the largest buffer to ensure minimal gaps during editing.")] + [Description("Desired minimum rewind range (number of emulated frames you can go back before running out of buffer)\n\nThe Current buffer is the primary buffer used near the last edited frame. This should be the largest buffer to ensure minimal gaps during editing.")] [Range(1, int.MaxValue)] [TypeConverter(typeof(ConstrainedIntConverter))] public int CurrentTargetFrameLength { get; set; } = 500; @@ -67,7 +67,7 @@ namespace BizHawk.Client.Common public int RecentBufferSize { get; set; } = 128; [DisplayName("Recent - Target Frame Length")] - [Description("Desired frame length (number of emulated frames you can go back before running out of buffer).\n\nThe Recent buffer is where the current frames decay as the buffer fills up. The goal of this buffer is to maximize the amount of movie that can be fairly quickly navigated to. Therefore, a high target frame length is ideal here.")] + [Description("Desired minimum rewind range (number of emulated frames you can go back before running out of buffer).\n\nThe Recent buffer is where the current frames decay as the buffer fills up. The goal of this buffer is to maximize the amount of movie that can be fairly quickly navigated to. Therefore, a high target frame length is ideal here.")] [Range(1, int.MaxValue)] [TypeConverter(typeof(ConstrainedIntConverter))] public int RecentTargetFrameLength { get; set; } = 2000; @@ -90,7 +90,7 @@ namespace BizHawk.Client.Common public int GapsBufferSize { get; set; } = 64; [DisplayName("Gaps - Target Frame Length")] - [Description("Desired frame length (number of emulated frames you can go back before running out of buffer)\n\nThe Gap buffer is used for temporary storage when replaying older segment of the run without editing. It is used to 're-greenzone' large gaps while navigating around in an older area of the movie. This buffer can be small, and a similar size to target frame length ratio as current is ideal.")] + [Description("Desired minimum rewind range (number of emulated frames you can go back before running out of buffer)\n\nThe Gap buffer is used for temporary storage when replaying older segment of the run without editing. It is used to 're-greenzone' large gaps while navigating around in an older area of the movie. This buffer can be small, and a similar size to target frame length ratio as current is ideal.")] [Range(1, int.MaxValue)] [TypeConverter(typeof(ConstrainedIntConverter))] public int GapsTargetFrameLength { get; set; } = 125; diff --git a/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs b/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs index a64141f567..4365dfa2a5 100644 --- a/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs +++ b/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs @@ -145,7 +145,7 @@ namespace BizHawk.Client.Common var sizeRatio = Size / (float)_states[HeadStateIndex].Size; var frameRatio = _targetFrameLength / sizeRatio; - var idealInterval = (int)Math.Round(frameRatio); + var idealInterval = (int)Math.Ceiling(frameRatio); return Math.Max(idealInterval, 1); } diff --git a/src/BizHawk.Client.EmuHawk/config/RewindConfig.Designer.cs b/src/BizHawk.Client.EmuHawk/config/RewindConfig.Designer.cs index e354bd0283..baee3cdc4f 100755 --- a/src/BizHawk.Client.EmuHawk/config/RewindConfig.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/config/RewindConfig.Designer.cs @@ -258,7 +258,7 @@ // // TargetFrameLengthNumeric // - this.TargetFrameLengthNumeric.Location = new System.Drawing.Point(146, 138); + this.TargetFrameLengthNumeric.Location = new System.Drawing.Point(236, 138); this.TargetFrameLengthNumeric.Maximum = new decimal(new int[] { 500000, 0, @@ -537,7 +537,7 @@ this.TargetFrameLengthRadioButton.Size = new System.Drawing.Size(125, 17); this.TargetFrameLengthRadioButton.TabIndex = 48; this.TargetFrameLengthRadioButton.TabStop = true; - this.TargetFrameLengthRadioButton.Text = "Desired frame length:"; + this.TargetFrameLengthRadioButton.Text = "Desired minimum rewind range in frames:"; this.TargetFrameLengthRadioButton.UseVisualStyleBackColor = true; // // TargetRewindIntervalRadioButton