Video: Option to select screen resolution in exclusive fullscreen mode
This commit is contained in:
parent
a4dd6b1c1a
commit
7834eb285b
15 changed files with 156 additions and 52 deletions
|
@ -55,6 +55,7 @@ namespace Mesen.GUI.Config
|
|||
|
||||
public bool FullscreenForceIntegerScale = false;
|
||||
public bool UseExclusiveFullscreen = false;
|
||||
public string FullscreenResolution = "";
|
||||
public VideoRefreshRates ExclusiveFullscreenRefreshRate = VideoRefreshRates._60;
|
||||
|
||||
public bool UseCustomVsPalette = false;
|
||||
|
|
|
@ -243,6 +243,7 @@
|
|||
<Control ID="chkShowFps">Mostra els FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Fes servir els paquets d'alta resolució d'HDNes</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Fes servir el mode de pantalla completa exclusiva</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Requested Refresh Rate:</Control>
|
||||
<Control ID="tpgOverscan">Sobreescaneig</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
|
@ -796,6 +797,7 @@
|
|||
<Message ID="CheatsImported">S'han importat {0} trucs per al joc {1}.</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Press {0} to exit fullscreen</Message>
|
||||
<Message ID="DefaultResolution">Default</Message>
|
||||
|
||||
<Message ID="RomsFound">S'han trobat {0} roms</Message>
|
||||
|
||||
|
|
|
@ -243,6 +243,7 @@
|
|||
<Control ID="chkShowFps">Show FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Use HDNes HD packs</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Use exclusive fullscreen mode</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Requested Refresh Rate:</Control>
|
||||
<Control ID="tpgOverscan">Overscan</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
|
@ -824,6 +825,7 @@
|
|||
<Message ID="ExpansionDevice">Expansion Device</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Press {0} to exit fullscreen</Message>
|
||||
<Message ID="DefaultResolution">Default</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} roms found</Message>
|
||||
|
||||
|
|
|
@ -242,6 +242,7 @@
|
|||
<Control ID="chkShowFps">Mostrar FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Utilizar los paquetes de alta resolución de HDNes</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Usar modo exclusivo de pantalla completa</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Frecuencia de actualización solicitada:</Control>
|
||||
<Control ID="tpgOverscan">Overscan</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
|
@ -813,6 +814,7 @@
|
|||
<Message ID="CheatsImported">{0} trucos se importaron para el juego {1}.</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Pulsar {0} para salir de pantalla completa</Message>
|
||||
<Message ID="DefaultResolution">Por defecto</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} roms encontradas</Message>
|
||||
|
||||
|
|
|
@ -243,6 +243,7 @@
|
|||
<Control ID="chkShowFps">Afficher le FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Utiliser les packs haute-définition de HDNes</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Utiliser le mode plein écran exclusif</Control>
|
||||
<Control ID="lblFullscreenResolution">Résolution plein écran :</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Taux de rafraîchissement :</Control>
|
||||
<Control ID="tpgOverscan">Overscan</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
|
@ -823,6 +824,7 @@
|
|||
<Message ID="PlayerNumber">Joueur {0}</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Quitter le mode plein écran: {0}</Message>
|
||||
<Message ID="DefaultResolution">Défaut</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} roms trouvés</Message>
|
||||
|
||||
|
|
|
@ -243,6 +243,7 @@
|
|||
<Control ID="chkShowFps">Mostra FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Usa HDNes HD pack</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Usa schermo intero esclusivo</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Frequenza di aggiornamento:</Control>
|
||||
<Control ID="tpgOverscan">Overscan</Control>
|
||||
<Control ID="tpgOverscanGlobal">Globale</Control>
|
||||
|
@ -824,6 +825,7 @@
|
|||
<Message ID="ExpansionDevice">Dispositivo di Espansione</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Premi {0} per uscire dallo schermo intero</Message>
|
||||
<Message ID="DefaultResolution">Predefinito</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} rom trovate</Message>
|
||||
|
||||
|
|
|
@ -242,6 +242,7 @@
|
|||
<Control ID="chkShowFps">フレームレート表示</Control>
|
||||
<Control ID="chkUseHdPacks">HDNesのHDパックを使う</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">排他的なフルスクリーンモードを使う</Control>
|
||||
<Control ID="lblFullscreenResolution">解像度:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">リフレッシュレート:</Control>
|
||||
<Control ID="tpgOverscan">オーバースキャン</Control>
|
||||
<Control ID="tpgOverscanGlobal">全般</Control>
|
||||
|
@ -811,6 +812,7 @@
|
|||
<Message ID="PlayerNumber">プレーヤー {0}</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">全画面表示モードを終了: {0}</Message>
|
||||
<Message ID="DefaultResolution">デフォルト</Message>
|
||||
|
||||
<Message ID="RomsFound">{0}個</Message>
|
||||
|
||||
|
|
|
@ -243,6 +243,7 @@
|
|||
<Control ID="chkShowFps">Mostrar FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Usar os pacotes de alta definição do HDNes</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Usar modo tela inteira exclusivo</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Taxa de atualização solicitada:</Control>
|
||||
<Control ID="tpgOverscan">Overscan</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
|
@ -824,6 +825,7 @@
|
|||
<Message ID="ExpansionDevice">Dispositivo de expansão</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Pressione {0} para sair da tela inteira</Message>
|
||||
<Message ID="DefaultResolution">Padrão</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} roms encontradas</Message>
|
||||
|
||||
|
|
|
@ -242,6 +242,7 @@
|
|||
<Control ID="chkShowFps">Показывать FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Использовать HDNes HD Packs</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Использовать эксклюзивный полноэкранный режим</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Запрошенная частота обновления:</Control>
|
||||
<Control ID="tpgOverscan">Вылеты развёртки</Control>
|
||||
<Control ID="tpgOverscanGlobal">Глобальный</Control>
|
||||
|
@ -811,6 +812,7 @@
|
|||
<Message ID="PlayerNumber">Игрок {0}</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Press {0} to exit fullscreen</Message>
|
||||
<Message ID="DefaultResolution">Default</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} Найденные ROM файлы</Message>
|
||||
|
||||
|
|
|
@ -242,6 +242,7 @@
|
|||
<Control ID="chkShowFps">Показувати FPS</Control>
|
||||
<Control ID="chkUseHdPacks">Використовувати HDNes HD packs</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Використовувати ексклюзивний режим повного екрану</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Запитувана частота оновлення:</Control>
|
||||
<Control ID="tpgOverscan">Overscan</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
|
@ -811,6 +812,7 @@
|
|||
<Message ID="PlayerNumber">Гравець {0}</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">Натисніть {0} щоб вийти з повноекранного режиму</Message>
|
||||
<Message ID="DefaultResolution">Default</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} Знайдені ROM файли</Message>
|
||||
|
||||
|
|
|
@ -266,6 +266,7 @@
|
|||
<Control ID="chkShowFps">显示帧率</Control>
|
||||
<Control ID="chkUseHdPacks">使用 HDNes 包</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">使用独占全屏模式</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">请求的刷新率:</Control>
|
||||
<Control ID="tpgOverscan">过扫描</Control>
|
||||
<Control ID="tpgOverscanGlobal">全局</Control>
|
||||
|
@ -836,6 +837,8 @@
|
|||
<Message ID="ExpansionDevice">扩展设备</Message>
|
||||
|
||||
<Message ID="PressToExitFullscreen">按 {0} 退出全屏</Message>
|
||||
<Message ID="DefaultResolution">默认</Message>
|
||||
|
||||
<Message ID="RomsFound">已找到 {0} 个 ROM</Message>
|
||||
<Message ID="RiskyOptionHint">(不推荐)</Message>
|
||||
<Message ID="ResetSettingsConfirmation">警告:这将重置所有设置,无法撤消!

