fix TAStudio state gap

This commit is contained in:
SuuperW 2020-07-27 10:43:20 -05:00
parent 503469e4e0
commit a868cd5f5c
3 changed files with 8 additions and 8 deletions

View File

@ -113,7 +113,7 @@ namespace BizHawk.Client.Common
public void UpdateStateFrequency() public void UpdateStateFrequency()
{ {
_stateFrequency = ((int)_expectedStateSizeInMb / Settings.MemStateGapDivider / 1024) _stateFrequency = ((int)(_expectedStateSizeInMb * 1024 / Settings.MemStateGapDividerKB))
.Clamp(MinFrequency, MaxFrequency); .Clamp(MinFrequency, MaxFrequency);
_decay.UpdateSettings(MaxStates, _stateFrequency, 4); _decay.UpdateSettings(MaxStates, _stateFrequency, 4);

View File

@ -9,7 +9,7 @@ namespace BizHawk.Client.Common
DiskSaveCapacityMb = 512; DiskSaveCapacityMb = 512;
CapacityMb = 512; CapacityMb = 512;
DiskCapacityMb = 1; // not working yet DiskCapacityMb = 1; // not working yet
MemStateGapDivider = 64; MemStateGapDividerKB = 64;
FileStateGap = 4; FileStateGap = 4;
} }
@ -18,7 +18,7 @@ namespace BizHawk.Client.Common
DiskSaveCapacityMb = settings.DiskSaveCapacityMb; DiskSaveCapacityMb = settings.DiskSaveCapacityMb;
CapacityMb = settings.CapacityMb; CapacityMb = settings.CapacityMb;
DiskCapacityMb = settings.DiskCapacityMb; DiskCapacityMb = settings.DiskCapacityMb;
MemStateGapDivider = settings.MemStateGapDivider; MemStateGapDividerKB = settings.MemStateGapDividerKB;
FileStateGap = settings.FileStateGap; FileStateGap = settings.FileStateGap;
} }
@ -54,8 +54,8 @@ namespace BizHawk.Client.Common
/// Gets or sets the divider that determines memory state gap /// Gets or sets the divider that determines memory state gap
/// </summary> /// </summary>
[DisplayName("Divider for memory state interval")] [DisplayName("Divider for memory state interval")]
[Description("The actual state gap in frames is calculated as ExpectedStateSize / div / 1024")] [Description("The actual state gap in frames is calculated as ExpectedStateSizeMB * 1024 / div")]
public int MemStateGapDivider { get; set; } public int MemStateGapDividerKB { get; set; }
/// <summary> /// <summary>
/// Gets or sets the amount of states to skip during project saving /// Gets or sets the amount of states to skip during project saving

View File

@ -35,7 +35,7 @@ namespace BizHawk.Client.EmuHawk
MemCapacityNumeric.Value = NumberExtensions.Clamp(_settings.CapacityMb, MemCapacityNumeric.Minimum, MemCapacityNumeric.Maximum); MemCapacityNumeric.Value = NumberExtensions.Clamp(_settings.CapacityMb, MemCapacityNumeric.Minimum, MemCapacityNumeric.Maximum);
DiskCapacityNumeric.Value = NumberExtensions.Clamp(_settings.DiskCapacityMb, MemCapacityNumeric.Minimum, MemCapacityNumeric.Maximum); DiskCapacityNumeric.Value = NumberExtensions.Clamp(_settings.DiskCapacityMb, MemCapacityNumeric.Minimum, MemCapacityNumeric.Maximum);
FileCapacityNumeric.Value = NumberExtensions.Clamp(_settings.DiskSaveCapacityMb, MemCapacityNumeric.Minimum, MemCapacityNumeric.Maximum); FileCapacityNumeric.Value = NumberExtensions.Clamp(_settings.DiskSaveCapacityMb, MemCapacityNumeric.Minimum, MemCapacityNumeric.Maximum);
MemStateGapDividerNumeric.Value = NumberExtensions.Clamp(_settings.MemStateGapDivider, MemStateGapDividerNumeric.Minimum, MemStateGapDividerNumeric.Maximum); MemStateGapDividerNumeric.Value = NumberExtensions.Clamp(_settings.MemStateGapDividerKB, MemStateGapDividerNumeric.Minimum, MemStateGapDividerNumeric.Maximum);
FileStateGapNumeric.Value = _settings.FileStateGap; FileStateGapNumeric.Value = _settings.FileStateGap;
SavestateSizeLabel.Text = $"{Math.Round(_stateSizeMb, 2)} MB"; SavestateSizeLabel.Text = $"{Math.Round(_stateSizeMb, 2)} MB";
@ -51,7 +51,7 @@ namespace BizHawk.Client.EmuHawk
_settings.CapacityMb = (int)MemCapacityNumeric.Value; _settings.CapacityMb = (int)MemCapacityNumeric.Value;
_settings.DiskCapacityMb = (int)DiskCapacityNumeric.Value; _settings.DiskCapacityMb = (int)DiskCapacityNumeric.Value;
_settings.DiskSaveCapacityMb = (int)FileCapacityNumeric.Value; _settings.DiskSaveCapacityMb = (int)FileCapacityNumeric.Value;
_settings.MemStateGapDivider = (int)MemStateGapDividerNumeric.Value; _settings.MemStateGapDividerKB = (int)MemStateGapDividerNumeric.Value;
_settings.FileStateGap = (int)FileStateGapNumeric.Value; _settings.FileStateGap = (int)FileStateGapNumeric.Value;
DialogResult = DialogResult.OK; DialogResult = DialogResult.OK;
Close(); Close();
@ -84,7 +84,7 @@ namespace BizHawk.Client.EmuHawk
private void MemStateGapDivider_ValueChanged(object sender, EventArgs e) private void MemStateGapDivider_ValueChanged(object sender, EventArgs e)
{ {
int val = (int)(Statable.CloneSavestate().Length / MemStateGapDividerNumeric.Value / 1024); int val = (int)(_stateSizeMb * 1024 / MemStateGapDividerNumeric.Value);
if (val <= 1) if (val <= 1)
MemStateGapDividerNumeric.Maximum = MemStateGapDividerNumeric.Value; MemStateGapDividerNumeric.Maximum = MemStateGapDividerNumeric.Value;