Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/hakchi2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2017-10-06 00:05:06 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2017-10-06 00:05:06 +0300
commit1c8b3e1836fcb32b92d8e49ba11b37f2d4b948b7 (patch)
tree46783f40a63cf0676c3ff7207fade11c8e96592a
parentad222ad525a69ff39a0c7a6120eb45e6bae3ce70 (diff)
Super Famicom Support
-rw-r--r--ConfigIni.cs46
-rw-r--r--MainForm.Designer.cs22
-rw-r--r--MainForm.cs32
-rw-r--r--MainForm.resx17
-rw-r--r--WorkerForm.cs2
-rw-r--r--mods/hmods/fontfix.hmodbin263739 -> 263740 bytes
6 files changed, 91 insertions, 28 deletions
diff --git a/ConfigIni.cs b/ConfigIni.cs
index 0f5a5778..ee3920d7 100644
--- a/ConfigIni.cs
+++ b/ConfigIni.cs
@@ -29,7 +29,8 @@ namespace com.clusterrr.hakchi_gui
public static NesMenuCollection.SplitStyle FoldersMode = NesMenuCollection.SplitStyle.Original_Auto;
public static SelectButtonsForm.NesButtons ResetCombination = SelectButtonsForm.NesButtons.Down | SelectButtonsForm.NesButtons.Select;
public static Dictionary<string, string> Presets = new Dictionary<string, string>();
- public static string ExtraCommandLineArguments = "";
+ public static string ExtraCommandLineArgumentsNes = "";
+ public static string ExtraCommandLineArgumentsSnes = "";
public static bool Compress = true;
public const string ConfigDir = "config";
public const string ConfigFile = "config.ini";
@@ -145,6 +146,38 @@ namespace com.clusterrr.hakchi_gui
}
}
+ public static string ExtraCommandLineArguments
+ {
+ get
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ case MainForm.ConsoleType.Famicom:
+ return ExtraCommandLineArgumentsNes;
+ case MainForm.ConsoleType.SNES:
+ case MainForm.ConsoleType.SuperFamicom:
+ return ExtraCommandLineArgumentsSnes;
+ }
+ }
+ set
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ case MainForm.ConsoleType.Famicom:
+ ConfigIni.ExtraCommandLineArgumentsNes = value;
+ break;
+ case MainForm.ConsoleType.SNES:
+ case MainForm.ConsoleType.SuperFamicom:
+ ConfigIni.ExtraCommandLineArgumentsSnes = value;
+ break;
+ }
+ }
+ }
+
public static void Load()
{
Debug.WriteLine("Loading config");
@@ -315,11 +348,14 @@ namespace com.clusterrr.hakchi_gui
var config = new Dictionary<string, string>();
config["clovercon_home_combination"] = ConfigIni.ResetHack ? string.Format("0x{0:X2}", (byte)ConfigIni.ResetCombination) : "0xFFFF";
config["clovercon_autofire"] = ConfigIni.AutofireHack ? "1" : "0";
- config["clovercon_autofire_xy"] = ConfigIni.AutofireXYHack ? "1" : "0";
- config["clovercon_fc_start"] = ConfigIni.FcStart ? "1" : "0";
+ config["clovercon_autofire_xy"] = ConfigIni.AutofireXYHack && (ConfigIni.ConsoleType == MainForm.ConsoleType.NES || ConfigIni.ConsoleType == MainForm.ConsoleType.Famicom) ? "1" : "0";
+ config["clovercon_fc_start"] = ConfigIni.FcStart && (ConfigIni.ConsoleType == MainForm.ConsoleType.Famicom) ? "1" : "0";
config["fontfix_enabled"] = ConfigIni.UseFont ? "y" : "n";
- config["disable_armet"] = (ConfigIni.AntiArmetLevel > 0) ? "y" : "n";
- config["nes_extra_args"] = ConfigIni.ExtraCommandLineArguments;
+ config["disable_armet"] = (ConfigIni.AntiArmetLevel > 0 && (ConfigIni.ConsoleType == MainForm.ConsoleType.NES || ConfigIni.ConsoleType == MainForm.ConsoleType.Famicom)) ? "y" : "n";
+ if ((ConfigIni.ConsoleType == MainForm.ConsoleType.NES || ConfigIni.ConsoleType == MainForm.ConsoleType.Famicom))
+ config["nes_extra_args"] = ConfigIni.ExtraCommandLineArguments;
+ if ((ConfigIni.ConsoleType == MainForm.ConsoleType.SNES || ConfigIni.ConsoleType == MainForm.ConsoleType.SuperFamicom))
+ config["snes_extra_args"] = ConfigIni.ExtraCommandLineArguments;
return config;
}
}
diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs
index 1a38437e..61063a8c 100644
--- a/MainForm.Designer.cs
+++ b/MainForm.Designer.cs
@@ -73,7 +73,6 @@
this.upABStartOnSecondControllerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.useExtendedFontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.epilepsyProtectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.compressGamesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pagesfoldersTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.disablePagefoldersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
@@ -100,6 +99,7 @@
this.max100toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
this.customToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.compressGamesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
this.saveSettingsToNESMiniNowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -414,8 +414,8 @@
//
// superFamicomMiniToolStripMenuItem
//
- resources.ApplyResources(this.superFamicomMiniToolStripMenuItem, "superFamicomMiniToolStripMenuItem");
this.superFamicomMiniToolStripMenuItem.Name = "superFamicomMiniToolStripMenuItem";
+ resources.ApplyResources(this.superFamicomMiniToolStripMenuItem, "superFamicomMiniToolStripMenuItem");
this.superFamicomMiniToolStripMenuItem.Click += new System.EventHandler(this.superFamicomMiniToolStripMenuItem_Click);
//
// cloverconHackToolStripMenuItem
@@ -481,15 +481,6 @@
resources.ApplyResources(this.epilepsyProtectionToolStripMenuItem, "epilepsyProtectionToolStripMenuItem");
this.epilepsyProtectionToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItemArmet_Click);
//
- // compressGamesToolStripMenuItem
- //
- this.compressGamesToolStripMenuItem.Checked = true;
- this.compressGamesToolStripMenuItem.CheckOnClick = true;
- this.compressGamesToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
- this.compressGamesToolStripMenuItem.Name = "compressGamesToolStripMenuItem";
- resources.ApplyResources(this.compressGamesToolStripMenuItem, "compressGamesToolStripMenuItem");
- this.compressGamesToolStripMenuItem.Click += new System.EventHandler(this.compressGamesToolStripMenuItem_Click);
- //
// pagesfoldersTypeToolStripMenuItem
//
this.pagesfoldersTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -681,6 +672,15 @@
this.customToolStripMenuItem.Tag = "99";
this.customToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
+ // compressGamesToolStripMenuItem
+ //
+ this.compressGamesToolStripMenuItem.Checked = true;
+ this.compressGamesToolStripMenuItem.CheckOnClick = true;
+ this.compressGamesToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.compressGamesToolStripMenuItem.Name = "compressGamesToolStripMenuItem";
+ resources.ApplyResources(this.compressGamesToolStripMenuItem, "compressGamesToolStripMenuItem");
+ this.compressGamesToolStripMenuItem.Click += new System.EventHandler(this.compressGamesToolStripMenuItem_Click);
+ //
// globalCommandLineArgumentsexpertsOnluToolStripMenuItem
//
this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name = "globalCommandLineArgumentsexpertsOnluToolStripMenuItem";
diff --git a/MainForm.cs b/MainForm.cs
index 13085ea7..c9758772 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -116,6 +116,31 @@ namespace com.clusterrr.hakchi_gui
new NesDefaultGame { Code = "CLV-P-SADJE", Name = "Yoshi's Island", Size = 4261051 },
new NesDefaultGame { Code = "CLV-P-SADKE", Name = "Star Fox 2", Size = 2088122 }
};
+ static NesDefaultGame[] defaultSuperFamicomGames = new NesDefaultGame[]
+ {
+ new NesDefaultGame { Code = "CLV-P-VAAAJ", Name = "スーパーマリオワールド", Size = 2648224 },
+ new NesDefaultGame { Code = "CLV-P-VAABJ", Name = "F-ZERO", Size = 2666349 },
+ new NesDefaultGame { Code = "CLV-P-VAAEJ", Name = "ゼルダの伝説 神々のトライフォース", Size = 2377849 },
+ new NesDefaultGame { Code = "CLV-P-VAAFJ", Name = "スーパーマリオカート", Size = 2295761 },
+ new NesDefaultGame { Code = "CLV-P-VAAGJ", Name = "ファイアーエムブレム 紋章の謎", Size = 5272630 },
+ new NesDefaultGame { Code = "CLV-P-VAAHJ", Name = "スーパーメトロイド", Size = 6211090 },
+ new NesDefaultGame { Code = "CLV-P-VAALJ", Name = "スーパードンキーコング", Size = 5688108 },
+ new NesDefaultGame { Code = "CLV-P-VAAQJ", Name = "星のカービィ スーパーデラックス", Size = 7071882 },
+ new NesDefaultGame { Code = "CLV-P-VABBJ", Name = "スーパーストリートファイターⅡ ザ ニューチャレンジャーズ", Size = 13481718 },
+ new NesDefaultGame { Code = "CLV-P-VABCJ", Name = "ロックマンX", Size = 2666724 },
+ new NesDefaultGame { Code = "CLV-P-VABDJ", Name = "超魔界村", Size = 2143395 },
+ new NesDefaultGame { Code = "CLV-P-VABQJ", Name = "スーパーマリオRPG", Size = 5659168 },
+ new NesDefaultGame { Code = "CLV-P-VABRJ", Name = "聖剣伝説2", Size = 2922201 },
+ new NesDefaultGame { Code = "CLV-P-VABTJ", Name = "ファイナルファンタジーVI", Size = 4335899 },
+ new NesDefaultGame { Code = "CLV-P-VACCJ", Name = "魂斗羅スピリッツ", Size = 2762661 },
+ new NesDefaultGame { Code = "CLV-P-VACDJ", Name = "がんばれゴエモン ゆき姫救出絵巻", Size = 2415384 },
+ new NesDefaultGame { Code = "CLV-P-VADFJ", Name = "スーパーフォーメーションサッカー", Size = 1922523 },
+ new NesDefaultGame { Code = "CLV-P-VADGJ", Name = "スターフォックス", Size = 3324346 },
+ new NesDefaultGame { Code = "CLV-P-VADJJ", Name = "スーパーマリオ ヨッシーアイランド", Size = 3799569 },
+ new NesDefaultGame { Code = "CLV-P-VADKJ", Name = "スターフォックス2", Size = 2066174 },
+ new NesDefaultGame { Code = "CLV-P-VADZJ", Name = "パネルでポン", Size = 3563159 },
+ };
+
public MainForm()
{
@@ -424,7 +449,7 @@ namespace com.clusterrr.hakchi_gui
games = defaultSnesGames;
break;
case ConsoleType.SuperFamicom:
- //games = defaultSuperFamicomGames;
+ games = defaultSuperFamicomGames;
break;
}
foreach (var game in games.OrderBy(o => o.Name))
@@ -1216,6 +1241,9 @@ namespace com.clusterrr.hakchi_gui
famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == ConsoleType.Famicom;
sNESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == ConsoleType.SNES;
superFamicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == ConsoleType.SuperFamicom;
+ epilepsyProtectionToolStripMenuItem.Enabled = ConfigIni.ConsoleType == ConsoleType.NES || ConfigIni.ConsoleType == ConsoleType.Famicom;
+ useXYOnClassicControllerAsAutofireABToolStripMenuItem.Enabled = ConfigIni.ConsoleType == ConsoleType.NES || ConfigIni.ConsoleType == ConsoleType.Famicom;
+ upABStartOnSecondControllerToolStripMenuItem.Enabled = ConfigIni.ConsoleType == ConsoleType.Famicom;
LoadHidden();
LoadGames();
lastConsoleType = ConfigIni.ConsoleType;
@@ -1551,6 +1579,8 @@ namespace com.clusterrr.hakchi_gui
gameNames[game.Code] = game.Name;
foreach (var game in defaultSnesGames)
gameNames[game.Code] = game.Name;
+ foreach (var game in defaultSuperFamicomGames)
+ gameNames[game.Code] = game.Name;
foreach (var game in checkedListBoxGames.Items)
{
if (game is NesMiniApplication)
diff --git a/MainForm.resx b/MainForm.resx
index 2e4697a9..005adb16 100644
--- a/MainForm.resx
+++ b/MainForm.resx
@@ -199,7 +199,7 @@
<value>327, 22</value>
</data>
<data name="compressGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Compress games</value>
+ <value>Compress games when adding</value>
</data>
<data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>327, 22</value>
@@ -422,9 +422,6 @@
<data name="sNESMiniToolStripMenuItem.Text" xml:space="preserve">
<value>SNES Mini</value>
</data>
- <data name="superFamicomMiniToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
<data name="superFamicomMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 22</value>
</data>
@@ -3231,12 +3228,6 @@
<data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;compressGamesToolStripMenuItem.Name" xml:space="preserve">
- <value>compressGamesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;compressGamesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
<data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Name" xml:space="preserve">
<value>pagesfoldersTypeToolStripMenuItem</value>
</data>
@@ -3393,6 +3384,12 @@
<data name="&gt;&gt;customToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
+ <data name="&gt;&gt;compressGamesToolStripMenuItem.Name" xml:space="preserve">
+ <value>compressGamesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;compressGamesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
<data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name" xml:space="preserve">
<value>globalCommandLineArgumentsexpertsOnluToolStripMenuItem</value>
</data>
diff --git a/WorkerForm.cs b/WorkerForm.cs
index 2546444e..c1bea20d 100644
--- a/WorkerForm.cs
+++ b/WorkerForm.cs
@@ -125,7 +125,7 @@ namespace com.clusterrr.hakchi_gui
"d76c2a091ebe7b4614589fc6954653a5", // SNES Mini (EUR)
"449b711238575763c6701f5958323d48" // SNES Mini (USA)
};
- correctKernels[MainForm.ConsoleType.SuperFamicom] = new string[] { }; // SNES Mini (USA)
+ correctKernels[MainForm.ConsoleType.SuperFamicom] = new string[] { "632e179db63d9bcd42281f776a030c14"}; // Super Famicom Mini (JAP)
correctKeys[MainForm.ConsoleType.NES] = new string[] { "bb8f49e0ae5acc8d5f9b7fa40efbd3e7" };
correctKeys[MainForm.ConsoleType.SNES] = new string[] { "c5dbb6e29ea57046579cfd50b124c9e1" };
}
diff --git a/mods/hmods/fontfix.hmod b/mods/hmods/fontfix.hmod
index 9cf9f10e..1b8f310f 100644
--- a/mods/hmods/fontfix.hmod
+++ b/mods/hmods/fontfix.hmod
Binary files differ