config hookup for user crop area

This commit is contained in:
zeromus 2019-01-18 00:59:38 -05:00
parent ca9385c3c8
commit cecdff8293
4 changed files with 167 additions and 42 deletions

View File

@ -363,6 +363,12 @@ namespace BizHawk.Client.Common
public float DispCustomUserARX = -1;
public float DispCustomUserARY = -1;
//these default to 0 because by default we crop nothing
public int DispCropLeft = 0;
public int DispCropTop = 0;
public int DispCropRight = 0;
public int DispCropBottom = 0;
// Sound options
#if WINDOWS
public ESoundOutputMethod SoundOutputMethod = ESoundOutputMethod.DirectSound;

View File

@ -37,6 +37,7 @@
this.lblUserFilterName = new System.Windows.Forms.Label();
this.btnSelectUserFilter = new System.Windows.Forms.Button();
this.rbUser = new System.Windows.Forms.RadioButton();
this.tbScanlineIntensity = new BizHawk.Client.EmuHawk.TransparentTrackBar();
this.rbNone = new System.Windows.Forms.RadioButton();
this.rbScanlines = new System.Windows.Forms.RadioButton();
this.rbHq2x = new System.Windows.Forms.RadioButton();
@ -64,6 +65,16 @@
this.label5 = new System.Windows.Forms.Label();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tpAR = new System.Windows.Forms.TabPage();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.label16 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.txtCropBottom = new System.Windows.Forms.TextBox();
this.label17 = new System.Windows.Forms.Label();
this.txtCropRight = new System.Windows.Forms.TextBox();
this.txtCropTop = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.txtCropLeft = new System.Windows.Forms.TextBox();
this.btnDefaults = new System.Windows.Forms.Button();
this.cbAutoPrescale = new System.Windows.Forms.CheckBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
@ -95,17 +106,17 @@
this.cbStatusBarWindowed = new System.Windows.Forms.CheckBox();
this.label9 = new System.Windows.Forms.Label();
this.cbMenuWindowed = new System.Windows.Forms.CheckBox();
this.trackbarFrameSizeWindowed = new BizHawk.Client.EmuHawk.TransparentTrackBar();
this.cbCaptionWindowed = new System.Windows.Forms.CheckBox();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.tbScanlineIntensity = new BizHawk.Client.EmuHawk.TransparentTrackBar();
this.trackbarFrameSizeWindowed = new BizHawk.Client.EmuHawk.TransparentTrackBar();
this.btnDefaults = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit();
this.grpFinalFilter.SuspendLayout();
this.grpARSelection.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tpAR.SuspendLayout();
this.groupBox6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nudPrescale)).BeginInit();
this.tpDispMethod.SuspendLayout();
this.groupBox3.SuspendLayout();
@ -114,7 +125,6 @@
this.tabPage1.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.trackbarFrameSizeWindowed)).BeginInit();
this.SuspendLayout();
//
@ -196,6 +206,19 @@
this.rbUser.Text = "User";
this.rbUser.UseVisualStyleBackColor = true;
//
// tbScanlineIntensity
//
this.tbScanlineIntensity.LargeChange = 32;
this.tbScanlineIntensity.Location = new System.Drawing.Point(83, 55);
this.tbScanlineIntensity.Maximum = 256;
this.tbScanlineIntensity.Name = "tbScanlineIntensity";
this.tbScanlineIntensity.Size = new System.Drawing.Size(70, 42);
this.tbScanlineIntensity.TabIndex = 3;
this.tbScanlineIntensity.TickFrequency = 32;
this.tbScanlineIntensity.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
this.tbScanlineIntensity.Scroll += new System.EventHandler(this.tbScanlineIntensity_Scroll);
this.tbScanlineIntensity.ValueChanged += new System.EventHandler(this.tbScanlineIntensity_Scroll);
//
// rbNone
//
this.rbNone.AutoSize = true;
@ -474,6 +497,7 @@
//
// tpAR
//
this.tpAR.Controls.Add(this.groupBox6);
this.tpAR.Controls.Add(this.btnDefaults);
this.tpAR.Controls.Add(this.cbAutoPrescale);
this.tpAR.Controls.Add(this.label11);
@ -492,6 +516,102 @@
this.tpAR.Text = "Scaling & Filtering";
this.tpAR.UseVisualStyleBackColor = true;
//
// groupBox6
//
this.groupBox6.Controls.Add(this.label16);
this.groupBox6.Controls.Add(this.label15);
this.groupBox6.Controls.Add(this.txtCropBottom);
this.groupBox6.Controls.Add(this.label17);
this.groupBox6.Controls.Add(this.txtCropRight);
this.groupBox6.Controls.Add(this.txtCropTop);
this.groupBox6.Controls.Add(this.label14);
this.groupBox6.Controls.Add(this.txtCropLeft);
this.groupBox6.Location = new System.Drawing.Point(218, 195);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(302, 61);
this.groupBox6.TabIndex = 9;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Cropping";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(217, 25);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(43, 13);
this.label16.TabIndex = 30;
this.label16.Text = "Bottom:";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(74, 25);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(29, 13);
this.label15.TabIndex = 29;
this.label15.Text = "Top:";
//
// txtCropBottom
//
this.txtCropBottom.Location = new System.Drawing.Point(261, 22);
this.txtCropBottom.Name = "txtCropBottom";
this.txtCropBottom.Size = new System.Drawing.Size(34, 20);
this.txtCropBottom.TabIndex = 28;
this.txtCropBottom.Text = "8000";
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(144, 25);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(35, 13);
this.label17.TabIndex = 26;
this.label17.Text = "Right:";
//
// txtCropRight
//
this.txtCropRight.Location = new System.Drawing.Point(180, 22);
this.txtCropRight.Name = "txtCropRight";
this.txtCropRight.Size = new System.Drawing.Size(34, 20);
this.txtCropRight.TabIndex = 25;
this.txtCropRight.Text = "8000";
//
// txtCropTop
//
this.txtCropTop.Location = new System.Drawing.Point(104, 22);
this.txtCropTop.Name = "txtCropTop";
this.txtCropTop.Size = new System.Drawing.Size(34, 20);
this.txtCropTop.TabIndex = 24;
this.txtCropTop.Text = "8000";
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(6, 25);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(28, 13);
this.label14.TabIndex = 16;
this.label14.Text = "Left:";
//
// txtCropLeft
//
this.txtCropLeft.Location = new System.Drawing.Point(34, 22);
this.txtCropLeft.Name = "txtCropLeft";
this.txtCropLeft.Size = new System.Drawing.Size(34, 20);
this.txtCropLeft.TabIndex = 15;
this.txtCropLeft.Text = "8000";
//
// btnDefaults
//
this.btnDefaults.Location = new System.Drawing.Point(447, 262);
this.btnDefaults.Name = "btnDefaults";
this.btnDefaults.Size = new System.Drawing.Size(75, 23);
this.btnDefaults.TabIndex = 18;
this.btnDefaults.Text = "Defaults";
this.toolTip1.SetToolTip(this.btnDefaults, "Unless I forgot to update the button\'s code when I changed a default");
this.btnDefaults.UseVisualStyleBackColor = true;
this.btnDefaults.Click += new System.EventHandler(this.btnDefaults_Click);
//
// cbAutoPrescale
//
this.cbAutoPrescale.AutoSize = true;
@ -602,8 +722,7 @@
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(359, 27);
this.label8.TabIndex = 20;
this.label8.Text = " • Best compatibility\r\n • May have trouble with OpenGL-based cores (N64)\r\n" +
"";
this.label8.Text = " • Best compatibility\r\n • May have trouble with OpenGL-based cores (N64)\r\n";
//
// rbD3D9
//
@ -835,6 +954,17 @@
this.cbMenuWindowed.Text = "Menu";
this.cbMenuWindowed.UseVisualStyleBackColor = true;
//
// trackbarFrameSizeWindowed
//
this.trackbarFrameSizeWindowed.LargeChange = 1;
this.trackbarFrameSizeWindowed.Location = new System.Drawing.Point(6, 33);
this.trackbarFrameSizeWindowed.Maximum = 2;
this.trackbarFrameSizeWindowed.Name = "trackbarFrameSizeWindowed";
this.trackbarFrameSizeWindowed.Size = new System.Drawing.Size(99, 42);
this.trackbarFrameSizeWindowed.TabIndex = 21;
this.trackbarFrameSizeWindowed.Value = 1;
this.trackbarFrameSizeWindowed.ValueChanged += new System.EventHandler(this.trackbarFrameSizeWindowed_ValueChanged);
//
// cbCaptionWindowed
//
this.cbCaptionWindowed.AutoSize = true;
@ -856,41 +986,6 @@
this.linkLabel1.Text = "Documentation";
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// tbScanlineIntensity
//
this.tbScanlineIntensity.LargeChange = 32;
this.tbScanlineIntensity.Location = new System.Drawing.Point(83, 55);
this.tbScanlineIntensity.Maximum = 256;
this.tbScanlineIntensity.Name = "tbScanlineIntensity";
this.tbScanlineIntensity.Size = new System.Drawing.Size(70, 42);
this.tbScanlineIntensity.TabIndex = 3;
this.tbScanlineIntensity.TickFrequency = 32;
this.tbScanlineIntensity.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
this.tbScanlineIntensity.Scroll += new System.EventHandler(this.tbScanlineIntensity_Scroll);
this.tbScanlineIntensity.ValueChanged += new System.EventHandler(this.tbScanlineIntensity_Scroll);
//
// trackbarFrameSizeWindowed
//
this.trackbarFrameSizeWindowed.LargeChange = 1;
this.trackbarFrameSizeWindowed.Location = new System.Drawing.Point(6, 33);
this.trackbarFrameSizeWindowed.Maximum = 2;
this.trackbarFrameSizeWindowed.Name = "trackbarFrameSizeWindowed";
this.trackbarFrameSizeWindowed.Size = new System.Drawing.Size(99, 42);
this.trackbarFrameSizeWindowed.TabIndex = 21;
this.trackbarFrameSizeWindowed.Value = 1;
this.trackbarFrameSizeWindowed.ValueChanged += new System.EventHandler(this.trackbarFrameSizeWindowed_ValueChanged);
//
// btnDefaults
//
this.btnDefaults.Location = new System.Drawing.Point(447, 262);
this.btnDefaults.Name = "btnDefaults";
this.btnDefaults.Size = new System.Drawing.Size(75, 23);
this.btnDefaults.TabIndex = 18;
this.btnDefaults.Text = "Defaults";
this.toolTip1.SetToolTip(this.btnDefaults, "Unless I forgot to update the button\'s code when I changed a default");
this.btnDefaults.UseVisualStyleBackColor = true;
this.btnDefaults.Click += new System.EventHandler(this.btnDefaults_Click);
//
// DisplayConfigLite
//
this.AcceptButton = this.btnOk;
@ -908,6 +1003,7 @@
this.Text = "Display Configuration";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).EndInit();
this.grpFinalFilter.ResumeLayout(false);
this.grpFinalFilter.PerformLayout();
this.grpARSelection.ResumeLayout(false);
@ -915,6 +1011,8 @@
this.tabControl1.ResumeLayout(false);
this.tpAR.ResumeLayout(false);
this.tpAR.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nudPrescale)).EndInit();
this.tpDispMethod.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
@ -929,7 +1027,6 @@
this.groupBox4.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.trackbarFrameSizeWindowed)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@ -1009,5 +1106,14 @@
private System.Windows.Forms.CheckBox cbFullscreenHacks;
private System.Windows.Forms.Button btnDefaults;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox txtCropBottom;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.TextBox txtCropRight;
private System.Windows.Forms.TextBox txtCropTop;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.TextBox txtCropLeft;
}
}

