diff --git a/GUI.NET/Config/VideoInfo.cs b/GUI.NET/Config/VideoInfo.cs index ff720121..0bafb8cc 100644 --- a/GUI.NET/Config/VideoInfo.cs +++ b/GUI.NET/Config/VideoInfo.cs @@ -48,6 +48,8 @@ namespace Mesen.GUI.Config public bool ForceBackgroundFirstColumn = false; public bool ForceSpritesFirstColumn = false; + public bool FullscreenForceIntegerScale = false; + public bool UseCustomVsPalette = false; public List SavedPalettes = new List(); diff --git a/GUI.NET/Dependencies/resources.es.xml b/GUI.NET/Dependencies/resources.es.xml index 0f96ab7f..529071d7 100644 --- a/GUI.NET/Dependencies/resources.es.xml +++ b/GUI.NET/Dependencies/resources.es.xml @@ -246,6 +246,7 @@ Formato de imagen: Relación personalizada: Utilizar la interpolación bilinear + Use integer scale values when entering fullscreen mode Mostrar FPS Utilizar los packs de alta definición de HDNes Overscan diff --git a/GUI.NET/Dependencies/resources.fr.xml b/GUI.NET/Dependencies/resources.fr.xml index da22fb17..d36929a2 100644 --- a/GUI.NET/Dependencies/resources.fr.xml +++ b/GUI.NET/Dependencies/resources.fr.xml @@ -248,6 +248,7 @@ Format d'image : Ratio personalisé : Utiliser l'interpolation bilinéaire + Utiliser une valeur entière pour l'échelle vidéo en mode plein écran Afficher le FPS Utiliser les packs haute-définition de HDNes Overscan diff --git a/GUI.NET/Dependencies/resources.ja.xml b/GUI.NET/Dependencies/resources.ja.xml index 20a5faa8..a2c8007a 100644 --- a/GUI.NET/Dependencies/resources.ja.xml +++ b/GUI.NET/Dependencies/resources.ja.xml @@ -242,12 +242,13 @@
全般 - 映像サイズ: + 画面サイズ: 画面エフェクト: バイリニア補間を有効にする 垂直同期を有効にする 画面アスペクト: アスペクトレシオ: + 全画面表示モードに入る時、画面サイズの倍率を整数にする フレームレート表示 HDNesのHDパックを使う オーバースキャン diff --git a/GUI.NET/Dependencies/resources.pt.xml b/GUI.NET/Dependencies/resources.pt.xml index 0a0806e6..a9ce9d45 100644 --- a/GUI.NET/Dependencies/resources.pt.xml +++ b/GUI.NET/Dependencies/resources.pt.xml @@ -246,6 +246,7 @@ Formato de imagem: Custom ratio: Utilizar a interpolação Bilinear + Use integer scale values when entering fullscreen mode Mostrar FPS Utilizar os packs de Alta Definição do HDNes Overscan diff --git a/GUI.NET/Dependencies/resources.ru.xml b/GUI.NET/Dependencies/resources.ru.xml index 15b94369..6b8e5634 100644 --- a/GUI.NET/Dependencies/resources.ru.xml +++ b/GUI.NET/Dependencies/resources.ru.xml @@ -248,6 +248,7 @@ Соотношение сторон : Custom ratio: Билинейная интерполяция + Use integer scale values when entering fullscreen mode Показывать FPS Использовать HDNes HD packs Overscan diff --git a/GUI.NET/Dependencies/resources.uk.xml b/GUI.NET/Dependencies/resources.uk.xml index f5741a2f..177530d8 100644 --- a/GUI.NET/Dependencies/resources.uk.xml +++ b/GUI.NET/Dependencies/resources.uk.xml @@ -248,6 +248,7 @@ Співвідношення сторін : Користувацьке співвідношення: Білінійна інтерполяція + Use integer scale values when entering fullscreen mode Показувати FPS Використовувати HDNes HD packs Overscan diff --git a/GUI.NET/Forms/Config/frmVideoConfig.Designer.cs b/GUI.NET/Forms/Config/frmVideoConfig.Designer.cs index 815cf31a..325b839e 100644 --- a/GUI.NET/Forms/Config/frmVideoConfig.Designer.cs +++ b/GUI.NET/Forms/Config/frmVideoConfig.Designer.cs @@ -123,6 +123,7 @@ namespace Mesen.GUI.Forms.Config this.mnuPaletteSonyCxa2025As = new System.Windows.Forms.ToolStripMenuItem(); this.mnuPaletteUnsaturated = new System.Windows.Forms.ToolStripMenuItem(); this.mnuPaletteYuv = new System.Windows.Forms.ToolStripMenuItem(); + this.chkFullscreenForceIntegerScale = new System.Windows.Forms.CheckBox(); this.tlpMain.SuspendLayout(); this.flowLayoutPanel7.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.picHdNesTooltip)).BeginInit(); @@ -176,22 +177,23 @@ namespace Mesen.GUI.Forms.Config this.tlpMain.Controls.Add(this.lblVideoScale, 0, 0); this.tlpMain.Controls.Add(this.chkVerticalSync, 0, 3); this.tlpMain.Controls.Add(this.lblDisplayRatio, 0, 1); - this.tlpMain.Controls.Add(this.chkShowFps, 0, 4); this.tlpMain.Controls.Add(this.flowLayoutPanel7, 0, 2); this.tlpMain.Controls.Add(this.nudScale, 1, 0); this.tlpMain.Controls.Add(this.flowLayoutPanel6, 1, 1); + this.tlpMain.Controls.Add(this.chkFullscreenForceIntegerScale, 0, 4); + this.tlpMain.Controls.Add(this.chkShowFps, 0, 5); this.tlpMain.Dock = System.Windows.Forms.DockStyle.Fill; this.tlpMain.Location = new System.Drawing.Point(3, 3); this.tlpMain.Margin = new System.Windows.Forms.Padding(0); this.tlpMain.Name = "tlpMain"; - this.tlpMain.RowCount = 6; + this.tlpMain.RowCount = 7; + this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); this.tlpMain.Size = new System.Drawing.Size(521, 370); this.tlpMain.TabIndex = 1; // @@ -232,7 +234,7 @@ namespace Mesen.GUI.Forms.Config this.chkShowFps.Anchor = System.Windows.Forms.AnchorStyles.Left; this.chkShowFps.AutoSize = true; this.tlpMain.SetColumnSpan(this.chkShowFps, 2); - this.chkShowFps.Location = new System.Drawing.Point(3, 101); + this.chkShowFps.Location = new System.Drawing.Point(3, 124); this.chkShowFps.Name = "chkShowFps"; this.chkShowFps.Size = new System.Drawing.Size(76, 17); this.chkShowFps.TabIndex = 9; @@ -1318,6 +1320,18 @@ namespace Mesen.GUI.Forms.Config this.mnuPaletteYuv.Text = "YUV v3 (by FirebrandX)"; this.mnuPaletteYuv.Click += new System.EventHandler(this.mnuPaletteYuv_Click); // + // chkFullscreenForceIntegerScale + // + this.chkFullscreenForceIntegerScale.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.chkFullscreenForceIntegerScale.AutoSize = true; + this.tlpMain.SetColumnSpan(this.chkFullscreenForceIntegerScale, 2); + this.chkFullscreenForceIntegerScale.Location = new System.Drawing.Point(3, 101); + this.chkFullscreenForceIntegerScale.Name = "chkFullscreenForceIntegerScale"; + this.chkFullscreenForceIntegerScale.Size = new System.Drawing.Size(289, 17); + this.chkFullscreenForceIntegerScale.TabIndex = 23; + this.chkFullscreenForceIntegerScale.Text = "Use integer scale values when entering fullscreen mode"; + this.chkFullscreenForceIntegerScale.UseVisualStyleBackColor = true; + // // frmVideoConfig // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -1483,5 +1497,6 @@ namespace Mesen.GUI.Forms.Config private System.Windows.Forms.ToolStripMenuItem mnuPaletteOriginalHardware; private System.Windows.Forms.ToolStripMenuItem mnuPaletteCompositeDirect; private System.Windows.Forms.CheckBox chkUseCustomVsPalette; + private System.Windows.Forms.CheckBox chkFullscreenForceIntegerScale; } } \ No newline at end of file diff --git a/GUI.NET/Forms/Config/frmVideoConfig.cs b/GUI.NET/Forms/Config/frmVideoConfig.cs index ccdb0f57..96cd6965 100644 --- a/GUI.NET/Forms/Config/frmVideoConfig.cs +++ b/GUI.NET/Forms/Config/frmVideoConfig.cs @@ -61,6 +61,7 @@ namespace Mesen.GUI.Forms.Config AddBinding("DisableSprites", chkDisableSprites); AddBinding("ForceBackgroundFirstColumn", chkForceBackgroundFirstColumn); AddBinding("ForceSpritesFirstColumn", chkForceSpritesFirstColumn); + AddBinding("FullscreenForceIntegerScale", chkFullscreenForceIntegerScale); AddBinding("UseCustomVsPalette", chkUseCustomVsPalette); diff --git a/GUI.NET/Forms/frmMain.cs b/GUI.NET/Forms/frmMain.cs index dde681da..1aeaba6d 100644 --- a/GUI.NET/Forms/frmMain.cs +++ b/GUI.NET/Forms/frmMain.cs @@ -405,6 +405,9 @@ namespace Mesen.GUI.Forms double verticalScale = (double)panelRenderer.ClientSize.Height / size.Height; double horizontalScale = (double)panelRenderer.ClientSize.Width / size.Width; double scale = Math.Min(verticalScale, horizontalScale); + if(_fullscreenMode && ConfigManager.Config.VideoInfo.FullscreenForceIntegerScale) { + scale = Math.Floor(scale); + } UpdateScaleMenu(scale); VideoInfo.ApplyConfig(); }