Better UI for low res large screenshot feature

This commit is contained in:
adelikat 2015-02-23 23:43:51 +00:00
parent c9d630b330
commit 29fc42ec71
5 changed files with 79 additions and 68 deletions

View File

@ -41,7 +41,7 @@ namespace BizHawk.Client.Common
int out_h = vp.BufferHeight; int out_h = vp.BufferHeight;
// if buffer is too big, scale down screenshot // if buffer is too big, scale down screenshot
if (!Global.Config.SaveLargeScreenshotWithStates && buff.Length >= Global.Config.BigScreenshotSize) if (!Global.Config.NoLowResLargeScreenshotWithStates && buff.Length >= Global.Config.BigScreenshotSize)
{ {
out_w /= 2; out_w /= 2;
out_h /= 2; out_h /= 2;

View File

@ -80,7 +80,7 @@ namespace BizHawk.Client.Common
public bool BackupSaveram = true; public bool BackupSaveram = true;
public bool SaveScreenshotWithStates = true; public bool SaveScreenshotWithStates = true;
public int BigScreenshotSize = 128 * 1024; public int BigScreenshotSize = 128 * 1024;
public bool SaveLargeScreenshotWithStates = false; public bool NoLowResLargeScreenshotWithStates = false;
public int AutofireOn = 1; public int AutofireOn = 1;
public int AutofireOff = 1; public int AutofireOff = 1;
public bool AutofireLagFrames = true; public bool AutofireLagFrames = true;

View File

@ -73,7 +73,7 @@ namespace BizHawk.Client.EmuHawk
if (Global.Config.SelectedProfile == Config.ClientProfile.Casual) if (Global.Config.SelectedProfile == Config.ClientProfile.Casual)
{ {
DisplayProfileSettingBoxes(false); DisplayProfileSettingBoxes(false);
Global.Config.SaveLargeScreenshotWithStates = false; Global.Config.NoLowResLargeScreenshotWithStates = false;
Global.Config.SaveScreenshotWithStates = false; Global.Config.SaveScreenshotWithStates = false;
Global.Config.AllowUD_LR = false; Global.Config.AllowUD_LR = false;
Global.Config.BackupSavestates = false; Global.Config.BackupSavestates = false;
@ -129,7 +129,7 @@ namespace BizHawk.Client.EmuHawk
else if (Global.Config.SelectedProfile == Config.ClientProfile.Longplay) else if (Global.Config.SelectedProfile == Config.ClientProfile.Longplay)
{ {
DisplayProfileSettingBoxes(false); DisplayProfileSettingBoxes(false);
Global.Config.SaveLargeScreenshotWithStates = false; Global.Config.NoLowResLargeScreenshotWithStates = false;
Global.Config.SaveScreenshotWithStates = false; Global.Config.SaveScreenshotWithStates = false;
Global.Config.AllowUD_LR = false; Global.Config.AllowUD_LR = false;
Global.Config.BackupSavestates = false; Global.Config.BackupSavestates = false;
@ -187,7 +187,7 @@ namespace BizHawk.Client.EmuHawk
DisplayProfileSettingBoxes(false); DisplayProfileSettingBoxes(false);
// General // General
Global.Config.SaveLargeScreenshotWithStates = true; Global.Config.NoLowResLargeScreenshotWithStates = false;
Global.Config.SaveScreenshotWithStates = true; Global.Config.SaveScreenshotWithStates = true;
Global.Config.AllowUD_LR = true; Global.Config.AllowUD_LR = true;
Global.Config.BackupSavestates = true; Global.Config.BackupSavestates = true;
@ -246,7 +246,7 @@ namespace BizHawk.Client.EmuHawk
DisplayProfileSettingBoxes(false); DisplayProfileSettingBoxes(false);
// General // General
Global.Config.SaveLargeScreenshotWithStates = true; Global.Config.NoLowResLargeScreenshotWithStates = false;
Global.Config.SaveScreenshotWithStates = true; Global.Config.SaveScreenshotWithStates = true;
Global.Config.AllowUD_LR = true; Global.Config.AllowUD_LR = true;
Global.Config.BackupSavestates = false; Global.Config.BackupSavestates = false;

View File

@ -62,6 +62,9 @@
this.MediumStateSizeLabel = new System.Windows.Forms.Label(); this.MediumStateSizeLabel = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox(); this.groupBox3 = new System.Windows.Forms.GroupBox();
this.label19 = new System.Windows.Forms.Label();
this.RewindSpeedNumeric = new System.Windows.Forms.NumericUpDown();
this.label18 = new System.Windows.Forms.Label();
this.label17 = new System.Windows.Forms.Label(); this.label17 = new System.Windows.Forms.Label();
this.RewindIsThreadedCheckbox = new System.Windows.Forms.CheckBox(); this.RewindIsThreadedCheckbox = new System.Windows.Forms.CheckBox();
this.label4 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label();
@ -90,7 +93,7 @@
this.groupBox7 = new System.Windows.Forms.GroupBox(); this.groupBox7 = new System.Windows.Forms.GroupBox();
this.KbLabel = new System.Windows.Forms.Label(); this.KbLabel = new System.Windows.Forms.Label();
this.BigScreenshotNumeric = new System.Windows.Forms.NumericUpDown(); this.BigScreenshotNumeric = new System.Windows.Forms.NumericUpDown();
this.SaveLargeScreenshotsCheckbox = new System.Windows.Forms.CheckBox(); this.LowResLargeScreenshotsCheckbox = new System.Windows.Forms.CheckBox();
this.label13 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label();
this.ScreenshotInStatesCheckbox = new System.Windows.Forms.CheckBox(); this.ScreenshotInStatesCheckbox = new System.Windows.Forms.CheckBox();
@ -98,9 +101,7 @@
this.label16 = new System.Windows.Forms.Label(); this.label16 = new System.Windows.Forms.Label();
this.BackupSavestatesCheckbox = new System.Windows.Forms.CheckBox(); this.BackupSavestatesCheckbox = new System.Windows.Forms.CheckBox();
this.label12 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label(); this.label20 = new System.Windows.Forms.Label();
this.RewindSpeedNumeric = new System.Windows.Forms.NumericUpDown();
this.label19 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LargeSavestateNumeric)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.LargeSavestateNumeric)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.MediumSavestateNumeric)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.MediumSavestateNumeric)).BeginInit();
@ -111,6 +112,7 @@
((System.ComponentModel.ISupportInitialize)(this.MediumStateUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.MediumStateUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LargeStateTrackbar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.LargeStateTrackbar)).BeginInit();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.RewindSpeedNumeric)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BufferSizeUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.BufferSizeUpDown)).BeginInit();
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
this.groupBox6.SuspendLayout(); this.groupBox6.SuspendLayout();
@ -118,7 +120,6 @@
((System.ComponentModel.ISupportInitialize)(this.nudCompression)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nudCompression)).BeginInit();
this.groupBox7.SuspendLayout(); this.groupBox7.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.BigScreenshotNumeric)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.BigScreenshotNumeric)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.RewindSpeedNumeric)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
// OK // OK
@ -534,6 +535,46 @@
this.groupBox3.TabStop = false; this.groupBox3.TabStop = false;
this.groupBox3.Text = "Rewind Options"; this.groupBox3.Text = "Rewind Options";
// //
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(128, 21);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(12, 13);
this.label19.TabIndex = 2;
this.label19.Text = "x";
//
// RewindSpeedNumeric
//
this.RewindSpeedNumeric.Location = new System.Drawing.Point(90, 19);
this.RewindSpeedNumeric.Maximum = new decimal(new int[] {
4,
0,
0,
0});
this.RewindSpeedNumeric.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.RewindSpeedNumeric.Name = "RewindSpeedNumeric";
this.RewindSpeedNumeric.Size = new System.Drawing.Size(36, 20);
this.RewindSpeedNumeric.TabIndex = 1;
this.RewindSpeedNumeric.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(6, 21);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(78, 13);
this.label18.TabIndex = 0;
this.label18.Text = "Rewind speed:";
//
// label17 // label17
// //
this.label17.AutoSize = true; this.label17.AutoSize = true;
@ -807,9 +848,10 @@
// //
// groupBox7 // groupBox7
// //
this.groupBox7.Controls.Add(this.label20);
this.groupBox7.Controls.Add(this.KbLabel); this.groupBox7.Controls.Add(this.KbLabel);
this.groupBox7.Controls.Add(this.BigScreenshotNumeric); this.groupBox7.Controls.Add(this.BigScreenshotNumeric);
this.groupBox7.Controls.Add(this.SaveLargeScreenshotsCheckbox); this.groupBox7.Controls.Add(this.LowResLargeScreenshotsCheckbox);
this.groupBox7.Controls.Add(this.label13); this.groupBox7.Controls.Add(this.label13);
this.groupBox7.Controls.Add(this.label14); this.groupBox7.Controls.Add(this.label14);
this.groupBox7.Controls.Add(this.ScreenshotInStatesCheckbox); this.groupBox7.Controls.Add(this.ScreenshotInStatesCheckbox);
@ -831,7 +873,7 @@
// KbLabel // KbLabel
// //
this.KbLabel.AutoSize = true; this.KbLabel.AutoSize = true;
this.KbLabel.Location = new System.Drawing.Point(254, 223); this.KbLabel.Location = new System.Drawing.Point(276, 271);
this.KbLabel.Name = "KbLabel"; this.KbLabel.Name = "KbLabel";
this.KbLabel.Size = new System.Drawing.Size(21, 13); this.KbLabel.Size = new System.Drawing.Size(21, 13);
this.KbLabel.TabIndex = 33; this.KbLabel.TabIndex = 33;
@ -839,7 +881,7 @@
// //
// BigScreenshotNumeric // BigScreenshotNumeric
// //
this.BigScreenshotNumeric.Location = new System.Drawing.Point(194, 219); this.BigScreenshotNumeric.Location = new System.Drawing.Point(212, 267);
this.BigScreenshotNumeric.Maximum = new decimal(new int[] { this.BigScreenshotNumeric.Maximum = new decimal(new int[] {
8192, 8192,
0, 0,
@ -859,20 +901,20 @@
0, 0,
0}); 0});
// //
// SaveLargeScreenshotsCheckbox // LowResLargeScreenshotsCheckbox
// //
this.SaveLargeScreenshotsCheckbox.AutoSize = true; this.LowResLargeScreenshotsCheckbox.AutoSize = true;
this.SaveLargeScreenshotsCheckbox.Location = new System.Drawing.Point(45, 220); this.LowResLargeScreenshotsCheckbox.Location = new System.Drawing.Point(21, 269);
this.SaveLargeScreenshotsCheckbox.Name = "SaveLargeScreenshotsCheckbox"; this.LowResLargeScreenshotsCheckbox.Name = "LowResLargeScreenshotsCheckbox";
this.SaveLargeScreenshotsCheckbox.Size = new System.Drawing.Size(146, 17); this.LowResLargeScreenshotsCheckbox.Size = new System.Drawing.Size(195, 17);
this.SaveLargeScreenshotsCheckbox.TabIndex = 31; this.LowResLargeScreenshotsCheckbox.TabIndex = 31;
this.SaveLargeScreenshotsCheckbox.Text = "And large screenshots >="; this.LowResLargeScreenshotsCheckbox.Text = "Low Res Screenshots on buffers >=";
this.SaveLargeScreenshotsCheckbox.UseVisualStyleBackColor = true; this.LowResLargeScreenshotsCheckbox.UseVisualStyleBackColor = true;
// //
// label13 // label13
// //
this.label13.AutoSize = true; this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(42, 254); this.label13.Location = new System.Drawing.Point(21, 235);
this.label13.Name = "label13"; this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(186, 13); this.label13.Size = new System.Drawing.Size(186, 13);
this.label13.TabIndex = 30; this.label13.TabIndex = 30;
@ -881,7 +923,7 @@
// label14 // label14
// //
this.label14.AutoSize = true; this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(42, 239); this.label14.Location = new System.Drawing.Point(19, 221);
this.label14.Name = "label14"; this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(290, 13); this.label14.Size = new System.Drawing.Size(290, 13);
this.label14.TabIndex = 29; this.label14.TabIndex = 29;
@ -935,45 +977,14 @@
this.label12.TabIndex = 24; this.label12.TabIndex = 24;
this.label12.Text = "Compression Level"; this.label12.Text = "Compression Level";
// //
// label18 // label20
// //
this.label18.AutoSize = true; this.label20.AutoSize = true;
this.label18.Location = new System.Drawing.Point(6, 21); this.label20.Location = new System.Drawing.Point(21, 291);
this.label18.Name = "label18"; this.label20.Name = "label20";
this.label18.Size = new System.Drawing.Size(78, 13); this.label20.Size = new System.Drawing.Size(315, 13);
this.label18.TabIndex = 0; this.label20.TabIndex = 34;
this.label18.Text = "Rewind speed:"; this.label20.Text = "Use a low resolution screenshot for better save/load performance";
//
// RewindSpeedNumeric
//
this.RewindSpeedNumeric.Location = new System.Drawing.Point(90, 19);
this.RewindSpeedNumeric.Maximum = new decimal(new int[] {
4,
0,
0,
0});
this.RewindSpeedNumeric.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.RewindSpeedNumeric.Name = "RewindSpeedNumeric";
this.RewindSpeedNumeric.Size = new System.Drawing.Size(36, 20);
this.RewindSpeedNumeric.TabIndex = 1;
this.RewindSpeedNumeric.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(128, 21);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(12, 13);
this.label19.TabIndex = 2;
this.label19.Text = "x";
// //
// RewindConfig // RewindConfig
// //
@ -1010,6 +1021,7 @@
((System.ComponentModel.ISupportInitialize)(this.LargeStateTrackbar)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.LargeStateTrackbar)).EndInit();
this.groupBox3.ResumeLayout(false); this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout(); this.groupBox3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.RewindSpeedNumeric)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BufferSizeUpDown)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.BufferSizeUpDown)).EndInit();
this.groupBox4.ResumeLayout(false); this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout(); this.groupBox4.PerformLayout();
@ -1020,7 +1032,6 @@
this.groupBox7.ResumeLayout(false); this.groupBox7.ResumeLayout(false);
this.groupBox7.PerformLayout(); this.groupBox7.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.BigScreenshotNumeric)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.BigScreenshotNumeric)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.RewindSpeedNumeric)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -1088,7 +1099,7 @@
private System.Windows.Forms.Label label17; private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label KbLabel; private System.Windows.Forms.Label KbLabel;
private System.Windows.Forms.NumericUpDown BigScreenshotNumeric; private System.Windows.Forms.NumericUpDown BigScreenshotNumeric;
private System.Windows.Forms.CheckBox SaveLargeScreenshotsCheckbox; private System.Windows.Forms.CheckBox LowResLargeScreenshotsCheckbox;
private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label14; private System.Windows.Forms.Label label14;
private System.Windows.Forms.CheckBox ScreenshotInStatesCheckbox; private System.Windows.Forms.CheckBox ScreenshotInStatesCheckbox;
@ -1098,5 +1109,6 @@
private System.Windows.Forms.Label label19; private System.Windows.Forms.Label label19;
private System.Windows.Forms.NumericUpDown RewindSpeedNumeric; private System.Windows.Forms.NumericUpDown RewindSpeedNumeric;
private System.Windows.Forms.Label label18; private System.Windows.Forms.Label label18;
private System.Windows.Forms.Label label20;
} }
} }