View File

@ -85,6 +85,11 @@ namespace BizHawk.Client.EmuHawk
if (Global.Config.DispCustomUserARY != -1)
txtCustomARY.Text = Global.Config.DispCustomUserARY.ToString();
txtCropLeft.Text = Global.Config.DispCropLeft.ToString();
txtCropTop.Text = Global.Config.DispCropTop.ToString();
txtCropRight.Text = Global.Config.DispCropRight.ToString();
txtCropBottom.Text = Global.Config.DispCropBottom.ToString();
RefreshAspectRatioOptions();
}
@ -173,6 +178,11 @@ namespace BizHawk.Client.EmuHawk
if(rbD3D9.Checked)
Global.Config.DispMethod = Config.EDispMethod.SlimDX9;
int.TryParse(txtCropLeft.Text, out Global.Config.DispCropLeft);
int.TryParse(txtCropTop.Text, out Global.Config.DispCropTop);
int.TryParse(txtCropRight.Text, out Global.Config.DispCropRight);
int.TryParse(txtCropBottom.Text, out Global.Config.DispCropBottom);
if (oldDisplayMethod != Global.Config.DispMethod)
NeedReset = true;

View File

@ -126,4 +126,7 @@
<data name="label1.Text" xml:space="preserve">
<value>For Windows operating systems &gt;= Vista, with some video cards, the monitors may flicker when going 'windowed fullscreen' while the system disobeys us and goes actual fullscreen instead. This hack prevents that, but may increase frame latency (since in Microsoft's new and disimproved operating systems, windowed mode things may have higher latency)</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>