继续?</Message>
|
||||
|
|
146
GUI.NET/Forms/Config/frmVideoConfig.Designer.cs
generated
146
GUI.NET/Forms/Config/frmVideoConfig.Designer.cs
generated
|
@ -32,6 +32,9 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmVideoConfig));
|
||||
this.tlpMain = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.flpResolution = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.lblFullscreenResolution = new System.Windows.Forms.Label();
|
||||
this.cboFullscreenResolution = new System.Windows.Forms.ComboBox();
|
||||
this.chkUseExclusiveFullscreen = new System.Windows.Forms.CheckBox();
|
||||
this.lblVideoScale = new System.Windows.Forms.Label();
|
||||
this.chkVerticalSync = new System.Windows.Forms.CheckBox();
|
||||
|
@ -136,6 +139,8 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.chkForceSpritesFirstColumn = new Mesen.GUI.Controls.ctrlRiskyOption();
|
||||
this.lblScreenRotation = new System.Windows.Forms.Label();
|
||||
this.cboScreenRotation = new System.Windows.Forms.ComboBox();
|
||||
this.chkRemoveSpriteLimit = new System.Windows.Forms.CheckBox();
|
||||
this.chkAdaptiveSpriteLimit = new System.Windows.Forms.CheckBox();
|
||||
this.contextPicturePresets = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.mnuPresetComposite = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mnuPresetSVideo = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -153,9 +158,8 @@ 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.chkRemoveSpriteLimit = new System.Windows.Forms.CheckBox();
|
||||
this.chkAdaptiveSpriteLimit = new System.Windows.Forms.CheckBox();
|
||||
this.tlpMain.SuspendLayout();
|
||||
this.flpResolution.SuspendLayout();
|
||||
this.flowLayoutPanel7.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picHdNesTooltip)).BeginInit();
|
||||
this.flowLayoutPanel6.SuspendLayout();
|
||||
|
@ -209,22 +213,24 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.tlpMain.ColumnCount = 2;
|
||||
this.tlpMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tlpMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tlpMain.Controls.Add(this.flpResolution, 0, 5);
|
||||
this.tlpMain.Controls.Add(this.chkUseExclusiveFullscreen, 0, 4);
|
||||
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.flowLayoutPanel7, 0, 7);
|
||||
this.tlpMain.Controls.Add(this.flowLayoutPanel7, 0, 8);
|
||||
this.tlpMain.Controls.Add(this.nudScale, 1, 0);
|
||||
this.tlpMain.Controls.Add(this.flowLayoutPanel6, 1, 1);
|
||||
this.tlpMain.Controls.Add(this.chkFullscreenForceIntegerScale, 0, 6);
|
||||
this.tlpMain.Controls.Add(this.chkShowFps, 0, 8);
|
||||
this.tlpMain.Controls.Add(this.chkFullscreenForceIntegerScale, 0, 7);
|
||||
this.tlpMain.Controls.Add(this.chkShowFps, 0, 9);
|
||||
this.tlpMain.Controls.Add(this.chkIntegerFpsMode, 0, 2);
|
||||
this.tlpMain.Controls.Add(this.flpRefreshRate, 0, 5);
|
||||
this.tlpMain.Controls.Add(this.flpRefreshRate, 0, 6);
|
||||
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 = 10;
|
||||
this.tlpMain.RowCount = 11;
|
||||
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());
|
||||
|
@ -238,6 +244,59 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.tlpMain.Size = new System.Drawing.Size(521, 396);
|
||||
this.tlpMain.TabIndex = 1;
|
||||
//
|
||||
// flpResolution
|
||||
//
|
||||
this.tlpMain.SetColumnSpan(this.flpResolution, 2);
|
||||
this.flpResolution.Controls.Add(this.lblFullscreenResolution);
|
||||
this.flpResolution.Controls.Add(this.cboFullscreenResolution);
|
||||
this.flpResolution.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flpResolution.Location = new System.Drawing.Point(30, 116);
|
||||
this.flpResolution.Margin = new System.Windows.Forms.Padding(30, 0, 0, 0);
|
||||
this.flpResolution.Name = "flpResolution";
|
||||
this.flpResolution.Size = new System.Drawing.Size(491, 27);
|
||||
this.flpResolution.TabIndex = 27;
|
||||
this.flpResolution.Visible = false;
|
||||
//
|
||||
// lblFullscreenResolution
|
||||
//
|
||||
this.lblFullscreenResolution.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.lblFullscreenResolution.AutoSize = true;
|
||||
this.lblFullscreenResolution.Location = new System.Drawing.Point(3, 7);
|
||||
this.lblFullscreenResolution.Name = "lblFullscreenResolution";
|
||||
this.lblFullscreenResolution.Size = new System.Drawing.Size(111, 13);
|
||||
this.lblFullscreenResolution.TabIndex = 17;
|
||||
this.lblFullscreenResolution.Text = "Fullscreen Resolution:";
|
||||
//
|
||||
// cboFullscreenResolution
|
||||
//
|
||||
this.cboFullscreenResolution.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cboFullscreenResolution.FormattingEnabled = true;
|
||||
this.cboFullscreenResolution.Items.AddRange(new object[] {
|
||||
"3840x2160",
|
||||
"2560x1440",
|
||||
"2160x1200",
|
||||
"1920x1440",
|
||||
"1920x1200",
|
||||
"1920x1080",
|
||||
"1680x1050",
|
||||
"1600x1200",
|
||||
"1600x1024",
|
||||
"1600x900",
|
||||
"1366x768",
|
||||
"1360x768",
|
||||
"1280x1024",
|
||||
"1280x960",
|
||||
"1280x800",
|
||||
"1280x768",
|
||||
"1280x720",
|
||||
"1152x864",
|
||||
"1024x768",
|
||||
"800x600"});
|
||||
this.cboFullscreenResolution.Location = new System.Drawing.Point(120, 3);
|
||||
this.cboFullscreenResolution.Name = "cboFullscreenResolution";
|
||||
this.cboFullscreenResolution.Size = new System.Drawing.Size(85, 21);
|
||||
this.cboFullscreenResolution.TabIndex = 25;
|
||||
//
|
||||
// chkUseExclusiveFullscreen
|
||||
//
|
||||
this.chkUseExclusiveFullscreen.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
|
@ -289,7 +348,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.flowLayoutPanel7.Controls.Add(this.chkUseHdPacks);
|
||||
this.flowLayoutPanel7.Controls.Add(this.picHdNesTooltip);
|
||||
this.flowLayoutPanel7.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flowLayoutPanel7.Location = new System.Drawing.Point(0, 166);
|
||||
this.flowLayoutPanel7.Location = new System.Drawing.Point(0, 193);
|
||||
this.flowLayoutPanel7.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.flowLayoutPanel7.Name = "flowLayoutPanel7";
|
||||
this.flowLayoutPanel7.Size = new System.Drawing.Size(521, 23);
|
||||
|
@ -424,7 +483,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
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, 146);
|
||||
this.chkFullscreenForceIntegerScale.Location = new System.Drawing.Point(3, 173);
|
||||
this.chkFullscreenForceIntegerScale.Name = "chkFullscreenForceIntegerScale";
|
||||
this.chkFullscreenForceIntegerScale.Size = new System.Drawing.Size(289, 17);
|
||||
this.chkFullscreenForceIntegerScale.TabIndex = 23;
|
||||
|
@ -436,7 +495,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, 192);
|
||||
this.chkShowFps.Location = new System.Drawing.Point(3, 219);
|
||||
this.chkShowFps.Name = "chkShowFps";
|
||||
this.chkShowFps.Size = new System.Drawing.Size(76, 17);
|
||||
this.chkShowFps.TabIndex = 9;
|
||||
|
@ -461,7 +520,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.flpRefreshRate.Controls.Add(this.lblRequestedRefreshRate);
|
||||
this.flpRefreshRate.Controls.Add(this.cboRefreshRate);
|
||||
this.flpRefreshRate.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flpRefreshRate.Location = new System.Drawing.Point(30, 116);
|
||||
this.flpRefreshRate.Location = new System.Drawing.Point(30, 143);
|
||||
this.flpRefreshRate.Margin = new System.Windows.Forms.Padding(30, 0, 0, 0);
|
||||
this.flpRefreshRate.Name = "flpRefreshRate";
|
||||
this.flpRefreshRate.Size = new System.Drawing.Size(491, 27);
|
||||
|
@ -482,12 +541,6 @@ namespace Mesen.GUI.Forms.Config
|
|||
//
|
||||
this.cboRefreshRate.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cboRefreshRate.FormattingEnabled = true;
|
||||
this.cboRefreshRate.Items.AddRange(new object[] {
|
||||
"Auto",
|
||||
"NTSC (8:7)",
|
||||
"PAL (18:13)",
|
||||
"Standard (4:3)",
|
||||
"Widescreen (16:9)"});
|
||||
this.cboRefreshRate.Location = new System.Drawing.Point(137, 3);
|
||||
this.cboRefreshRate.Name = "cboRefreshRate";
|
||||
this.cboRefreshRate.Size = new System.Drawing.Size(68, 21);
|
||||
|
@ -1855,6 +1908,32 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.cboScreenRotation.Size = new System.Drawing.Size(77, 21);
|
||||
this.cboScreenRotation.TabIndex = 5;
|
||||
//
|
||||
// chkRemoveSpriteLimit
|
||||
//
|
||||
this.chkRemoveSpriteLimit.AutoSize = true;
|
||||
this.tableLayoutPanel9.SetColumnSpan(this.chkRemoveSpriteLimit, 2);
|
||||
this.chkRemoveSpriteLimit.Location = new System.Drawing.Point(3, 3);
|
||||
this.chkRemoveSpriteLimit.Name = "chkRemoveSpriteLimit";
|
||||
this.chkRemoveSpriteLimit.Size = new System.Drawing.Size(205, 17);
|
||||
this.chkRemoveSpriteLimit.TabIndex = 6;
|
||||
this.chkRemoveSpriteLimit.Text = "Remove sprite limit (Reduces flashing)";
|
||||
this.chkRemoveSpriteLimit.UseVisualStyleBackColor = true;
|
||||
this.chkRemoveSpriteLimit.CheckedChanged += new System.EventHandler(this.chkRemoveSpriteLimit_CheckedChanged);
|
||||
//
|
||||
// chkAdaptiveSpriteLimit
|
||||
//
|
||||
this.chkAdaptiveSpriteLimit.AutoSize = true;
|
||||
this.tableLayoutPanel9.SetColumnSpan(this.chkAdaptiveSpriteLimit, 2);
|
||||
this.chkAdaptiveSpriteLimit.Enabled = false;
|
||||
this.chkAdaptiveSpriteLimit.Location = new System.Drawing.Point(18, 26);
|
||||
this.chkAdaptiveSpriteLimit.Margin = new System.Windows.Forms.Padding(18, 3, 3, 3);
|
||||
this.chkAdaptiveSpriteLimit.Name = "chkAdaptiveSpriteLimit";
|
||||
this.chkAdaptiveSpriteLimit.Size = new System.Drawing.Size(442, 17);
|
||||
this.chkAdaptiveSpriteLimit.TabIndex = 11;
|
||||
this.chkAdaptiveSpriteLimit.Text = "Automatically re-enable sprite limit as needed to prevent graphical glitches when" +
|
||||
" possible";
|
||||
this.chkAdaptiveSpriteLimit.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// contextPicturePresets
|
||||
//
|
||||
this.contextPicturePresets.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
|
@ -1978,32 +2057,6 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.mnuPaletteYuv.Text = "YUV v3 (by FirebrandX)";
|
||||
this.mnuPaletteYuv.Click += new System.EventHandler(this.mnuPaletteYuv_Click);
|
||||
//
|
||||
// chkRemoveSpriteLimit
|
||||
//
|
||||
this.chkRemoveSpriteLimit.AutoSize = true;
|
||||
this.tableLayoutPanel9.SetColumnSpan(this.chkRemoveSpriteLimit, 2);
|
||||
this.chkRemoveSpriteLimit.Location = new System.Drawing.Point(3, 3);
|
||||
this.chkRemoveSpriteLimit.Name = "chkRemoveSpriteLimit";
|
||||
this.chkRemoveSpriteLimit.Size = new System.Drawing.Size(205, 17);
|
||||
this.chkRemoveSpriteLimit.TabIndex = 6;
|
||||
this.chkRemoveSpriteLimit.Text = "Remove sprite limit (Reduces flashing)";
|
||||
this.chkRemoveSpriteLimit.UseVisualStyleBackColor = true;
|
||||
this.chkRemoveSpriteLimit.CheckedChanged += new System.EventHandler(this.chkRemoveSpriteLimit_CheckedChanged);
|
||||
//
|
||||
// chkAdaptiveSpriteLimit
|
||||
//
|
||||
this.chkAdaptiveSpriteLimit.AutoSize = true;
|
||||
this.tableLayoutPanel9.SetColumnSpan(this.chkAdaptiveSpriteLimit, 2);
|
||||
this.chkAdaptiveSpriteLimit.Enabled = false;
|
||||
this.chkAdaptiveSpriteLimit.Location = new System.Drawing.Point(18, 26);
|
||||
this.chkAdaptiveSpriteLimit.Margin = new System.Windows.Forms.Padding(18, 3, 3, 3);
|
||||
this.chkAdaptiveSpriteLimit.Name = "chkAdaptiveSpriteLimit";
|
||||
this.chkAdaptiveSpriteLimit.Size = new System.Drawing.Size(442, 17);
|
||||
this.chkAdaptiveSpriteLimit.TabIndex = 11;
|
||||
this.chkAdaptiveSpriteLimit.Text = "Automatically re-enable sprite limit as needed to prevent graphical glitches when" +
|
||||
" possible";
|
||||
this.chkAdaptiveSpriteLimit.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// frmVideoConfig
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
@ -2020,6 +2073,8 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.Controls.SetChildIndex(this.tabMain, 0);
|
||||
this.tlpMain.ResumeLayout(false);
|
||||
this.tlpMain.PerformLayout();
|
||||
this.flpResolution.ResumeLayout(false);
|
||||
this.flpResolution.PerformLayout();
|
||||
this.flowLayoutPanel7.ResumeLayout(false);
|
||||
this.flowLayoutPanel7.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picHdNesTooltip)).EndInit();
|
||||
|
@ -2210,5 +2265,8 @@ namespace Mesen.GUI.Forms.Config
|
|||
private System.Windows.Forms.Label lblGameSpecificOverscanLeft;
|
||||
private System.Windows.Forms.CheckBox chkRemoveSpriteLimit;
|
||||
private System.Windows.Forms.CheckBox chkAdaptiveSpriteLimit;
|
||||
}
|
||||
private System.Windows.Forms.FlowLayoutPanel flpResolution;
|
||||
private System.Windows.Forms.Label lblFullscreenResolution;
|
||||
private System.Windows.Forms.ComboBox cboFullscreenResolution;
|
||||
}
|
||||
}
|
|
@ -88,6 +88,13 @@ namespace Mesen.GUI.Forms.Config
|
|||
|
||||
toolTip.SetToolTip(picHdNesTooltip, ResourceHelper.GetMessage("HDNesTooltip"));
|
||||
|
||||
cboFullscreenResolution.Items.Insert(0, ResourceHelper.GetMessage("DefaultResolution"));
|
||||
if(cboFullscreenResolution.Items.Contains(ConfigManager.Config.VideoInfo.FullscreenResolution)) {
|
||||
cboFullscreenResolution.SelectedItem = ConfigManager.Config.VideoInfo.FullscreenResolution;
|
||||
} else {
|
||||
cboFullscreenResolution.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
btnSelectPreset.Image = BaseControl.DownArrow;
|
||||
btnSelectPalette.Image = BaseControl.DownArrow;
|
||||
|
||||
|
@ -185,6 +192,12 @@ namespace Mesen.GUI.Forms.Config
|
|||
if(DialogResult == DialogResult.OK) {
|
||||
UpdatePalette();
|
||||
|
||||
if(cboFullscreenResolution.SelectedIndex > 0) {
|
||||
ConfigManager.Config.VideoInfo.FullscreenResolution = cboFullscreenResolution.SelectedItem.ToString();
|
||||
} else {
|
||||
ConfigManager.Config.VideoInfo.FullscreenResolution = "";
|
||||
}
|
||||
|
||||
GameSpecificInfo.SetGameSpecificOverscan(
|
||||
chkEnableGameSpecificOverscan.Checked,
|
||||
(UInt32)nudGameSpecificOverscanTop.Value,
|
||||
|
@ -477,6 +490,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
private void chkUseExclusiveFullscreen_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
flpRefreshRate.Visible = chkUseExclusiveFullscreen.Checked;
|
||||
flpResolution.Visible = chkUseExclusiveFullscreen.Checked;
|
||||
}
|
||||
|
||||
private void chkEnableGameSpecificOverscan_CheckedChanged(object sender, EventArgs e)
|
||||
|
|
|
@ -128,7 +128,7 @@
|
|||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACs
|
||||
BQAAAk1TRnQBSQFMAwEBAAE4AQABOAEAARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA
|
||||
BQAAAk1TRnQBSQFMAwEBAAFIAQABSAEAARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA
|
||||
ARADAAEBAQABGAYAAQweAAH5AvgB1QHBAbsBqAFyAWEBkAFHATABkAFHATABpgFuAVwB0gG8AbUB+AL2
|
||||
pQAB1QHAAbkBlgFNATIBqgFaASwBuwFkASsBwAFpASkBwAFpASkBuwFlASwBqwFbAS0BmAFMATAB0wG9
|
||||
AbWfAAHRAbgBrwGlAVgBMgHAAW0BLgHCAW0BLQHCAW0BLQHCAW0BLQHCAW0BLQHCAW0BLQHCAW0BLQHA
|
||||
|
|
|
@ -507,11 +507,6 @@ namespace Mesen.GUI.Forms
|
|||
SetScaleBasedOnDimensions(panelRenderer.ClientSize, true);
|
||||
}
|
||||
|
||||
private void SetScaleBasedOnScreenSize()
|
||||
{
|
||||
SetScaleBasedOnDimensions(Screen.FromControl(this).Bounds.Size, false);
|
||||
}
|
||||
|
||||
private void StopExclusiveFullscreenMode()
|
||||
{
|
||||
if(_frmFullscreenRenderer != null) {
|
||||
|
@ -519,13 +514,28 @@ namespace Mesen.GUI.Forms
|
|||
}
|
||||
}
|
||||
|
||||
private Size GetFullscreenResolution()
|
||||
{
|
||||
string resolution = ConfigManager.Config.VideoInfo.FullscreenResolution;
|
||||
if(!string.IsNullOrWhiteSpace(resolution)) {
|
||||
string[] resData = resolution.Split('x');
|
||||
int width;
|
||||
int height;
|
||||
if(int.TryParse(resData[0], out width) && int.TryParse(resData[1], out height)) {
|
||||
return new Size(width, height);
|
||||
}
|
||||
}
|
||||
return Screen.FromControl(this).Bounds.Size;
|
||||
}
|
||||
|
||||
private void StartExclusiveFullscreenMode()
|
||||
{
|
||||
Size screenSize = Screen.FromControl(this).Bounds.Size;
|
||||
Size screenSize = GetFullscreenResolution();
|
||||
|
||||
_frmFullscreenRenderer = new frmFullscreenRenderer();
|
||||
_frmFullscreenRenderer.Shown += (object sender, EventArgs e) => {
|
||||
ctrlRenderer.Visible = false;
|
||||
SetScaleBasedOnScreenSize();
|
||||
SetScaleBasedOnDimensions(screenSize, false);
|
||||
InteropEmu.SetFullscreenMode(true, _frmFullscreenRenderer.Handle, (UInt32)screenSize.Width, (UInt32)screenSize.Height);
|
||||
};
|
||||
_frmFullscreenRenderer.FormClosing += (object sender, FormClosingEventArgs e) => {
|
||||
|
|
Loading…
Add table
Reference in a new issue