turn Rewind Config into Rewind & Savestate config and allow control of normal savestate compression level
This commit is contained in:
parent
d4c8fc5165
commit
7a63d5fe7b
|
@ -245,7 +245,7 @@ namespace BizHawk.Client.Common
|
||||||
IsStreamOwner = false,
|
IsStreamOwner = false,
|
||||||
UseZip64 = UseZip64.Off
|
UseZip64 = UseZip64.Off
|
||||||
};
|
};
|
||||||
_zip.SetLevel(5);
|
_zip.SetLevel(Global.Config.SaveStateCompressionLevelNormal);
|
||||||
|
|
||||||
if (stateVersionTag)
|
if (stateVersionTag)
|
||||||
{
|
{
|
||||||
|
@ -256,7 +256,10 @@ namespace BizHawk.Client.Common
|
||||||
public void PutLump(BinaryStateLump lump, Action<Stream> callback)
|
public void PutLump(BinaryStateLump lump, Action<Stream> callback)
|
||||||
{
|
{
|
||||||
var name = BinaryStateFileNames.Get(lump);
|
var name = BinaryStateFileNames.Get(lump);
|
||||||
var e = new ZipEntry(name) {CompressionMethod = CompressionMethod.Deflated};
|
var e = new ZipEntry(name);
|
||||||
|
if (Global.Config.SaveStateCompressionLevelNormal == 0)
|
||||||
|
e.CompressionMethod = CompressionMethod.Stored;
|
||||||
|
else e.CompressionMethod = CompressionMethod.Deflated;
|
||||||
_zip.PutNextEntry(e);
|
_zip.PutNextEntry(e);
|
||||||
callback(_zip);
|
callback(_zip);
|
||||||
_zip.CloseEntry();
|
_zip.CloseEntry();
|
||||||
|
|
|
@ -97,7 +97,6 @@ namespace BizHawk.Client.Common
|
||||||
public bool FirstBoot = true;
|
public bool FirstBoot = true;
|
||||||
|
|
||||||
public enum SaveStateTypeE { Default, Binary, Text };
|
public enum SaveStateTypeE { Default, Binary, Text };
|
||||||
public SaveStateTypeE SaveStateType = SaveStateTypeE.Default;
|
|
||||||
|
|
||||||
// N64
|
// N64
|
||||||
public bool N64UseCircularAnalogConstraint = true;
|
public bool N64UseCircularAnalogConstraint = true;
|
||||||
|
@ -125,6 +124,13 @@ namespace BizHawk.Client.Common
|
||||||
public bool Rewind_OnDisk = false;
|
public bool Rewind_OnDisk = false;
|
||||||
public bool Rewind_IsThreaded = false;
|
public bool Rewind_IsThreaded = false;
|
||||||
|
|
||||||
|
// Savestate settings
|
||||||
|
public SaveStateTypeE SaveStateType = SaveStateTypeE.Default;
|
||||||
|
public const int DefaultSaveStateCompressionLevelNormal = 5;
|
||||||
|
public int SaveStateCompressionLevelNormal = DefaultSaveStateCompressionLevelNormal;
|
||||||
|
public const int DefaultSaveStateCompressionLevelRewind = 0;//this isnt actually used yet
|
||||||
|
public int SaveStateCompressionLevelRewind = DefaultSaveStateCompressionLevelRewind;//this isnt actually used yet
|
||||||
|
|
||||||
/// <summary>use vsync. if VSyncThrottle = false, this will try to use vsync without throttling to it</summary>
|
/// <summary>use vsync. if VSyncThrottle = false, this will try to use vsync without throttling to it</summary>
|
||||||
public bool VSync = false;
|
public bool VSync = false;
|
||||||
|
|
||||||
|
|
|
@ -167,10 +167,6 @@
|
||||||
this.BothHkAndControllerMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.BothHkAndControllerMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.InputOverHkMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.InputOverHkMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.HkOverInputMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.HkOverInputMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.SavestateTypeSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.SavestateTypeDefaultMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.SavestateBinaryMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.SavestateTextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.CoresSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.CoresSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.GBInSGBMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.GBInSGBMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.NesInQuickNESMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.NesInQuickNESMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -1261,7 +1257,6 @@
|
||||||
this.toolStripSeparator9,
|
this.toolStripSeparator9,
|
||||||
this.SpeedSkipSubMenu,
|
this.SpeedSkipSubMenu,
|
||||||
this.KeyPrioritySubMenu,
|
this.KeyPrioritySubMenu,
|
||||||
this.SavestateTypeSubMenu,
|
|
||||||
this.CoresSubMenu,
|
this.CoresSubMenu,
|
||||||
this.toolStripSeparator10,
|
this.toolStripSeparator10,
|
||||||
this.SaveConfigMenuItem,
|
this.SaveConfigMenuItem,
|
||||||
|
@ -1339,8 +1334,8 @@
|
||||||
//
|
//
|
||||||
this.RewindOptionsMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Previous;
|
this.RewindOptionsMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Previous;
|
||||||
this.RewindOptionsMenuItem.Name = "RewindOptionsMenuItem";
|
this.RewindOptionsMenuItem.Name = "RewindOptionsMenuItem";
|
||||||
this.RewindOptionsMenuItem.Size = new System.Drawing.Size(159, 22);
|
this.RewindOptionsMenuItem.Size = new System.Drawing.Size(165, 22);
|
||||||
this.RewindOptionsMenuItem.Text = "&Rewind...";
|
this.RewindOptionsMenuItem.Text = "&Rewind && States...";
|
||||||
this.RewindOptionsMenuItem.Click += new System.EventHandler(this.RewindOptionsMenuItem_Click);
|
this.RewindOptionsMenuItem.Click += new System.EventHandler(this.RewindOptionsMenuItem_Click);
|
||||||
//
|
//
|
||||||
// extensionsToolStripMenuItem
|
// extensionsToolStripMenuItem
|
||||||
|
@ -1587,38 +1582,6 @@
|
||||||
this.HkOverInputMenuItem.Text = "Hotkeys override Input";
|
this.HkOverInputMenuItem.Text = "Hotkeys override Input";
|
||||||
this.HkOverInputMenuItem.Click += new System.EventHandler(this.HkOverInputMenuItem_Click);
|
this.HkOverInputMenuItem.Click += new System.EventHandler(this.HkOverInputMenuItem_Click);
|
||||||
//
|
//
|
||||||
// SavestateTypeSubMenu
|
|
||||||
//
|
|
||||||
this.SavestateTypeSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
||||||
this.SavestateTypeDefaultMenuItem,
|
|
||||||
this.SavestateBinaryMenuItem,
|
|
||||||
this.SavestateTextMenuItem});
|
|
||||||
this.SavestateTypeSubMenu.Name = "SavestateTypeSubMenu";
|
|
||||||
this.SavestateTypeSubMenu.Size = new System.Drawing.Size(159, 22);
|
|
||||||
this.SavestateTypeSubMenu.Text = "Savestate Type";
|
|
||||||
this.SavestateTypeSubMenu.DropDownOpened += new System.EventHandler(this.SavestateTypeMenuItem_DropDownOpened);
|
|
||||||
//
|
|
||||||
// SavestateTypeDefaultMenuItem
|
|
||||||
//
|
|
||||||
this.SavestateTypeDefaultMenuItem.Name = "SavestateTypeDefaultMenuItem";
|
|
||||||
this.SavestateTypeDefaultMenuItem.Size = new System.Drawing.Size(112, 22);
|
|
||||||
this.SavestateTypeDefaultMenuItem.Text = "Default";
|
|
||||||
this.SavestateTypeDefaultMenuItem.Click += new System.EventHandler(this.SavestateTypeDefaultMenuItem_Click);
|
|
||||||
//
|
|
||||||
// SavestateBinaryMenuItem
|
|
||||||
//
|
|
||||||
this.SavestateBinaryMenuItem.Name = "SavestateBinaryMenuItem";
|
|
||||||
this.SavestateBinaryMenuItem.Size = new System.Drawing.Size(112, 22);
|
|
||||||
this.SavestateBinaryMenuItem.Text = "Binary";
|
|
||||||
this.SavestateBinaryMenuItem.Click += new System.EventHandler(this.SavestateBinaryMenuItem_Click);
|
|
||||||
//
|
|
||||||
// SavestateTextMenuItem
|
|
||||||
//
|
|
||||||
this.SavestateTextMenuItem.Name = "SavestateTextMenuItem";
|
|
||||||
this.SavestateTextMenuItem.Size = new System.Drawing.Size(112, 22);
|
|
||||||
this.SavestateTextMenuItem.Text = "Text";
|
|
||||||
this.SavestateTextMenuItem.Click += new System.EventHandler(this.SavestateTextMenuItem_Click);
|
|
||||||
//
|
|
||||||
// CoresSubMenu
|
// CoresSubMenu
|
||||||
//
|
//
|
||||||
this.CoresSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.CoresSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
@ -3099,27 +3062,6 @@
|
||||||
this.SavestateTypeContextSubMenu.Text = "Savestate Type";
|
this.SavestateTypeContextSubMenu.Text = "Savestate Type";
|
||||||
this.SavestateTypeContextSubMenu.DropDownOpened += new System.EventHandler(this.SavestateTypeContextSubMenu_DropDownOpened);
|
this.SavestateTypeContextSubMenu.DropDownOpened += new System.EventHandler(this.SavestateTypeContextSubMenu_DropDownOpened);
|
||||||
//
|
//
|
||||||
// SavestateTypeDefaultContextMenuItem
|
|
||||||
//
|
|
||||||
this.SavestateTypeDefaultContextMenuItem.Name = "SavestateTypeDefaultContextMenuItem";
|
|
||||||
this.SavestateTypeDefaultContextMenuItem.Size = new System.Drawing.Size(112, 22);
|
|
||||||
this.SavestateTypeDefaultContextMenuItem.Text = "Default";
|
|
||||||
this.SavestateTypeDefaultContextMenuItem.Click += new System.EventHandler(this.SavestateTypeDefaultMenuItem_Click);
|
|
||||||
//
|
|
||||||
// SavestateBinaryContextMenuItem
|
|
||||||
//
|
|
||||||
this.SavestateBinaryContextMenuItem.Name = "SavestateBinaryContextMenuItem";
|
|
||||||
this.SavestateBinaryContextMenuItem.Size = new System.Drawing.Size(112, 22);
|
|
||||||
this.SavestateBinaryContextMenuItem.Text = "Binary";
|
|
||||||
this.SavestateBinaryContextMenuItem.Click += new System.EventHandler(this.SavestateBinaryMenuItem_Click);
|
|
||||||
//
|
|
||||||
// SavestateTextContextMenuItem
|
|
||||||
//
|
|
||||||
this.SavestateTextContextMenuItem.Name = "SavestateTextContextMenuItem";
|
|
||||||
this.SavestateTextContextMenuItem.Size = new System.Drawing.Size(112, 22);
|
|
||||||
this.SavestateTextContextMenuItem.Text = "Text";
|
|
||||||
this.SavestateTextContextMenuItem.Click += new System.EventHandler(this.SavestateTextMenuItem_Click);
|
|
||||||
//
|
|
||||||
// CoreSelectionContextSubMenu
|
// CoreSelectionContextSubMenu
|
||||||
//
|
//
|
||||||
this.CoreSelectionContextSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.CoreSelectionContextSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
@ -3491,10 +3433,6 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem CreateDualGbXmlMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem CreateDualGbXmlMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem N64SubMenu;
|
private System.Windows.Forms.ToolStripMenuItem N64SubMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem N64PluginSettingsMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem N64PluginSettingsMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem SavestateTypeSubMenu;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem SavestateTypeDefaultMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem SavestateBinaryMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem SavestateTextMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem SaturnSubMenu;
|
private System.Windows.Forms.ToolStripMenuItem SaturnSubMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem SaturnPreferencesMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem SaturnPreferencesMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem ConfigContextMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem ConfigContextMenuItem;
|
||||||
|
|
|
@ -801,19 +801,6 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SavestateTypeMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
SavestateTypeDefaultMenuItem.Checked = false;
|
|
||||||
SavestateBinaryMenuItem.Checked = false;
|
|
||||||
SavestateTextMenuItem.Checked = false;
|
|
||||||
switch (Global.Config.SaveStateType)
|
|
||||||
{
|
|
||||||
case Config.SaveStateTypeE.Binary: SavestateBinaryMenuItem.Checked = true; break;
|
|
||||||
case Config.SaveStateTypeE.Text: SavestateTextMenuItem.Checked = true; break;
|
|
||||||
case Config.SaveStateTypeE.Default: SavestateTypeDefaultMenuItem.Checked = true; break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CoresSubMenu_DropDownOpened(object sender, EventArgs e)
|
private void CoresSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
GBInSGBMenuItem.Checked = Global.Config.GB_AsSGB;
|
GBInSGBMenuItem.Checked = Global.Config.GB_AsSGB;
|
||||||
|
@ -987,21 +974,6 @@ namespace BizHawk.Client.EmuHawk
|
||||||
UpdateKeyPriorityIcon();
|
UpdateKeyPriorityIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SavestateTypeDefaultMenuItem_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Global.Config.SaveStateType = Config.SaveStateTypeE.Default;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SavestateBinaryMenuItem_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Global.Config.SaveStateType = Config.SaveStateTypeE.Binary;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SavestateTextMenuItem_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Global.Config.SaveStateType = Config.SaveStateTypeE.Text;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void GBInSGBMenuItem_Click(object sender, EventArgs e)
|
private void GBInSGBMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Global.Config.GB_AsSGB ^= true;
|
Global.Config.GB_AsSGB ^= true;
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -62,6 +62,12 @@ namespace BizHawk.Client.EmuHawk
|
||||||
MediumStateUpDown.Value = medium_state_size_kb;
|
MediumStateUpDown.Value = medium_state_size_kb;
|
||||||
LargeStateTrackbar.Value = large_state_size_kb;
|
LargeStateTrackbar.Value = large_state_size_kb;
|
||||||
LargeStateUpDown.Value = large_state_size_kb;
|
LargeStateUpDown.Value = large_state_size_kb;
|
||||||
|
|
||||||
|
nudCompression.Value = Global.Config.SaveStateCompressionLevelNormal;
|
||||||
|
|
||||||
|
rbStatesDefault.Checked = Global.Config.SaveStateType == Config.SaveStateTypeE.Default;
|
||||||
|
rbStatesBinary.Checked = Global.Config.SaveStateType == Config.SaveStateTypeE.Binary;
|
||||||
|
rbStatesText.Checked = Global.Config.SaveStateType == Config.SaveStateTypeE.Text;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetStateSize()
|
private void SetStateSize()
|
||||||
|
@ -132,6 +138,12 @@ namespace BizHawk.Client.EmuHawk
|
||||||
Global.Config.Rewind_LargeStateSize = (int)(LargeStateUpDown.Value * 1024);
|
Global.Config.Rewind_LargeStateSize = (int)(LargeStateUpDown.Value * 1024);
|
||||||
Global.Config.Rewind_OnDisk = DiskBufferCheckbox.Checked;
|
Global.Config.Rewind_OnDisk = DiskBufferCheckbox.Checked;
|
||||||
Global.Config.Rewind_BufferSize = (int)BufferSizeUpDown.Value;
|
Global.Config.Rewind_BufferSize = (int)BufferSizeUpDown.Value;
|
||||||
|
Global.Config.SaveStateCompressionLevelNormal = (int)nudCompression.Value;
|
||||||
|
|
||||||
|
if (rbStatesDefault.Checked) Global.Config.SaveStateType = Config.SaveStateTypeE.Default;
|
||||||
|
if (rbStatesBinary.Checked) Global.Config.SaveStateType = Config.SaveStateTypeE.Binary;
|
||||||
|
if (rbStatesText.Checked) Global.Config.SaveStateType = Config.SaveStateTypeE.Text;
|
||||||
|
|
||||||
if (Global.Config.Rewind_IsThreaded != RewindIsThreadedCheckbox.Checked)
|
if (Global.Config.Rewind_IsThreaded != RewindIsThreadedCheckbox.Checked)
|
||||||
{
|
{
|
||||||
GlobalWin.MainForm.FlagNeedsReboot();
|
GlobalWin.MainForm.FlagNeedsReboot();
|
||||||
|
@ -322,5 +334,28 @@ namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
CalculateEstimates();
|
CalculateEstimates();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void trackBar1_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void nudCompression_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
trackBarCompression.Value = (int)(sender as NumericUpDown).Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void trackBarCompression_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//TODO - make a UserControl which is trackbar and NUD combined
|
||||||
|
nudCompression.Value = (sender as TrackBar).Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnResetCompression_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
nudCompression.Value = Config.DefaultSaveStateCompressionLevelNormal;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,6 +117,9 @@
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
|
|
Loading…
Reference in New Issue