diff --git a/FriishProduce/SettingsForm.Designer.cs b/FriishProduce/SettingsForm.Designer.cs
index 3c4f1a51..4c2d49c5 100644
--- a/FriishProduce/SettingsForm.Designer.cs
+++ b/FriishProduce/SettingsForm.Designer.cs
@@ -1186,6 +1186,9 @@ private void InitializeComponent()
this.ControlBox = false;
this.Controls.Add(this.bottomPanel2);
this.Controls.Add(this.TreeView);
+ this.Controls.Add(this.bios_files);
+ this.Controls.Add(this.panel2);
+ this.Controls.Add(this.panel1);
this.Controls.Add(this.adobe_flash);
this.Controls.Add(this.forwarder);
this.Controls.Add(this.vc_nes);
@@ -1195,9 +1198,6 @@ private void InitializeComponent()
this.Controls.Add(this.vc_pce);
this.Controls.Add(this.vc_neo);
this.Controls.Add(this.default_injection_methods);
- this.Controls.Add(this.bios_files);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.KeyPreview = true;
this.MaximizeBox = false;
diff --git a/FriishProduce/SettingsForm.cs b/FriishProduce/SettingsForm.cs
index 3648f890..5b63256a 100644
--- a/FriishProduce/SettingsForm.cs
+++ b/FriishProduce/SettingsForm.cs
@@ -602,7 +602,7 @@ private void BrowseBIOS(object sender, EventArgs e)
ImportBIOS.DefaultExt = "rom";
}
- // ImportBIOS.Filter += Program.Lang.String("filter");
+ ImportBIOS.Filter += "|" + Program.Lang.String("filter.zip") + Program.Lang.String("filter");
var dialog = ImportBIOS.ShowDialog();
if (dialog == DialogResult.OK && BIOS.Verify(ImportBIOS.FileName, platform))
diff --git a/FriishProduce/SettingsForm.resx b/FriishProduce/SettingsForm.resx
index 8672a565..685bdbbe 100644
--- a/FriishProduce/SettingsForm.resx
+++ b/FriishProduce/SettingsForm.resx
@@ -143,78 +143,6 @@
0
-
- vc_n64_patch_autosizerom
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_n64_options
-
-
- 0
-
-
- vc_n64_patch_expandedram
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_n64_options
-
-
- 1
-
-
- vc_n64_patch_fixcrashes
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_n64_options
-
-
- 2
-
-
- vc_n64_patch_fixbrightness
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_n64_options
-
-
- 3
-
-
- 12, 10
-
-
- 536, 112
-
-
- 18
-
-
- vc_options
-
-
- vc_n64_options
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_n64
-
-
- 1
-
True
@@ -336,6 +264,30 @@
3
+
+ 12, 10
+
+
+ 536, 112
+
+
+ 18
+
+
+ vc_options
+
+
+ vc_n64_options
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ vc_n64
+
+
+ 1
+
10, 18
@@ -357,99 +309,6 @@
0
-
- bottomPanel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- bottomPanel2
-
-
- 0
-
-
- Bottom
-
-
- 0, 420
-
-
- 754, 42
-
-
- 3
-
-
- bottomPanel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- b_cancel
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- bottomPanel1
-
-
- 0
-
-
- b_ok
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- bottomPanel1
-
-
- 1
-
-
- GetBanners
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- bottomPanel1
-
-
- 2
-
-
- 0, 1
-
-
- 754, 41
-
-
- 3
-
-
- bottomPanel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- bottomPanel2
-
-
- 0
-
NoControl
@@ -531,6 +390,51 @@
2
+
+ 0, 1
+
+
+ 754, 41
+
+
+ 3
+
+
+ bottomPanel1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ bottomPanel2
+
+
+ 0
+
+
+ Bottom
+
+
+ 0, 420
+
+
+ 754, 42
+
+
+ 3
+
+
+ bottomPanel2
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
15
@@ -833,7 +737,19 @@
$this
- 13
+ 4
+
+
+ 12, 128
+
+
+ 536, 50
+
+
+ 20
+
+
+ romc_type
vc_n64_romc_type
@@ -866,76 +782,22 @@
$this
- 6
+ 9
-
- 12, 128
+
+ SD
-
- 536, 50
-
-
- 20
-
-
- romc_type
-
-
- vc_n64_romc_type
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_n64
-
-
- 0
-
-
- forwarder_root_device
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- forwarder
-
-
- 0
-
-
- bios_settings
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- forwarder
-
-
- 1
-
-
- 194, 0
-
-
- 560, 410
-
-
- 22
-
-
- forwarder
+
+ USB
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 10, 18
-
- $this
+
+ 516, 21
-
- 3
+
+ 27
forwarder_type
@@ -973,81 +835,6 @@
0
-
- SD
-
-
- USB
-
-
- 10, 18
-
-
- 516, 21
-
-
- 27
-
-
- forwarder_type
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- forwarder_root_device
-
-
- 0
-
-
- show_bios_screen
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- bios_settings
-
-
- 0
-
-
- toggleSwitch2
-
-
- JCS.ToggleSwitch, ToggleSwitch, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null
-
-
- bios_settings
-
-
- 1
-
-
- 12, 66
-
-
- 536, 44
-
-
- 26
-
-
- bios_settings
-
-
- bios_settings
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- forwarder
-
-
- 1
-
True
@@ -1099,86 +886,50 @@
1
-
- vc_nes_palette
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_nes
-
-
- 0
-
-
- 194, 0
-
-
- 560, 410
-
-
- 23
-
-
- vc_nes
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 4
-
-
- vc_nes_palette_banner_usage
+
+ 12, 66
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 536, 44
-
- vc_nes_palette
+
+ 26
-
- 0
+
+ bios_settings
-
- vc_nes_palettelist
+
+ bios_settings
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_nes_palette
+
+ forwarder
-
+
1
-
- 12, 10
-
-
- 536, 70
+
+ 194, 0
-
- 14
+
+ 560, 410
-
- palette
+
+ 22
-
- vc_nes_palette
+
+ forwarder
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_nes
+
+ $this
-
- 0
+
+ 6
True
@@ -1231,74 +982,50 @@
1
-
- vc_neo_bios
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_neo
-
-
- 0
-
-
- 194, 0
-
-
- 560, 410
-
-
- 24
-
-
- vc_neo
+
+ 12, 10
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 536, 70
-
- $this
+
+ 14
-
- 9
+
+ palette
-
- vc_neo_bios_list
+
+ vc_nes_palette
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_neo_bios
+
+ vc_nes
-
+
0
-
- 12, 10
-
-
- 536, 50
+
+ 194, 0
-
- 26
+
+ 560, 410
-
- bios
+
+ 23
-
- vc_neo_bios
+
+ vc_nes
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_neo
+
+ $this
-
- 0
+
+ 7
10, 18
@@ -1321,62 +1048,59 @@
0
-
- vc_sega_country
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega
-
-
- 0
-
-
- vc_sega_system
+
+ 12, 10
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 536, 50
-
- vc_sega
+
+ 26
-
- 1
+
+ bios
-
- vc_sega_display
+
+ vc_neo_bios
-
+
System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_sega
+
+ vc_neo
-
- 2
+
+ 0
-
+
194, 0
-
+
560, 410
-
- 25
+
+ 24
-
- vc_sega
+
+ vc_neo
-
+
System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
$this
-
- 7
+
+ 12
+
+
+ 10, 18
+
+
+ 516, 21
+
+
+ 18
vc_sega_countries
@@ -1414,87 +1138,6 @@
0
-
- 10, 18
-
-
- 516, 21
-
-
- 18
-
-
- vc_sega_countries
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega_country
-
-
- 0
-
-
- vc_sega_console_disableresetbutton
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega_system
-
-
- 0
-
-
- vc_sega_save_sram
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega_system
-
-
- 1
-
-
- vc_sega_dev_mdpad_enable_6b
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega_system
-
-
- 2
-
-
- 12, 124
-
-
- 536, 88
-
-
- 21
-
-
- vc_options
-
-
- vc_sega_system
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega
-
-
- 1
-
True
@@ -1585,53 +1228,29 @@
2
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega_display
-
-
- 0
-
-
- SEGA_console_brightness
-
-
- System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- vc_sega_display
-
-
- 1
-
-
- 12, 10
+
+ 12, 124
-
- 536, 52
+
+ 536, 88
-
- 15
+
+ 21
-
- display
+
+ vc_options
-
- vc_sega_display
+
+ vc_sega_system
-
+
System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
vc_sega
-
- 2
+
+ 1
True
@@ -1684,11 +1303,56 @@
System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_sega_display
+
+ vc_sega_display
+
+
+ 1
+
+
+ 12, 10
+
+
+ 536, 52
+
+
+ 15
+
+
+ display
+
+
+ vc_sega_display
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ vc_sega
+
+
+ 2
+
+
+ 194, 0
+
+
+ 560, 410
+
+
+ 25
+
+
+ vc_sega
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
-
- 1
+
+ 10
True
@@ -2060,7 +1724,7 @@
$this
- 8
+ 11
True
@@ -2122,6 +1786,15 @@
1
+
+ 10, 18
+
+
+ 516, 21
+
+
+ 45
+
image_interpolation_modes
@@ -2158,6 +1831,15 @@
2
+
+ 10, 18
+
+
+ 516, 21
+
+
+ 47
+
banner_regions
@@ -2402,118 +2084,16 @@
$this
- 12
-
-
- 10, 18
-
-
- 516, 21
-
-
- 45
-
-
- image_interpolation_modes
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- image_interpolation_mode
-
-
- 0
+ 3
-
+
10, 18
-
+
516, 21
-
- 47
-
-
- banner_regions
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- banner_region
-
-
- 0
-
-
- sega_default
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- default_injection_methods
-
-
- 0
-
-
- snes_default
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- default_injection_methods
-
-
- 1
-
-
- nes_default
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- default_injection_methods
-
-
- 2
-
-
- n64_default
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- default_injection_methods
-
-
- 3
-
-
- 194, 0
-
-
- 560, 410
-
-
- 43
-
-
- default_injection_methods
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 10
+
+ 18
injection_methods_sega
@@ -2551,27 +2131,15 @@
0
-
+
10, 18
-
+
516, 21
-
+
18
-
- injection_methods_sega
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- sega_default
-
-
- 0
-
injection_methods_snes
@@ -2608,27 +2176,15 @@
1
-
+
10, 18
-
+
516, 21
-
+
18
-
- injection_methods_snes
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- snes_default
-
-
- 0
-
injection_methods_nes
@@ -2665,27 +2221,15 @@
2
-
+
10, 18
-
+
516, 21
-
+
18
-
- injection_methods_nes
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- nes_default
-
-
- 0
-
injection_methods_n64
@@ -2722,26 +2266,26 @@
3
-
- 10, 18
+
+ 194, 0
-
- 516, 21
+
+ 560, 410
-
- 18
+
+ 43
-
- injection_methods_n64
+
+ default_injection_methods
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- n64_default
+
+ $this
-
- 0
+
+ 13
NoControl
@@ -2906,7 +2450,7 @@
$this
- 11
+ 2
True
@@ -3067,6 +2611,18 @@
0
+
+ auto
+
+
+ 10, 18
+
+
+ 516, 21
+
+
+ 16
+
flash_strap_reminder_list
@@ -3091,17 +2647,35 @@
strap_reminder
-
- flash_strap_reminder
+
+ flash_strap_reminder
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ adobe_flash
+
+
+ 1
+
+
+ True
+
+
+ NoControl
+
+
+ 10, 43
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 111, 17
-
- adobe_flash
+
+ 14
-
- 1
+
+ qwerty_keyboard
flash_qwerty_keyboard
@@ -3115,6 +2689,24 @@
0
+
+ True
+
+
+ NoControl
+
+
+ 10, 20
+
+
+ 57, 17
+
+
+ 13
+
+
+ mouse
+
flash_mouse
@@ -3343,380 +2935,167 @@
NoControl
-
- 183, 44
-
-
- 126, 13
-
-
- 32
-
-
- persistent_storage_total
-
-
- flash_persistent_storage_total_l
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- flash_save_data
-
-
- 4
-
-
- 32
-
-
- 48
-
-
- 64
-
-
- 72
-
-
- 96
-
-
- 128
-
-
- 160
-
-
- 192
-
-
- 224
-
-
- 256
-
-
- 512
-
-
- 1024
-
-
- 2048
-
-
- 4096
-
-
- 191, 62
-
-
- 160, 21
-
-
- 31
-
-
- flash_persistent_storage_total
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- flash_save_data
-
-
- 5
-
-
- True
-
-
- NoControl
-
-
- 10, 20
-
-
- 115, 17
-
-
- 24
-
-
- save_data_enable
-
-
- flash_save_data_enable
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- flash_save_data
-
-
- 6
-
-
- 12, 162
-
-
- 536, 95
-
-
- 19
-
-
- save_data
-
-
- flash_save_data
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- adobe_flash
-
-
- 3
-
-
- 194, 0
-
-
- 560, 410
-
-
- 4
-
-
- adobe_flash
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- auto
-
-
- 10, 18
-
-
- 516, 21
-
-
- 16
-
-
- flash_strap_reminder_list
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- flash_strap_reminder
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 10, 43
-
-
- 111, 17
-
-
- 14
-
-
- qwerty_keyboard
-
-
- flash_qwerty_keyboard
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- flash_controls
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 10, 20
+
+ 183, 44
-
- 57, 17
+
+ 126, 13
-
- 13
+
+ 32
-
- mouse
+
+ persistent_storage_total
-
- flash_mouse
+
+ flash_persistent_storage_total_l
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- flash_controls
+
+ flash_save_data
-
- 1
+
+ 4
-
- vc_snes_options
+
+ 32
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 48
-
- vc_snes
+
+ 64
-
- 0
+
+ 72
-
- 194, 0
+
+ 96
-
- 560, 410
+
+ 128
-
- 22
+
+ 160
-
- vc_snes
+
+ 192
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 224
-
- $this
+
+ 256
-
- 5
+
+ 512
-
- vc_snes_patch_nosave
+
+ 1024
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 2048
-
- vc_snes_options
+
+ 4096
-
- 0
+
+ 191, 62
-
- vc_snes_patch_widescreen
+
+ 160, 21
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 31
-
- vc_snes_options
+
+ flash_persistent_storage_total
-
- 1
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_snes_patch_nocc
+
+ flash_save_data
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 5
-
- vc_snes_options
+
+ True
-
- 2
+
+ NoControl
-
- vc_snes_patch_nodark
+
+ 10, 20
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 115, 17
-
- vc_snes_options
+
+ 24
-
- 3
+
+ save_data_enable
-
- vc_snes_patch_nosuspend
+
+ flash_save_data_enable
-
+
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- vc_snes_options
+
+ flash_save_data
-
- 4
+
+ 6
-
- vc_snes_patch_volume
+
+ 12, 162
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 536, 95
-
- vc_snes_options
+
+ 19
-
- 5
+
+ save_data
-
- 12, 10
+
+ flash_save_data
-
- 530, 155
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 40
+
+ adobe_flash
-
- vc_options
+
+ 3
-
- vc_snes_options
+
+ 194, 0
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 560, 410
-
- vc_snes
+
+ 4
-
- 0
+
+ adobe_flash
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 5
True
@@ -3916,6 +3295,51 @@
5
+
+ 12, 10
+
+
+ 530, 155
+
+
+ 40
+
+
+ vc_options
+
+
+ vc_snes_options
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ vc_snes
+
+
+ 0
+
+
+ 194, 0
+
+
+ 560, 410
+
+
+ 22
+
+
+ vc_snes
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 8
+
True
diff --git a/FriishProduce/Strings/en.json b/FriishProduce/Strings/en.json
index de0a5ce5..d55dda6d 100644
--- a/FriishProduce/Strings/en.json
+++ b/FriishProduce/Strings/en.json
@@ -101,6 +101,7 @@
"008": "An update is available\nFriishProduce v{0} is now available for download.\nYou are currently running v{1}.\n\nWould you like to get the latest version from GitHub now?",
"009": "You are currently already up to date.",
"010": "When this option is enabled, the program will treat all files within the same folder as the currently selected one as forming part of the software to be injected.\n\nPlease make sure that your software files are in a separate folder before continuing.",
+ "011": "Reset all settings to default?",
"error": "An error has occurred",
"e_000": "Unable to connect to the Internet.\n{0}",
diff --git a/FriishProduce/Strings/es.json b/FriishProduce/Strings/es.json
index 832896f0..939aabe5 100644
--- a/FriishProduce/Strings/es.json
+++ b/FriishProduce/Strings/es.json
@@ -100,6 +100,7 @@
"007": "El seleccionado no contiene ningún contenido válido de manual electrónico.",
"008": "Actualización de FriishProduce\nYa está disponible para descargar la nueva versión {0} de FriishProduce.\nActualmente está utilizando la versión {1}.\n\n¿Quiere descargar la actualización de GitHub ahora?",
"009": "Actualmente ya está actualizado.",
+ "011": "¿Quieres reiniciar todos sus ajustes?",
"error": "Se ha producido un error",
"e_000": "No se pudo conectar a Internet.\n{0}",
diff --git a/FriishProduce/Strings/fr.json b/FriishProduce/Strings/fr.json
index cd218d94..50298350 100644
--- a/FriishProduce/Strings/fr.json
+++ b/FriishProduce/Strings/fr.json
@@ -101,6 +101,7 @@
"008": "Une mise à jour est disponible\nFriishProduce v{0} est désormais disponible à télécharger.\nL'actuelle version est v{1}.\n\nObtenir la dernière mise à jour dès GitHub maintenant ?",
"009": "Vous êtes déjà à jour.",
"010": "Lorsque cette option est activée, l'application traitera tous les fichiers du même dossier que celui actuellement sélectionné comme faisant partie du logiciel à injecter.\n\nVeuillez vous assurer que vos fichiers sont déjà dans un répertoire séparé avant de continuer.",
+ "011": "Voulez-vous réinitialiser tous vos paramètres ?",
"error": "Oups, un problème est survenu !",
"e_000": "Échec de connexion à Internet.\n{0}",
diff --git a/FriishProduce/Strings/ja.json b/FriishProduce/Strings/ja.json
index b7b0c1cd..a02f8267 100644
Binary files a/FriishProduce/Strings/ja.json and b/FriishProduce/Strings/ja.json differ
diff --git a/FriishProduce/Strings/ko.json b/FriishProduce/Strings/ko.json
index 19a7033f..bc2efac7 100644
--- a/FriishProduce/Strings/ko.json
+++ b/FriishProduce/Strings/ko.json
@@ -101,6 +101,7 @@
"008": "업데이트가 있습니다.\nFriishProduce v{0}를 이제 다운로드할 수 있습니다.\n현재 v{1}을(를) 실행 중입니다.\n\n지금 깃허브에서 최신 버전을 다운로드하겠습니까?",
"009": "현재 이미 최신 상태입니다.",
"010": "이 옵션을 활성화하면 프로그램은 현재 선택된 파일과 같은 폴더 내에 있는 모든 파일을 주입될 소프트웨어의 일부로 취급합니다.\n\n계속하기 전에 소프트웨어 파일이 별도의 폴더에 있는지 확인하세요.",
+ "011": "Reset all settings to default?",
"error": "오류가 발생했습니다!",
"e_000": "인터넷에 연결하지 못했습니다.\n메시지: {0}",
diff --git a/FriishProduce/_classes/BIOS.cs b/FriishProduce/_classes/BIOS.cs
index 286cff3e..7cb58346 100644
--- a/FriishProduce/_classes/BIOS.cs
+++ b/FriishProduce/_classes/BIOS.cs
@@ -9,6 +9,13 @@ public static class BIOS
{
public static readonly (Platform platform, List BIOS)[] List = new (Platform platform, List BIOS)[]
{
+ (
+ Platform.NEO, new List()
+ {
+ "4f0aeda8d2d145f596826b62d563c4ef" // Uni-BIOS
+ }
+ ),
+
(
Platform.GB, new List()
{
@@ -42,22 +49,32 @@ public static class BIOS
"1e68c231d0896b7eadcad1d7d8e76129", // Version 4.1 12/16/97 A
"6e3735ff4c7dc899ee98981385f6f3d0", // Version 4.4 03/24/00 A
}
- ),
+ )
};
public static bool Verify(string file, Platform index)
{
- for (int i = 0; i < List.Length; i++)
+ if (Path.GetExtension(file).ToLower() == ".zip")
{
- if (List[i].platform == index) return Verify(file, i);
- }
+ using ICSharpCode.SharpZipLib.Zip.ZipFile zip = new(file);
+ bool verified = false;
- MessageBox.Show(Program.Lang.Msg(2), MessageBox.Buttons.Ok, MessageBox.Icons.Warning);
- return false;
- }
+ for (int j = 0; j < zip.Count; j++)
+ {
+ if (zip[j].IsFile)
+ {
+ for (int i = 0; i < List.Length; i++)
+ {
+ if (List[i].platform == index)
+ {
+ verified = Verify(Zip.Extract(zip, zip[j]), i);
+ if (verified) return verified;
+ }
+ }
+ }
+ }
+ }
- public static bool Verify(byte[] file, Platform index)
- {
for (int i = 0; i < List.Length; i++)
{
if (List[i].platform == index) return Verify(file, i);
@@ -99,7 +116,6 @@ public static bool Verify(byte[] file, int index = -1)
}
}
- MessageBox.Show(Program.Lang.Msg(2), MessageBox.Buttons.Ok, MessageBox.Icons.Warning);
return false;
}
diff --git a/FriishProduce/_classes/Creators/WiiVC/NEO.cs b/FriishProduce/_classes/Creators/WiiVC/NEO.cs
index 9d8767b3..d1d5b945 100644
--- a/FriishProduce/_classes/Creators/WiiVC/NEO.cs
+++ b/FriishProduce/_classes/Creators/WiiVC/NEO.cs
@@ -41,43 +41,6 @@ protected override void Load()
base.Load();
}
- ///
- /// Gets a specific file from the archive and extracts it to a byte array via a memory stream.
- ///
- private byte[] ExtractToByteArray(string file)
- {
- try
- {
- var entry = ZIP.GetEntry(file);
-
- if (entry != null && entry.IsFile)
- {
- using (var s = ZIP.GetInputStream(entry))
- {
- List bytes = new();
-
- int curByte = s.ReadByte();
- while (curByte != -1)
- {
- bytes.Add(Convert.ToByte(curByte));
- curByte = s.ReadByte();
- }
-
- return bytes.ToArray();
- }
- }
-
- return null;
- }
-
- catch (Exception ex)
- {
- throw ex;
- }
- }
-
- private byte[] ExtractToByteArray(ZipEntry item) => ExtractToByteArray(item.Name);
-
///
/// Replaces ROM within extracted content5 directory. (compressed formats not supported yet)
///
@@ -117,7 +80,7 @@ protected override void ReplaceROM()
foreach (var item in FileList)
{
- var b = ExtractToByteArray(item);
+ var b = Zip.Extract(ZIP, item);
bool P1_2MB = b.Length == 2097152 && item.Contains("p1");
if (P1_2MB)
@@ -140,13 +103,13 @@ protected override void ReplaceROM()
string filename2 = Path.GetFileNameWithoutExtension(item.Name).ToLower();
if (filename1[filename1.Length - 2] == 'm' || filename2[filename2.Length - 2] == 'm')
- M.AddRange(ExtractToByteArray(item));
+ M.AddRange(Zip.Extract(ZIP, item));
if (filename1[filename1.Length - 2] == 'v' || filename2[filename2.Length - 2] == 'v')
- V.AddRange(ExtractToByteArray(item));
+ V.AddRange(Zip.Extract(ZIP, item));
if (filename1[filename1.Length - 2] == 's' || filename2[filename2.Length - 2] == 's')
- S.AddRange(ExtractToByteArray(item));
+ S.AddRange(Zip.Extract(ZIP, item));
if (filename1[filename1.Length - 2] == 'c' || filename2[filename2.Length - 2] == 'c')
C_count++;
@@ -171,7 +134,7 @@ protected override void ReplaceROM()
if (item.IsFile)
if (item.Name.ToLower().EndsWith($"c{x + 1}") || Path.GetFileNameWithoutExtension(item.Name).ToLower().EndsWith($"c{x + 1}"))
{
- C1 = ExtractToByteArray(item);
+ C1 = Zip.Extract(ZIP, item);
// Byteswap
for (int i = 1; i < C1.Length; i += 2)
@@ -182,7 +145,7 @@ protected override void ReplaceROM()
if (item.IsFile)
if (item.Name.ToLower().EndsWith($"c{x + 2}") || Path.GetFileNameWithoutExtension(item.Name).ToLower().EndsWith($"c{x + 2}"))
{
- C2 = ExtractToByteArray(item);
+ C2 = Zip.Extract(ZIP, item);
// Byteswap
for (int i = 1; i < C2.Length; i += 2)
@@ -234,15 +197,17 @@ protected override void ReplaceROM()
else if (Path.GetExtension(BIOSPath).ToLower() == ".zip")
{
- foreach (ZipEntry item in ZIP)
- if (item.IsFile && Path.GetExtension(item.Name).ToLower() == ".rom")
- BIOS.AddRange(ExtractToByteArray(item));
+ using ZipFile biosZip = new(BIOSPath);
- if (BIOS.Count < 10) goto AutoBIOS;
+ foreach (ZipEntry item in biosZip)
+ if (item.IsFile && Path.GetExtension(item.Name).ToLower() == ".rom")
+ BIOS.AddRange(Zip.Extract(biosZip, item));
}
else goto AutoBIOS;
+ if (BIOS.Count < 10) goto AutoBIOS;
+
goto Next;
}
@@ -270,9 +235,7 @@ protected override void ReplaceROM()
Next:
for (int i = 1; i < BIOS.Count; i += 2)
- {
(BIOS[i - 1], BIOS[i]) = (BIOS[i], BIOS[i - 1]);
- }
// Header
// ****************
diff --git a/FriishProduce/_classes/Utilities.cs b/FriishProduce/_classes/Utilities.cs
index e1ce42b5..b2ab8fd4 100644
--- a/FriishProduce/_classes/Utilities.cs
+++ b/FriishProduce/_classes/Utilities.cs
@@ -1,4 +1,5 @@
-using System;
+using ICSharpCode.SharpZipLib.Zip;
+using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
@@ -571,4 +572,47 @@ public static bool IsValid(string path)
return isValid >= 10;
}
}
+
+ public static class Zip
+ {
+ ///
+ /// Gets a specific file from the archive and extracts it to a byte array via a memory stream.
+ ///
+ public static byte[] Extract(ZipFile zip, string file)
+ {
+ var entry = zip.GetEntry(file);
+
+ if (entry != null && entry.IsFile)
+ {
+ return Extract(zip, entry);
+ }
+
+ return null;
+ }
+
+ public static byte[] Extract(ZipFile zip, ZipEntry entry)
+ {
+ try
+ {
+ List bytes = new();
+
+ using (var s = zip.GetInputStream(entry))
+ {
+ int curByte = s.ReadByte();
+ while (curByte != -1)
+ {
+ bytes.Add(Convert.ToByte(curByte));
+ curByte = s.ReadByte();
+ }
+ }
+
+ return bytes.ToArray();
+ }
+
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ }
+ }
}