From 59d467a1127565439114b8c980d1ad3686aae2bc Mon Sep 17 00:00:00 2001 From: Souryo Date: Sun, 30 Jul 2017 16:05:34 -0400 Subject: [PATCH] UI: Localized HD pack builder + added tooltips for options --- GUI.NET/Dependencies/resources.en.xml | 7 + GUI.NET/Dependencies/resources.es.xml | 23 + GUI.NET/Dependencies/resources.fr.xml | 23 + GUI.NET/Dependencies/resources.ja.xml | 23 + GUI.NET/Dependencies/resources.pt.xml | 23 + GUI.NET/Dependencies/resources.ru.xml | 23 + GUI.NET/Dependencies/resources.uk.xml | 23 + .../HdPackEditor/frmHdPackEditor.Designer.cs | 400 +++++++++++++----- GUI.NET/Forms/HdPackEditor/frmHdPackEditor.cs | 17 +- 9 files changed, 445 insertions(+), 117 deletions(-) diff --git a/GUI.NET/Dependencies/resources.en.xml b/GUI.NET/Dependencies/resources.en.xml index fadea465..d13e1d2b 100644 --- a/GUI.NET/Dependencies/resources.en.xml +++ b/GUI.NET/Dependencies/resources.en.xml @@ -42,7 +42,14 @@ Disk {0} Side {1} File not found: {0} The selected bios file is invalid. + This option allows Mesen to load HDNes-format HD packs if they are found. HD Packs should be placed in the "HdPacks" folder in a subfolder matching the name of the ROM. e.g: MyRom.nes should have their HD Pack in "HdPacks\MyRom\hires.txt". Note: Support for HD Packs is a work in progress and some limitations remain. + Selects the scale and video filter to use when generating the PNG files for the HD Pack. Use the "Prescale" filters to generate the tiles at a larger scale without applying any transformation to the pixels. + This option is only available for CHR RAM games. CHR RAM games have no fixed "banks" - they are dynamically created by the game's code. This option alters the HD Pack Builder's behavior when grouping the tiles into the PNG files - a smaller bank size will usually result in less PNG files (but depending on the game's code, it larger values may produce better results). + When this option is enabled, the tiles in PNG files are sorted by the frequency at which they are shown on the screen while recording (more common palettes will be grouped together in the first PNG for a specific bank number. If this option is unchecked, the PNGs will be sorted by palette - each PNG will only contain up to 4 different colors in this case. + This option groups all the blank tiles sequentially into the same PNG files - this helps reduce the number of PNG files produced by removing almost-empty PNG files containing only blank tiles. + When enabled, this option will alter the display order of CHR banks that contain only sprites to make the sprites easier to edit in the PNG file. + You are running the latest version of Mesen Patch and reset the current game? Please select a ROM matching the IPS/UPS/BPS patch file. diff --git a/GUI.NET/Dependencies/resources.es.xml b/GUI.NET/Dependencies/resources.es.xml index 58ecbc50..622268e1 100644 --- a/GUI.NET/Dependencies/resources.es.xml +++ b/GUI.NET/Dependencies/resources.es.xml @@ -87,6 +87,7 @@ Ejecutar todos los tests Depurar Ventana de log + HD Pack Builder Captura de pantalla Cargar juego aletóreo Ayuda @@ -537,6 +538,21 @@ OK Cancelar +
+ CHR Bank Preview + CHR Bank: + Recording Options + CHR Bank Size: + Scale/Filter: + Sort pages by usage frequency + Use 8x16 sprite display mode + Group blank tiles + Save Folder: + Buscar... + Start Recording + Stop Recording + Open Save Folder +
Ejemplo de uso General @@ -588,7 +604,14 @@ Disco {0} Cara {1} Archivo no encontrado: {0} La bios seleccionada no es válida. + Esta opción permite los paquetes de gráficos en alta resolución de carga Mesen en el mismo formato que los del emulador HDNes. Los paquetes de alta resolución deberán ser colocados en los "HdPacks" en una subcarpeta con el nombre de la ROM. Ejemplo: Un paquete para "MiRom.nes" debe estar colocado en "HdPacks\MiRom\hires.txt". Nota: El soporte para paquetes de alta resolución aún no es perfecto - algunas limitaciones siguen presentes. + Selects the scale and video filter to use when generating the PNG files for the HD Pack. Use the "Prescale" filters to generate the tiles at a larger scale without applying any transformation to the pixels. + This option is only available for CHR RAM games. CHR RAM games have no fixed "banks" - they are dynamically created by the game's code. This option alters the HD Pack Builder's behavior when grouping the tiles into the PNG files - a smaller bank size will usually result in less PNG files (but depending on the game's code, it larger values may produce better results). + When this option is enabled, the tiles in PNG files are sorted by the frequency at which they are shown on the screen while recording (more common palettes will be grouped together in the first PNG for a specific bank number. If this option is unchecked, the PNGs will be sorted by palette - each PNG will only contain up to 4 different colors in this case. + This option groups all the blank tiles sequentially into the same PNG files - this helps reduce the number of PNG files produced by removing almost-empty PNG files containing only blank tiles. + When enabled, this option will alter the display order of CHR banks that contain only sprites to make the sprites easier to edit in the PNG file. + Ya utiliza la versión mas reciente de Mesen. ¿Aplicar el parche y reiniciar el juego? Elija la ROM que corresponde al archivo IPS/UPS/BPS seleccionado. diff --git a/GUI.NET/Dependencies/resources.fr.xml b/GUI.NET/Dependencies/resources.fr.xml index b79b2802..9b8953fa 100644 --- a/GUI.NET/Dependencies/resources.fr.xml +++ b/GUI.NET/Dependencies/resources.fr.xml @@ -87,6 +87,7 @@ Run all tests Débogueur Fenêtre de log + Créateur de HD Packs Ouvrir un jeu aléatoire Capture d'écran Aide @@ -551,6 +552,21 @@ OK Annuler
+
+ Aperçu des banques CHR + Banque CHR : + Options d'enregistrement + Taille des banques CHR : + Taille && Filtre : + Trier par fréquence d'utilisation + Utiliser le mode d'affichage 8x16 pour les sprites + Regrouper les tiles vides + Dossier de sauvegarde : + Parcourir... + Enregistrer + Arrêter l'enregistrement + Ouvrir le dossier de sauvegarde +
Exemple d'utilisation Général @@ -603,7 +619,14 @@ Disque {0} Côté {1} Fichier non trouvé: {0} Le bios sélectionné est invalide. + Cette option permet à Mesen de charger des packages de graphiques haute-résolution dans le même format que l'émulateur HDNes. Les packages haute-résolution doivent être placés dans le dossier "HdPacks", dans un sous-dossier correspondant au nom du ROM. Exemple : Un package pour "MonRom.nes" doit être placé dans "HdPacks\MonRom\hires.txt". Note: Le support pour les packages haute-résolution n'est pas encore parfait - certaines limitations sont encore présentes. + Sélectionne la taille et le filtre à utiliser lors de la génération des fichiers PNG pour le HD Pack. Utilisez les filtres "Prescale" pour générer l'image avec une plus grande taille sans appliquer un filtre aux pixels. + Cette option est uniquement disponible pour les jeux de type CHR RAM. Les jeux CHR RAM n'ont pas de banques CHR prédéfinies - elles sont générées dynamiquement par le code. Cette option altère la façon dont le créateur de HD Packs groupe les tiles dans les fichiers PNG. Une taille de banque plus petite résulte généralement en moins de fichier PNG différents (mais les résultats varient d'un jeu à l'autre - une plus grosse valeur peut être mieux selon le jeu). + Quand cette option est activée, les tiles sont triés selon la fréquence à laquelle elles apparaissent à l'écran pendant l'enregistrement (les palettes de couleurs plus fréquentes seront regroupées dans la même image PNG pour une banque donnée. Si cette option est désactivée, les tiles seront regroupées par palette, donc chaque image PNG comportera au plus 4 couleurs différentes. + Cette option regroupe toutes les tiles "vides" dans les mêmes fichiers PNG. Ceci permet de réduire le nombre de fichiers PNG inutilement créés par le créateur de HD Packs. + Cette option change la mode d'afficher pour les banques ne contenant que des sprites. Les fichiers PNG seront créées d'une façon à favoriser l'affichage des sprites de dimension 8x16. + Vous utilisez déjà la version la plus récente de Mesen. Appliquer la patch et faire un reset du jeu? Choisissez un ROM qui correspond au fichier IPS/UPS/BPS choisi. diff --git a/GUI.NET/Dependencies/resources.ja.xml b/GUI.NET/Dependencies/resources.ja.xml index 719f3b9a..42072b8d 100644 --- a/GUI.NET/Dependencies/resources.ja.xml +++ b/GUI.NET/Dependencies/resources.ja.xml @@ -87,6 +87,7 @@ Run all tests デバッガ ログウィンドウ + HDパック作成 スクリーンショットを撮る ランダムゲームを開く ヘルプ @@ -534,6 +535,21 @@ OK キャンセル
+
+ CHRバンクプレビュー + CHRバンク: + 設定 + CHRバンクのサイズ: + 映像サイズ/画面エフェクト: + タイルを使用頻度順に並べ替えする + 8x16スプライト表示モードを使う + 空っぽなタイルとまとめて保存する + セーブフォルダ: + 参照... + 開始 + 停止 + セーブフォルダを開く +
使い方 全般 @@ -586,7 +602,14 @@ ディスク{0} {1}面 ファイルが見つかりません: {0} 選んだBIOSファイルは使えません。 + このオプションを有効にすれば、MesenはHDNesのようにHDパックをロード出来るようになります。 HDパックはMesenのフォルダの中にある「HdPacks」のフォルダにゲームと同じ名前のサブフォルダに置くと自動的にロードされます。 例)ゲームファイルは「MyRom.nes」なら、「HdPacks\MyRom」にHDパックを置くとロードされます。 この機能はまだ開発中で、不完全なところがあります、ご了承ください。 + Selects the scale and video filter to use when generating the PNG files for the HD Pack. Use the "Prescale" filters to generate the tiles at a larger scale without applying any transformation to the pixels. + This option is only available for CHR RAM games. CHR RAM games have no fixed "banks" - they are dynamically created by the game's code. This option alters the HD Pack Builder's behavior when grouping the tiles into the PNG files - a smaller bank size will usually result in less PNG files (but depending on the game's code, it larger values may produce better results). + When this option is enabled, the tiles in PNG files are sorted by the frequency at which they are shown on the screen while recording (more common palettes will be grouped together in the first PNG for a specific bank number. If this option is unchecked, the PNGs will be sorted by palette - each PNG will only contain up to 4 different colors in this case. + This option groups all the blank tiles sequentially into the same PNG files - this helps reduce the number of PNG files produced by removing almost-empty PNG files containing only blank tiles. + When enabled, this option will alter the display order of CHR banks that contain only sprites to make the sprites easier to edit in the PNG file. + 既にMesenの最新のバージョンを使っています。 パッチファイルを当てて、ゲームをリセットしますか? パッチファイルに合うゲームファイルを選んでください。 diff --git a/GUI.NET/Dependencies/resources.pt.xml b/GUI.NET/Dependencies/resources.pt.xml index 9ca6b69d..868abf5f 100644 --- a/GUI.NET/Dependencies/resources.pt.xml +++ b/GUI.NET/Dependencies/resources.pt.xml @@ -87,6 +87,7 @@ Executar todos os testes Depurar Janela de log + HD Pack Builder Tirar screenshot Carregar Jogo Aleatório Ajuda @@ -537,6 +538,21 @@ OK Cancelar
+
+ CHR Bank Preview + CHR Bank: + Recording Options + CHR Bank Size: + Scale/Filter: + Sort pages by usage frequency + Use 8x16 sprite display mode + Group blank tiles + Save Folder: + Browse... + Start Recording + Stop Recording + Open Save Folder +
Usage example General @@ -588,7 +604,14 @@ Disco {0} Cara {1} Arquivo não encontrado: {0} A bios selecionada não é válida. + Esta opção permite os pacotes de gráficos de alta resolução sejam carregados no mesmo formato que os do emulador HDNes. Os pacotes de alta resolução devem ser colocados nos "HdPacks" em uma subpasta com o mesmo nome da ROM. Exemplo: Um pacote para "MinhaRom.nes" deve ser colocado em "HdPacks\MinhaRom\hires.txt". Nota: O suporte para os pacotes de alta resolução não é perfeito - algumas limitações seguem presentes. + Selects the scale and video filter to use when generating the PNG files for the HD Pack. Use the "Prescale" filters to generate the tiles at a larger scale without applying any transformation to the pixels. + This option is only available for CHR RAM games. CHR RAM games have no fixed "banks" - they are dynamically created by the game's code. This option alters the HD Pack Builder's behavior when grouping the tiles into the PNG files - a smaller bank size will usually result in less PNG files (but depending on the game's code, it larger values may produce better results). + When this option is enabled, the tiles in PNG files are sorted by the frequency at which they are shown on the screen while recording (more common palettes will be grouped together in the first PNG for a specific bank number. If this option is unchecked, the PNGs will be sorted by palette - each PNG will only contain up to 4 different colors in this case. + This option groups all the blank tiles sequentially into the same PNG files - this helps reduce the number of PNG files produced by removing almost-empty PNG files containing only blank tiles. + When enabled, this option will alter the display order of CHR banks that contain only sprites to make the sprites easier to edit in the PNG file. + Já utiliza a versão mais recente do Mesen. Aplicar o patch e reiniciar o jogo? Selecione a ROM que corresponde ao arquivo IPS/UPS/BPS selecionado. diff --git a/GUI.NET/Dependencies/resources.ru.xml b/GUI.NET/Dependencies/resources.ru.xml index 762a2c93..defe7897 100644 --- a/GUI.NET/Dependencies/resources.ru.xml +++ b/GUI.NET/Dependencies/resources.ru.xml @@ -87,6 +87,7 @@ Запустить все тесты Отладчик Лог + HD Pack Builder Сделать скриншот Load Random Game Помощь @@ -541,6 +542,21 @@ OK Отмена
+
+ CHR Bank Preview + CHR Bank: + Recording Options + CHR Bank Size: + Scale/Filter: + Sort pages by usage frequency + Use 8x16 sprite display mode + Group blank tiles + Save Folder: + Browse... + Start Recording + Stop Recording + Open Save Folder +
Usage example General @@ -593,7 +609,14 @@ Диск {0} Сторона {1} Файл не найден: {0} Выбранный биос некорректный. + Данная опция позволяет использовать HD packs для эмулятора HDNes если они найдены. HD Packs должны быть помещены в папку "HdPacks" в папке с именем совпадающем с именем ROM. например: HD Pack для MyRom.nes должны лежать в "HdPacks\MyRom\hires.txt". Замечание: Поддержка HD Packs не закончена и имеет ряд ограничений. + Selects the scale and video filter to use when generating the PNG files for the HD Pack. Use the "Prescale" filters to generate the tiles at a larger scale without applying any transformation to the pixels. + This option is only available for CHR RAM games. CHR RAM games have no fixed "banks" - they are dynamically created by the game's code. This option alters the HD Pack Builder's behavior when grouping the tiles into the PNG files - a smaller bank size will usually result in less PNG files (but depending on the game's code, it larger values may produce better results). + When this option is enabled, the tiles in PNG files are sorted by the frequency at which they are shown on the screen while recording (more common palettes will be grouped together in the first PNG for a specific bank number. If this option is unchecked, the PNGs will be sorted by palette - each PNG will only contain up to 4 different colors in this case. + This option groups all the blank tiles sequentially into the same PNG files - this helps reduce the number of PNG files produced by removing almost-empty PNG files containing only blank tiles. + When enabled, this option will alter the display order of CHR banks that contain only sprites to make the sprites easier to edit in the PNG file. + Вы используете последнюю версию Mesen Пропатчить и сбросить текущую игру? Пожалуйста выберите ROM соответствующий IPS/UPS. diff --git a/GUI.NET/Dependencies/resources.uk.xml b/GUI.NET/Dependencies/resources.uk.xml index a8d2181d..5a04982e 100644 --- a/GUI.NET/Dependencies/resources.uk.xml +++ b/GUI.NET/Dependencies/resources.uk.xml @@ -87,6 +87,7 @@ Запустіті всі тести Налагодження Лог + HD Pack Builder Зробити скріншот Завантажити випадкову гру Допомога @@ -541,6 +542,21 @@ OK Вiдмiна
+
+ CHR Bank Preview + CHR Bank: + Recording Options + CHR Bank Size: + Scale/Filter: + Sort pages by usage frequency + Use 8x16 sprite display mode + Group blank tiles + Save Folder: + Огляд... + Start Recording + Stop Recording + Open Save Folder +
Приклад використання Загальний @@ -593,7 +609,14 @@ Диск {0} Сторона {1} Файл не знайдено: {0} Обраний биос некоректний. + Дана опція дозволяє використовувати HD packs для емулятора HDNes якщо вони знайдени. HD Packs повинні бути поміщені в папку "HdPacks" в папці з ім'ям збігається з ім'ям ROM. наприклад: HD Pack для MyRom.nes повинні лежати в "HdPacks\MyRom\hires.txt". Зауваження: Підтримка HD Packs не закінчена і має ряд обмежень. + Selects the scale and video filter to use when generating the PNG files for the HD Pack. Use the "Prescale" filters to generate the tiles at a larger scale without applying any transformation to the pixels. + This option is only available for CHR RAM games. CHR RAM games have no fixed "banks" - they are dynamically created by the game's code. This option alters the HD Pack Builder's behavior when grouping the tiles into the PNG files - a smaller bank size will usually result in less PNG files (but depending on the game's code, it larger values may produce better results). + When this option is enabled, the tiles in PNG files are sorted by the frequency at which they are shown on the screen while recording (more common palettes will be grouped together in the first PNG for a specific bank number. If this option is unchecked, the PNGs will be sorted by palette - each PNG will only contain up to 4 different colors in this case. + This option groups all the blank tiles sequentially into the same PNG files - this helps reduce the number of PNG files produced by removing almost-empty PNG files containing only blank tiles. + When enabled, this option will alter the display order of CHR banks that contain only sprites to make the sprites easier to edit in the PNG file. + Ви використовуєте останню версію Mesen Пропатчити і скинути поточну гру? Будь ласка, оберіть ROM відповідний IPS/UPS. diff --git a/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.Designer.cs b/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.Designer.cs index 83ac6cdd..f6737fdc 100644 --- a/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.Designer.cs +++ b/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.Designer.cs @@ -29,21 +29,31 @@ { this.components = new System.ComponentModel.Container(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.btnOpenFolder = new System.Windows.Forms.Button(); this.grpPreview = new System.Windows.Forms.GroupBox(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); this.picBankPreview = new System.Windows.Forms.PictureBox(); this.cboBank = new System.Windows.Forms.ComboBox(); - this.label1 = new System.Windows.Forms.Label(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.lblChrBank = new System.Windows.Forms.Label(); + this.grpOptions = new System.Windows.Forms.GroupBox(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.cboChrBankSize = new System.Windows.Forms.ComboBox(); this.lblBankSize = new System.Windows.Forms.Label(); this.lblScale = new System.Windows.Forms.Label(); - this.cboScale = new System.Windows.Forms.ComboBox(); - this.chkSortByFrequency = new System.Windows.Forms.CheckBox(); - this.chkLargeSprites = new System.Windows.Forms.CheckBox(); + this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel(); this.chkGroupBlankTiles = new System.Windows.Forms.CheckBox(); - this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.picGroupBlankHelp = new System.Windows.Forms.PictureBox(); + this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel(); + this.chkSortByFrequency = new System.Windows.Forms.CheckBox(); + this.picFrequencyHelp = new System.Windows.Forms.PictureBox(); + this.flowLayoutPanel5 = new System.Windows.Forms.FlowLayoutPanel(); + this.chkLargeSprites = new System.Windows.Forms.CheckBox(); + this.picLargeSpritesHelp = new System.Windows.Forms.PictureBox(); + this.flpBankSize = new System.Windows.Forms.FlowLayoutPanel(); + this.cboChrBankSize = new System.Windows.Forms.ComboBox(); + this.picBankSizeHelp = new System.Windows.Forms.PictureBox(); + this.flowLayoutPanel6 = new System.Windows.Forms.FlowLayoutPanel(); + this.cboScale = new System.Windows.Forms.ComboBox(); + this.picScaleHelp = new System.Windows.Forms.PictureBox(); this.lblFolder = new System.Windows.Forms.Label(); this.txtSaveFolder = new System.Windows.Forms.TextBox(); this.btnSelectFolder = new System.Windows.Forms.Button(); @@ -51,14 +61,25 @@ this.btnStartRecording = new System.Windows.Forms.Button(); this.btnStopRecording = new System.Windows.Forms.Button(); this.tmrRefresh = new System.Windows.Forms.Timer(this.components); + this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel1.SuspendLayout(); this.grpPreview.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.picBankPreview)).BeginInit(); - this.groupBox1.SuspendLayout(); + this.grpOptions.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.flowLayoutPanel1.SuspendLayout(); + this.flowLayoutPanel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picGroupBlankHelp)).BeginInit(); + this.flowLayoutPanel4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picFrequencyHelp)).BeginInit(); + this.flowLayoutPanel5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picLargeSpritesHelp)).BeginInit(); + this.flpBankSize.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picBankSizeHelp)).BeginInit(); + this.flowLayoutPanel6.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picScaleHelp)).BeginInit(); this.flowLayoutPanel2.SuspendLayout(); + this.tableLayoutPanel4.SuspendLayout(); this.SuspendLayout(); // // tableLayoutPanel1 @@ -66,25 +87,41 @@ this.tableLayoutPanel1.ColumnCount = 2; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Controls.Add(this.grpPreview, 1, 1); - this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 1); - this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 0, 0); - this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel2, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.btnOpenFolder, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.grpPreview, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.grpOptions, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel2, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel4, 0, 0); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; - this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowCount = 4; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(612, 376); + this.tableLayoutPanel1.Size = new System.Drawing.Size(612, 374); this.tableLayoutPanel1.TabIndex = 0; // + // btnOpenFolder + // + this.btnOpenFolder.AutoSize = true; + this.btnOpenFolder.Image = global::Mesen.GUI.Properties.Resources.FolderOpen; + this.btnOpenFolder.Location = new System.Drawing.Point(3, 348); + this.btnOpenFolder.Name = "btnOpenFolder"; + this.btnOpenFolder.Size = new System.Drawing.Size(119, 23); + this.btnOpenFolder.TabIndex = 8; + this.btnOpenFolder.Text = "Open Save Folder"; + this.btnOpenFolder.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.btnOpenFolder.UseVisualStyleBackColor = true; + this.btnOpenFolder.Visible = false; + this.btnOpenFolder.Click += new System.EventHandler(this.btnOpenFolder_Click); + // // grpPreview // this.grpPreview.Controls.Add(this.tableLayoutPanel3); this.grpPreview.Dock = System.Windows.Forms.DockStyle.Fill; - this.grpPreview.Location = new System.Drawing.Point(340, 31); + this.grpPreview.Location = new System.Drawing.Point(340, 32); this.grpPreview.Name = "grpPreview"; this.grpPreview.Size = new System.Drawing.Size(269, 310); this.grpPreview.TabIndex = 0; @@ -98,7 +135,7 @@ this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel3.Controls.Add(this.picBankPreview, 0, 1); this.tableLayoutPanel3.Controls.Add(this.cboBank, 1, 0); - this.tableLayoutPanel3.Controls.Add(this.label1, 0, 0); + this.tableLayoutPanel3.Controls.Add(this.lblChrBank, 0, 0); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(3, 16); this.tableLayoutPanel3.Name = "tableLayoutPanel3"; @@ -127,43 +164,44 @@ this.cboBank.Size = new System.Drawing.Size(121, 21); this.cboBank.TabIndex = 1; // - // label1 + // lblChrBank // - this.label1.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(3, 7); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(61, 13); - this.label1.TabIndex = 3; - this.label1.Text = "CHR Bank:"; + this.lblChrBank.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblChrBank.AutoSize = true; + this.lblChrBank.Location = new System.Drawing.Point(3, 7); + this.lblChrBank.Name = "lblChrBank"; + this.lblChrBank.Size = new System.Drawing.Size(61, 13); + this.lblChrBank.TabIndex = 3; + this.lblChrBank.Text = "CHR Bank:"; // - // groupBox1 + // grpOptions // - this.groupBox1.Controls.Add(this.tableLayoutPanel2); - this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox1.Location = new System.Drawing.Point(3, 31); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(331, 310); - this.groupBox1.TabIndex = 4; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Options"; + this.grpOptions.Controls.Add(this.tableLayoutPanel2); + this.grpOptions.Dock = System.Windows.Forms.DockStyle.Fill; + this.grpOptions.Location = new System.Drawing.Point(3, 32); + this.grpOptions.Name = "grpOptions"; + this.grpOptions.Size = new System.Drawing.Size(331, 310); + this.grpOptions.TabIndex = 4; + this.grpOptions.TabStop = false; + this.grpOptions.Text = "Recording Options"; // // tableLayoutPanel2 // this.tableLayoutPanel2.ColumnCount = 2; this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel2.Controls.Add(this.cboChrBankSize, 1, 1); this.tableLayoutPanel2.Controls.Add(this.lblBankSize, 0, 1); this.tableLayoutPanel2.Controls.Add(this.lblScale, 0, 0); - this.tableLayoutPanel2.Controls.Add(this.cboScale, 1, 0); - this.tableLayoutPanel2.Controls.Add(this.chkSortByFrequency, 0, 2); - this.tableLayoutPanel2.Controls.Add(this.chkLargeSprites, 0, 4); - this.tableLayoutPanel2.Controls.Add(this.chkGroupBlankTiles, 0, 3); + this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel3, 0, 2); + this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel4, 0, 3); + this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel5, 0, 4); + this.tableLayoutPanel2.Controls.Add(this.flpBankSize, 1, 1); + this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel6, 1, 0); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 16); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; - this.tableLayoutPanel2.RowCount = 5; + this.tableLayoutPanel2.RowCount = 6; + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle()); @@ -173,24 +211,11 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(325, 291); this.tableLayoutPanel2.TabIndex = 0; // - // cboChrBankSize - // - this.cboChrBankSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboChrBankSize.FormattingEnabled = true; - this.cboChrBankSize.Items.AddRange(new object[] { - "1 KB", - "2 KB", - "4 KB"}); - this.cboChrBankSize.Location = new System.Drawing.Point(93, 30); - this.cboChrBankSize.Name = "cboChrBankSize"; - this.cboChrBankSize.Size = new System.Drawing.Size(121, 21); - this.cboChrBankSize.TabIndex = 10; - // // lblBankSize // this.lblBankSize.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblBankSize.AutoSize = true; - this.lblBankSize.Location = new System.Drawing.Point(3, 34); + this.lblBankSize.Location = new System.Drawing.Point(3, 29); this.lblBankSize.Name = "lblBankSize"; this.lblBankSize.Size = new System.Drawing.Size(84, 13); this.lblBankSize.TabIndex = 9; @@ -200,70 +225,170 @@ // this.lblScale.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblScale.AutoSize = true; - this.lblScale.Location = new System.Drawing.Point(3, 7); + this.lblScale.Location = new System.Drawing.Point(3, 5); this.lblScale.Name = "lblScale"; this.lblScale.Size = new System.Drawing.Size(64, 13); this.lblScale.TabIndex = 4; this.lblScale.Text = "Scale/Filter:"; // - // cboScale + // flowLayoutPanel3 // - this.cboScale.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboScale.FormattingEnabled = true; - this.cboScale.Location = new System.Drawing.Point(93, 3); - this.cboScale.Name = "cboScale"; - this.cboScale.Size = new System.Drawing.Size(121, 21); - this.cboScale.TabIndex = 5; - // - // chkSortByFrequency - // - this.chkSortByFrequency.AutoSize = true; - this.chkSortByFrequency.Checked = true; - this.chkSortByFrequency.CheckState = System.Windows.Forms.CheckState.Checked; - this.tableLayoutPanel2.SetColumnSpan(this.chkSortByFrequency, 2); - this.chkSortByFrequency.Location = new System.Drawing.Point(3, 57); - this.chkSortByFrequency.Name = "chkSortByFrequency"; - this.chkSortByFrequency.Size = new System.Drawing.Size(173, 17); - this.chkSortByFrequency.TabIndex = 3; - this.chkSortByFrequency.Text = "Sort pages by usage frequency"; - this.chkSortByFrequency.UseVisualStyleBackColor = true; - // - // chkLargeSprites - // - this.chkLargeSprites.AutoSize = true; - this.tableLayoutPanel2.SetColumnSpan(this.chkLargeSprites, 2); - this.chkLargeSprites.Location = new System.Drawing.Point(3, 103); - this.chkLargeSprites.Name = "chkLargeSprites"; - this.chkLargeSprites.Size = new System.Drawing.Size(163, 17); - this.chkLargeSprites.TabIndex = 8; - this.chkLargeSprites.Text = "Use 8x16 sprite display mode"; - this.chkLargeSprites.UseVisualStyleBackColor = true; + this.tableLayoutPanel2.SetColumnSpan(this.flowLayoutPanel3, 2); + this.flowLayoutPanel3.Controls.Add(this.chkGroupBlankTiles); + this.flowLayoutPanel3.Controls.Add(this.picGroupBlankHelp); + this.flowLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel3.Location = new System.Drawing.Point(0, 48); + this.flowLayoutPanel3.Margin = new System.Windows.Forms.Padding(0); + this.flowLayoutPanel3.Name = "flowLayoutPanel3"; + this.flowLayoutPanel3.Size = new System.Drawing.Size(325, 22); + this.flowLayoutPanel3.TabIndex = 12; // // chkGroupBlankTiles // this.chkGroupBlankTiles.AutoSize = true; this.chkGroupBlankTiles.Checked = true; this.chkGroupBlankTiles.CheckState = System.Windows.Forms.CheckState.Checked; - this.tableLayoutPanel2.SetColumnSpan(this.chkGroupBlankTiles, 2); - this.chkGroupBlankTiles.Location = new System.Drawing.Point(3, 80); + this.chkGroupBlankTiles.Location = new System.Drawing.Point(3, 3); this.chkGroupBlankTiles.Name = "chkGroupBlankTiles"; this.chkGroupBlankTiles.Size = new System.Drawing.Size(105, 17); this.chkGroupBlankTiles.TabIndex = 11; this.chkGroupBlankTiles.Text = "Group blank tiles"; this.chkGroupBlankTiles.UseVisualStyleBackColor = true; // - // flowLayoutPanel1 + // picGroupBlankHelp // - this.tableLayoutPanel1.SetColumnSpan(this.flowLayoutPanel1, 2); - this.flowLayoutPanel1.Controls.Add(this.lblFolder); - this.flowLayoutPanel1.Controls.Add(this.txtSaveFolder); - this.flowLayoutPanel1.Controls.Add(this.btnSelectFolder); - this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); - this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0); - this.flowLayoutPanel1.Name = "flowLayoutPanel1"; - this.flowLayoutPanel1.Size = new System.Drawing.Size(612, 28); - this.flowLayoutPanel1.TabIndex = 5; + this.picGroupBlankHelp.Image = global::Mesen.GUI.Properties.Resources.Help; + this.picGroupBlankHelp.Location = new System.Drawing.Point(114, 3); + this.picGroupBlankHelp.Name = "picGroupBlankHelp"; + this.picGroupBlankHelp.Size = new System.Drawing.Size(16, 16); + this.picGroupBlankHelp.TabIndex = 12; + this.picGroupBlankHelp.TabStop = false; + // + // flowLayoutPanel4 + // + this.tableLayoutPanel2.SetColumnSpan(this.flowLayoutPanel4, 2); + this.flowLayoutPanel4.Controls.Add(this.chkSortByFrequency); + this.flowLayoutPanel4.Controls.Add(this.picFrequencyHelp); + this.flowLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel4.Location = new System.Drawing.Point(0, 70); + this.flowLayoutPanel4.Margin = new System.Windows.Forms.Padding(0); + this.flowLayoutPanel4.Name = "flowLayoutPanel4"; + this.flowLayoutPanel4.Size = new System.Drawing.Size(325, 22); + this.flowLayoutPanel4.TabIndex = 13; + // + // chkSortByFrequency + // + this.chkSortByFrequency.AutoSize = true; + this.chkSortByFrequency.Checked = true; + this.chkSortByFrequency.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkSortByFrequency.Location = new System.Drawing.Point(3, 3); + this.chkSortByFrequency.Name = "chkSortByFrequency"; + this.chkSortByFrequency.Size = new System.Drawing.Size(173, 17); + this.chkSortByFrequency.TabIndex = 3; + this.chkSortByFrequency.Text = "Sort pages by usage frequency"; + this.chkSortByFrequency.UseVisualStyleBackColor = true; + // + // picFrequencyHelp + // + this.picFrequencyHelp.Image = global::Mesen.GUI.Properties.Resources.Help; + this.picFrequencyHelp.Location = new System.Drawing.Point(182, 3); + this.picFrequencyHelp.Name = "picFrequencyHelp"; + this.picFrequencyHelp.Size = new System.Drawing.Size(16, 16); + this.picFrequencyHelp.TabIndex = 12; + this.picFrequencyHelp.TabStop = false; + // + // flowLayoutPanel5 + // + this.tableLayoutPanel2.SetColumnSpan(this.flowLayoutPanel5, 2); + this.flowLayoutPanel5.Controls.Add(this.chkLargeSprites); + this.flowLayoutPanel5.Controls.Add(this.picLargeSpritesHelp); + this.flowLayoutPanel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel5.Location = new System.Drawing.Point(0, 92); + this.flowLayoutPanel5.Margin = new System.Windows.Forms.Padding(0); + this.flowLayoutPanel5.Name = "flowLayoutPanel5"; + this.flowLayoutPanel5.Size = new System.Drawing.Size(325, 22); + this.flowLayoutPanel5.TabIndex = 14; + // + // chkLargeSprites + // + this.chkLargeSprites.AutoSize = true; + this.chkLargeSprites.Location = new System.Drawing.Point(3, 3); + this.chkLargeSprites.Name = "chkLargeSprites"; + this.chkLargeSprites.Size = new System.Drawing.Size(163, 17); + this.chkLargeSprites.TabIndex = 8; + this.chkLargeSprites.Text = "Use 8x16 sprite display mode"; + this.chkLargeSprites.UseVisualStyleBackColor = true; + // + // picLargeSpritesHelp + // + this.picLargeSpritesHelp.Image = global::Mesen.GUI.Properties.Resources.Help; + this.picLargeSpritesHelp.Location = new System.Drawing.Point(172, 3); + this.picLargeSpritesHelp.Name = "picLargeSpritesHelp"; + this.picLargeSpritesHelp.Size = new System.Drawing.Size(16, 16); + this.picLargeSpritesHelp.TabIndex = 12; + this.picLargeSpritesHelp.TabStop = false; + // + // flpBankSize + // + this.flpBankSize.Controls.Add(this.cboChrBankSize); + this.flpBankSize.Controls.Add(this.picBankSizeHelp); + this.flpBankSize.Location = new System.Drawing.Point(90, 24); + this.flpBankSize.Margin = new System.Windows.Forms.Padding(0); + this.flpBankSize.Name = "flpBankSize"; + this.flpBankSize.Size = new System.Drawing.Size(235, 24); + this.flpBankSize.TabIndex = 15; + // + // cboChrBankSize + // + this.cboChrBankSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboChrBankSize.FormattingEnabled = true; + this.cboChrBankSize.Items.AddRange(new object[] { + "1 KB", + "2 KB", + "4 KB"}); + this.cboChrBankSize.Location = new System.Drawing.Point(3, 3); + this.cboChrBankSize.Name = "cboChrBankSize"; + this.cboChrBankSize.Size = new System.Drawing.Size(121, 21); + this.cboChrBankSize.TabIndex = 10; + // + // picBankSizeHelp + // + this.picBankSizeHelp.Image = global::Mesen.GUI.Properties.Resources.Help; + this.picBankSizeHelp.Location = new System.Drawing.Point(130, 5); + this.picBankSizeHelp.Margin = new System.Windows.Forms.Padding(3, 5, 3, 3); + this.picBankSizeHelp.Name = "picBankSizeHelp"; + this.picBankSizeHelp.Size = new System.Drawing.Size(16, 16); + this.picBankSizeHelp.TabIndex = 12; + this.picBankSizeHelp.TabStop = false; + // + // flowLayoutPanel6 + // + this.flowLayoutPanel6.Controls.Add(this.cboScale); + this.flowLayoutPanel6.Controls.Add(this.picScaleHelp); + this.flowLayoutPanel6.Location = new System.Drawing.Point(90, 0); + this.flowLayoutPanel6.Margin = new System.Windows.Forms.Padding(0); + this.flowLayoutPanel6.Name = "flowLayoutPanel6"; + this.flowLayoutPanel6.Size = new System.Drawing.Size(235, 24); + this.flowLayoutPanel6.TabIndex = 16; + // + // cboScale + // + this.cboScale.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboScale.FormattingEnabled = true; + this.cboScale.Location = new System.Drawing.Point(3, 3); + this.cboScale.Name = "cboScale"; + this.cboScale.Size = new System.Drawing.Size(121, 21); + this.cboScale.TabIndex = 5; + // + // picScaleHelp + // + this.picScaleHelp.Image = global::Mesen.GUI.Properties.Resources.Help; + this.picScaleHelp.Location = new System.Drawing.Point(130, 5); + this.picScaleHelp.Margin = new System.Windows.Forms.Padding(3, 5, 3, 3); + this.picScaleHelp.Name = "picScaleHelp"; + this.picScaleHelp.Size = new System.Drawing.Size(16, 16); + this.picScaleHelp.TabIndex = 12; + this.picScaleHelp.TabStop = false; // // lblFolder // @@ -277,22 +402,22 @@ // // txtSaveFolder // - this.txtSaveFolder.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.txtSaveFolder.Location = new System.Drawing.Point(76, 4); + this.txtSaveFolder.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtSaveFolder.Location = new System.Drawing.Point(76, 3); this.txtSaveFolder.Name = "txtSaveFolder"; this.txtSaveFolder.ReadOnly = true; - this.txtSaveFolder.Size = new System.Drawing.Size(443, 20); + this.txtSaveFolder.Size = new System.Drawing.Size(465, 20); this.txtSaveFolder.TabIndex = 1; this.txtSaveFolder.TabStop = false; // // btnSelectFolder // this.btnSelectFolder.AutoSize = true; - this.btnSelectFolder.Location = new System.Drawing.Point(525, 3); + this.btnSelectFolder.Location = new System.Drawing.Point(547, 3); this.btnSelectFolder.Name = "btnSelectFolder"; - this.btnSelectFolder.Size = new System.Drawing.Size(80, 23); + this.btnSelectFolder.Size = new System.Drawing.Size(62, 23); this.btnSelectFolder.TabIndex = 8; - this.btnSelectFolder.Text = "Select Folder"; + this.btnSelectFolder.Text = "Browse..."; this.btnSelectFolder.UseVisualStyleBackColor = true; this.btnSelectFolder.Click += new System.EventHandler(this.btnSelectFolder_Click); // @@ -302,8 +427,8 @@ this.flowLayoutPanel2.Controls.Add(this.btnStartRecording); this.flowLayoutPanel2.Controls.Add(this.btnStopRecording); this.flowLayoutPanel2.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.flowLayoutPanel2.Location = new System.Drawing.Point(348, 350); - this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(0, 0, 0, 0); + this.flowLayoutPanel2.Location = new System.Drawing.Point(348, 345); + this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(0, 0, 0, 3); this.flowLayoutPanel2.Name = "flowLayoutPanel2"; this.flowLayoutPanel2.Size = new System.Drawing.Size(264, 26); this.flowLayoutPanel2.TabIndex = 7; @@ -312,6 +437,7 @@ // this.btnStartRecording.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnStartRecording.AutoSize = true; + this.btnStartRecording.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.btnStartRecording.Image = global::Mesen.GUI.Properties.Resources.Record; this.btnStartRecording.Location = new System.Drawing.Point(154, 3); this.btnStartRecording.Name = "btnStartRecording"; @@ -329,7 +455,7 @@ this.btnStopRecording.Image = global::Mesen.GUI.Properties.Resources.Stop; this.btnStopRecording.Location = new System.Drawing.Point(41, 3); this.btnStopRecording.Name = "btnStopRecording"; - this.btnStopRecording.Size = new System.Drawing.Size(107, 23); + this.btnStopRecording.Size = new System.Drawing.Size(107, 24); this.btnStopRecording.TabIndex = 7; this.btnStopRecording.Text = "Stop Recording"; this.btnStopRecording.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; @@ -342,11 +468,30 @@ this.tmrRefresh.Interval = 200; this.tmrRefresh.Tick += new System.EventHandler(this.tmrRefresh_Tick); // + // tableLayoutPanel4 + // + this.tableLayoutPanel4.ColumnCount = 3; + this.tableLayoutPanel1.SetColumnSpan(this.tableLayoutPanel4, 2); + this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel4.Controls.Add(this.btnSelectFolder, 2, 0); + this.tableLayoutPanel4.Controls.Add(this.txtSaveFolder, 1, 0); + this.tableLayoutPanel4.Controls.Add(this.lblFolder, 0, 0); + this.tableLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel4.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel4.Margin = new System.Windows.Forms.Padding(0, 0, 0, 0); + this.tableLayoutPanel4.Name = "tableLayoutPanel4"; + this.tableLayoutPanel4.RowCount = 1; + this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel4.Size = new System.Drawing.Size(612, 29); + this.tableLayoutPanel4.TabIndex = 9; + // // frmHdPackEditor // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(612, 376); + this.ClientSize = new System.Drawing.Size(612, 374); this.Controls.Add(this.tableLayoutPanel1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; @@ -354,17 +499,31 @@ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "HD Pack Builder"; this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); this.grpPreview.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.tableLayoutPanel3.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.picBankPreview)).EndInit(); - this.groupBox1.ResumeLayout(false); + this.grpOptions.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); this.tableLayoutPanel2.PerformLayout(); - this.flowLayoutPanel1.ResumeLayout(false); - this.flowLayoutPanel1.PerformLayout(); + this.flowLayoutPanel3.ResumeLayout(false); + this.flowLayoutPanel3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picGroupBlankHelp)).EndInit(); + this.flowLayoutPanel4.ResumeLayout(false); + this.flowLayoutPanel4.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picFrequencyHelp)).EndInit(); + this.flowLayoutPanel5.ResumeLayout(false); + this.flowLayoutPanel5.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picLargeSpritesHelp)).EndInit(); + this.flpBankSize.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.picBankSizeHelp)).EndInit(); + this.flowLayoutPanel6.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.picScaleHelp)).EndInit(); this.flowLayoutPanel2.ResumeLayout(false); this.flowLayoutPanel2.PerformLayout(); + this.tableLayoutPanel4.ResumeLayout(false); + this.tableLayoutPanel4.PerformLayout(); this.ResumeLayout(false); } @@ -378,14 +537,13 @@ private System.Windows.Forms.ComboBox cboBank; private System.Windows.Forms.CheckBox chkSortByFrequency; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label lblChrBank; + private System.Windows.Forms.GroupBox grpOptions; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; private System.Windows.Forms.Label lblScale; private System.Windows.Forms.ComboBox cboScale; private System.Windows.Forms.Button btnStartRecording; private System.Windows.Forms.CheckBox chkLargeSprites; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; private System.Windows.Forms.Label lblFolder; private System.Windows.Forms.TextBox txtSaveFolder; private System.Windows.Forms.Button btnSelectFolder; @@ -394,5 +552,17 @@ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2; private System.Windows.Forms.Button btnStopRecording; private System.Windows.Forms.CheckBox chkGroupBlankTiles; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3; + private System.Windows.Forms.PictureBox picGroupBlankHelp; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4; + private System.Windows.Forms.PictureBox picFrequencyHelp; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel5; + private System.Windows.Forms.PictureBox picLargeSpritesHelp; + private System.Windows.Forms.FlowLayoutPanel flpBankSize; + private System.Windows.Forms.PictureBox picBankSizeHelp; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel6; + private System.Windows.Forms.PictureBox picScaleHelp; + private System.Windows.Forms.Button btnOpenFolder; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4; } } \ No newline at end of file diff --git a/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.cs b/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.cs index a014080b..7cac9ca1 100644 --- a/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.cs +++ b/GUI.NET/Forms/HdPackEditor/frmHdPackEditor.cs @@ -24,7 +24,7 @@ namespace Mesen.GUI.Forms.HdPackEditor InitializeComponent(); if(!InteropEmu.GetRomInfo().IsChrRam) { - cboChrBankSize.Visible = false; + flpBankSize.Visible = false; lblBankSize.Visible = false; } @@ -35,6 +35,12 @@ namespace Mesen.GUI.Forms.HdPackEditor cboChrBankSize.SelectedIndex = 2; + toolTip.SetToolTip(picScaleHelp, ResourceHelper.GetMessage("HdPackBuilderScaleHelp")); + toolTip.SetToolTip(picBankSizeHelp, ResourceHelper.GetMessage("HdPackBuilderBankSizeHelp")); + toolTip.SetToolTip(picFrequencyHelp, ResourceHelper.GetMessage("HdPackBuilderFrequencyHelp")); + toolTip.SetToolTip(picGroupBlankHelp, ResourceHelper.GetMessage("HdPackBuilderGroupBlankHelp")); + toolTip.SetToolTip(picLargeSpritesHelp, ResourceHelper.GetMessage("HdPackBuilderLargeSpritesHelp")); + UpdateUI(false); } @@ -156,6 +162,13 @@ namespace Mesen.GUI.Forms.HdPackEditor UpdateFilterDropdown(); UpdateUI(false); + + btnOpenFolder.Visible = true; + } + + private void btnOpenFolder_Click(object sender, EventArgs e) + { + System.Diagnostics.Process.Start(this.txtSaveFolder.Text); } private void btnSelectFolder_Click(object sender, EventArgs e) @@ -190,7 +203,7 @@ namespace Mesen.GUI.Forms.HdPackEditor } private FilterInfo[] _filters = { - new FilterInfo() { Name = "None (1x)", FilterType = ScaleFilterType.Prescale, Scale = 1 }, + new FilterInfo() { Name = ResourceHelper.GetEnumText(VideoFilterType.None) + " (1x)", FilterType = ScaleFilterType.Prescale, Scale = 1 }, new FilterInfo() { Name = ResourceHelper.GetEnumText(VideoFilterType.Prescale2x), FilterType = ScaleFilterType.Prescale, Scale = 2 }, new FilterInfo() { Name = ResourceHelper.GetEnumText(VideoFilterType.Prescale3x), FilterType = ScaleFilterType.Prescale, Scale = 3 }, new FilterInfo() { Name = ResourceHelper.GetEnumText(VideoFilterType.Prescale4x), FilterType = ScaleFilterType.Prescale, Scale = 4 },