This commit is contained in:
adelikat 2016-03-04 08:39:48 -05:00
commit ebceb1fc73
3 changed files with 50 additions and 40 deletions
BizHawk.Client.EmuHawk

View File

@ -478,6 +478,7 @@ namespace BizHawk.Client.EmuHawk
{
if (ar_integer)
{
//ALERT COPYPASTE LAUNDROMAT
Vector2 VS = new Vector2(virtualWidth, virtualHeight);
Vector2 BS = new Vector2(bufferWidth, bufferHeight);
Vector2 AR = Vector2.Divide(VS, BS);

View File

@ -73,6 +73,7 @@ namespace BizHawk.Client.EmuHawk.Filters
{
//just totally different code
//apply the zooming algorithm (pasted and reworked, for now)
//ALERT COPYPASTE LAUNDROMAT
Vector2 VS = new Vector2(virtualWidth, virtualHeight);
Vector2 BS = new Vector2(textureWidth, textureHeight);
@ -144,6 +145,14 @@ namespace BizHawk.Client.EmuHawk.Filters
vh = (int)(heightScale * sourceHeight);
}
//theres only one sensible way to letterbox in case we're shrinking a dimension: "pan & scan" to the center
//this is unlikely to be what the user wants except in the one case of maybe shrinking off some overscan area
//instead, since we're more about biz than gaming, lets shrink the view to fit in the small dimension
if (targetWidth < vw)
vw = targetWidth;
if (targetHeight < vh)
vh = targetHeight;
//determine letterboxing parameters
vx = (targetWidth - vw) / 2;
vy = (targetHeight - vh) / 2;

View File

@ -49,6 +49,10 @@
this.rbUseRaw = new System.Windows.Forms.RadioButton();
this.rbUseSystem = new System.Windows.Forms.RadioButton();
this.grpARSelection = new System.Windows.Forms.GroupBox();
this.txtCustomARY = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.txtCustomARX = new System.Windows.Forms.TextBox();
this.rbUseCustomRatio = new System.Windows.Forms.RadioButton();
this.label4 = new System.Windows.Forms.Label();
this.txtCustomARHeight = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
@ -91,10 +95,6 @@
this.trackbarFrameSizeWindowed = new BizHawk.Client.EmuHawk.TransparentTrackBar();
this.cbCaptionWindowed = new System.Windows.Forms.CheckBox();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.rbUseCustomRatio = new System.Windows.Forms.RadioButton();
this.txtCustomARY = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.txtCustomARX = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit();
this.grpFinalFilter.SuspendLayout();
@ -252,9 +252,9 @@
this.checkPadInteger.AutoSize = true;
this.checkPadInteger.Location = new System.Drawing.Point(15, 307);
this.checkPadInteger.Name = "checkPadInteger";
this.checkPadInteger.Size = new System.Drawing.Size(248, 17);
this.checkPadInteger.Size = new System.Drawing.Size(250, 17);
this.checkPadInteger.TabIndex = 9;
this.checkPadInteger.Text = "Stretch pixels by integers only (e.g. no 1.3333x)";
this.checkPadInteger.Text = "Expand pixels by integers only (e.g. no 1.3333x)";
this.checkPadInteger.UseVisualStyleBackColor = true;
this.checkPadInteger.CheckedChanged += new System.EventHandler(this.checkPadInteger_CheckedChanged);
//
@ -347,6 +347,40 @@
this.grpARSelection.TabStop = false;
this.grpARSelection.Text = "Aspect Ratio Selection";
//
// txtCustomARY
//
this.txtCustomARY.Location = new System.Drawing.Point(230, 102);
this.txtCustomARY.Name = "txtCustomARY";
this.txtCustomARY.Size = new System.Drawing.Size(72, 20);
this.txtCustomARY.TabIndex = 19;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(212, 107);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(10, 13);
this.label12.TabIndex = 17;
this.label12.Text = ":";
//
// txtCustomARX
//
this.txtCustomARX.Location = new System.Drawing.Point(134, 102);
this.txtCustomARX.Name = "txtCustomARX";
this.txtCustomARX.Size = new System.Drawing.Size(72, 20);
this.txtCustomARX.TabIndex = 18;
//
// rbUseCustomRatio
//
this.rbUseCustomRatio.AutoSize = true;
this.rbUseCustomRatio.Location = new System.Drawing.Point(26, 103);
this.rbUseCustomRatio.Name = "rbUseCustomRatio";
this.rbUseCustomRatio.Size = new System.Drawing.Size(102, 17);
this.rbUseCustomRatio.TabIndex = 16;
this.rbUseCustomRatio.TabStop = true;
this.rbUseCustomRatio.Text = "Use custom AR:";
this.rbUseCustomRatio.UseVisualStyleBackColor = true;
//
// label4
//
this.label4.AutoSize = true;
@ -806,40 +840,6 @@
this.linkLabel1.Text = "Documentation";
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// rbUseCustomRatio
//
this.rbUseCustomRatio.AutoSize = true;
this.rbUseCustomRatio.Location = new System.Drawing.Point(26, 103);
this.rbUseCustomRatio.Name = "rbUseCustomRatio";
this.rbUseCustomRatio.Size = new System.Drawing.Size(102, 17);
this.rbUseCustomRatio.TabIndex = 16;
this.rbUseCustomRatio.TabStop = true;
this.rbUseCustomRatio.Text = "Use custom AR:";
this.rbUseCustomRatio.UseVisualStyleBackColor = true;
//
// txtCustomARY
//
this.txtCustomARY.Location = new System.Drawing.Point(230, 102);
this.txtCustomARY.Name = "txtCustomARY";
this.txtCustomARY.Size = new System.Drawing.Size(72, 20);
this.txtCustomARY.TabIndex = 19;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(212, 107);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(10, 13);
this.label12.TabIndex = 17;
this.label12.Text = ":";
//
// txtCustomARX
//
this.txtCustomARX.Location = new System.Drawing.Point(134, 102);
this.txtCustomARX.Name = "txtCustomARX";
this.txtCustomARX.Size = new System.Drawing.Size(72, 20);
this.txtCustomARX.TabIndex = 18;
//
// DisplayConfigLite
//
this.AcceptButton = this.btnOk;