View File

@ -74,7 +74,7 @@ namespace BizHawk.Client.EmuHawk
BackupSavestatesCheckbox.Checked = Global.Config.BackupSavestates; BackupSavestatesCheckbox.Checked = Global.Config.BackupSavestates;
ScreenshotInStatesCheckbox.Checked = Global.Config.SaveScreenshotWithStates; ScreenshotInStatesCheckbox.Checked = Global.Config.SaveScreenshotWithStates;
SaveLargeScreenshotsCheckbox.Checked = Global.Config.SaveLargeScreenshotWithStates; LowResLargeScreenshotsCheckbox.Checked = !Global.Config.NoLowResLargeScreenshotWithStates;
BigScreenshotNumeric.Value = Global.Config.BigScreenshotSize / 1024; BigScreenshotNumeric.Value = Global.Config.BigScreenshotSize / 1024;
ScreenshotInStatesCheckbox_CheckedChanged(null, null); ScreenshotInStatesCheckbox_CheckedChanged(null, null);
@ -82,7 +82,7 @@ namespace BizHawk.Client.EmuHawk
private void ScreenshotInStatesCheckbox_CheckedChanged(object sender, EventArgs e) private void ScreenshotInStatesCheckbox_CheckedChanged(object sender, EventArgs e)
{ {
SaveLargeScreenshotsCheckbox.Enabled = LowResLargeScreenshotsCheckbox.Enabled =
BigScreenshotNumeric.Enabled = BigScreenshotNumeric.Enabled =
KbLabel.Enabled = KbLabel.Enabled =
ScreenshotInStatesCheckbox.Checked; ScreenshotInStatesCheckbox.Checked;
@ -176,7 +176,7 @@ namespace BizHawk.Client.EmuHawk
if (rbStatesText.Checked) Global.Config.SaveStateType = Config.SaveStateTypeE.Text; if (rbStatesText.Checked) Global.Config.SaveStateType = Config.SaveStateTypeE.Text;
Global.Config.BackupSavestates = BackupSavestatesCheckbox.Checked; Global.Config.BackupSavestates = BackupSavestatesCheckbox.Checked;
Global.Config.SaveScreenshotWithStates = ScreenshotInStatesCheckbox.Checked; Global.Config.SaveScreenshotWithStates = ScreenshotInStatesCheckbox.Checked;
Global.Config.SaveLargeScreenshotWithStates = SaveLargeScreenshotsCheckbox.Checked; Global.Config.NoLowResLargeScreenshotWithStates = !LowResLargeScreenshotsCheckbox.Checked;
Global.Config.BigScreenshotSize = (int)BigScreenshotNumeric.Value * 1024; Global.Config.BigScreenshotSize = (int)BigScreenshotNumeric.Value * 1024;
GlobalWin.OSD.AddMessage("Rewind and State settings saved"); GlobalWin.OSD.AddMessage("Rewind and State settings saved");
@ -386,6 +386,5 @@ namespace BizHawk.Client.EmuHawk
nudCompression.Value = Config.DefaultSaveStateCompressionLevelNormal; nudCompression.Value = Config.DefaultSaveStateCompressionLevelNormal;
} }
} }
} }