Skip to content

Commit efcdf3b

Browse files
authored
Add VCN64Config Editor
1 parent b5b0f7d commit efcdf3b

16 files changed

Lines changed: 334 additions & 168 deletions

64Inject.sln

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.27703.2047
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 16.0.29409.12
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "64Inject", "64Inject\64Inject.csproj", "{7980ACD9-F023-4721-BE4F-5C71343711D6}"
77
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VCN64Config", "..\VCN64Config\VCN64Config\VCN64Config.csproj", "{0D3458E2-05E8-4220-A698-65D0DBE38475}"
9+
EndProject
810
Global
911
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1012
Beta|Any CPU = Beta|Any CPU
@@ -54,6 +56,36 @@ Global
5456
{7980ACD9-F023-4721-BE4F-5C71343711D6}.Revision release|x64.Build.0 = Revision release|x64
5557
{7980ACD9-F023-4721-BE4F-5C71343711D6}.Revision release|x86.ActiveCfg = Revision release|x86
5658
{7980ACD9-F023-4721-BE4F-5C71343711D6}.Revision release|x86.Build.0 = Revision release|x86
59+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|Any CPU.ActiveCfg = Beta|Any CPU
60+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|Any CPU.Build.0 = Beta|Any CPU
61+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|x64.ActiveCfg = Beta|x64
62+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|x64.Build.0 = Beta|x64
63+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|x86.ActiveCfg = Beta|x86
64+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|x86.Build.0 = Beta|x86
65+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
66+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|Any CPU.Build.0 = Debug|Any CPU
67+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|x64.ActiveCfg = Debug|x64
68+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|x64.Build.0 = Debug|x64
69+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|x86.ActiveCfg = Debug|x86
70+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|x86.Build.0 = Debug|x86
71+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|Any CPU.ActiveCfg = Minor release|Any CPU
72+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|Any CPU.Build.0 = Minor release|Any CPU
73+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|x64.ActiveCfg = Minor release|x64
74+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|x64.Build.0 = Minor release|x64
75+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|x86.ActiveCfg = Minor release|x86
76+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|x86.Build.0 = Minor release|x86
77+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|Any CPU.ActiveCfg = Release|Any CPU
78+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|Any CPU.Build.0 = Release|Any CPU
79+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|x64.ActiveCfg = Release|x64
80+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|x64.Build.0 = Release|x64
81+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|x86.ActiveCfg = Release|x86
82+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|x86.Build.0 = Release|x86
83+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|Any CPU.ActiveCfg = Revision release|Any CPU
84+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|Any CPU.Build.0 = Revision release|Any CPU
85+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|x64.ActiveCfg = Revision release|x64
86+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|x64.Build.0 = Revision release|x64
87+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|x86.ActiveCfg = Revision release|x86
88+
{0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|x86.Build.0 = Revision release|x86
5789
EndGlobalSection
5890
GlobalSection(SolutionProperties) = preSolution
5991
HideSolutionNode = FALSE

64Inject/64Inject.csproj

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<AssemblyName>64Inject</AssemblyName>
1313
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
1414
<FileAlignment>512</FileAlignment>
15-
<ApplicationIcon>icon.ico</ApplicationIcon>
15+
<ApplicationIcon>Icon.ico</ApplicationIcon>
1616
<IsWebBootstrapper>false</IsWebBootstrapper>
1717
<FileUpgradeFlags>
1818
</FileUpgradeFlags>
@@ -226,6 +226,7 @@
226226
<Compile Include="Security.cs" />
227227
<Compile Include="Useful.cs" />
228228
<Compile Include="VCN64.cs" />
229+
<Compile Include="VCN64ConfigFile.cs" />
229230
</ItemGroup>
230231
<ItemGroup>
231232
<EmbeddedResource Include="64InjectGUI.es.resx">
@@ -260,7 +261,6 @@
260261
<None Include="Resources\checkmark-16.png" />
261262
</ItemGroup>
262263
<ItemGroup>
263-
<Content Include="icon.ico" />
264264
<None Include="Resources\question.png" />
265265
</ItemGroup>
266266
<ItemGroup>
@@ -285,6 +285,15 @@
285285
<Install>false</Install>
286286
</BootstrapperPackage>
287287
</ItemGroup>
288+
<ItemGroup>
289+
<ProjectReference Include="..\..\VCN64Config\VCN64Config\VCN64Config.csproj">
290+
<Project>{0d3458e2-05e8-4220-a698-65d0dbe38475}</Project>
291+
<Name>VCN64Config</Name>
292+
</ProjectReference>
293+
</ItemGroup>
294+
<ItemGroup>
295+
<Content Include="Icon.ico" />
296+
</ItemGroup>
288297
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
289298
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
290299
Other similar extension points exist, see Microsoft.Common.targets.

64Inject/64InjectCMD.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public void Run(string[] args)
116116

117117
private void ConsoleHelp()
118118
{
119-
Cll.Log.WriteText(global::_64Inject.Properties.Resources.Help, 80, 0, Cll.Log.TabMode.All);
119+
Cll.Log.WriteText(Properties.Resources.Help, 80, 0, Cll.Log.TabMode.All);
120120
}
121121

122122
private bool CreateImage(string[] args)
@@ -875,7 +875,8 @@ private bool ValidIniPath()
875875
{
876876
if (File.Exists(injector.IniPath))
877877
{
878-
if (!injector.LoadIni(injector.IniPath))
878+
injector.Ini = new VCN64ConfigFile(injector.IniPath);
879+
if (!injector.Ini.IsValid)
879880
{
880881
Cll.Log.WriteLine("The INI file is not valid.");
881882
return false;
@@ -894,7 +895,8 @@ private bool ValidIniPath()
894895
injector.IniPath = injector.InPath + "\\vc.ini";
895896
if (File.Exists(injector.IniPath))
896897
{
897-
if (!injector.LoadIni(injector.IniPath))
898+
injector.Ini = new VCN64ConfigFile(injector.IniPath);
899+
if (!injector.Ini.IsValid)
898900
{
899901
Cll.Log.WriteLine("The INI file is not valid.");
900902
return false;

64Inject/64InjectGUI.Designer.cs

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

64Inject/64InjectGUI.cs

Lines changed: 67 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
using System;
22
using System.Drawing;
3-
using System.Drawing.Imaging;
43
using System.IO;
54
using System.Text;
65
using System.Windows.Forms;
7-
using System.Xml;
8-
using System.Drawing.Drawing2D;
96
using System.ComponentModel;
107
using System.Globalization;
118
using System.Threading;
@@ -241,9 +238,6 @@ private void buttonRom_Click(object sender, EventArgs e)
241238
injector.RomPath = openFileDialog.FileName;
242239
textBoxRom.Text = Path.GetFileName(injector.RomPath);
243240

244-
if (injector.Rom != null)
245-
injector.Rom.Dispose();
246-
247241
injector.Rom = new RomN64(injector.RomPath);
248242

249243
if (injector.Rom.IsValid)
@@ -450,7 +444,7 @@ private void buttonConfigFile_Click(object sender, EventArgs e)
450444
{
451445
openFileDialog.FileName = "";
452446
openFileDialog.FilterIndex = 0;
453-
openFileDialog.Filter = "INI file|*.ini|All files|*.*";
447+
openFileDialog.Filter = "INI file|*.ini|TXT file|*.txt|All files|*.*";
454448
if (checkBoxConfigFilesPath.Checked && Directory.Exists(textBoxConfigFilesPath.Text))
455449
openFileDialog.InitialDirectory = textBoxConfigFilesPath.Text;
456450
else
@@ -460,21 +454,67 @@ private void buttonConfigFile_Click(object sender, EventArgs e)
460454
{
461455
injector.IniPath = openFileDialog.FileName;
462456

463-
if (!injector.LoadIni(injector.IniPath))
464-
{
457+
injector.Ini = new VCN64ConfigFile(injector.IniPath);
458+
459+
if (injector.Ini.IsValid)
460+
textBoxConfigFile.Text = Path.GetFileName(injector.IniPath);
461+
else
465462
MessageBox.Show(HelpString.Config_File_Invalid,
466463
"64Inject", MessageBoxButtons.OK, MessageBoxIcon.Error);
467-
}
468-
else if (injector.BaseIsLoaded && injector.RomIsLoaded)
469-
{
464+
465+
if (injector.BaseIsLoaded && injector.RomIsLoaded)
470466
labelTitleId.Text = "Title ID: " + injector.TitleId;
467+
}
468+
}
469+
470+
private void buttonEditConfigFile_Click(object sender, EventArgs e)
471+
{
472+
if (!Directory.Exists("resources\\vcn64configs"))
473+
Directory.CreateDirectory("resources\\vcn64configs");
474+
475+
string input = "";
476+
if (injector.IniIsLoaded)
477+
input = injector.IniPath;
478+
479+
StringBuilder output = new StringBuilder("resources\\vcn64configs\\");
480+
if (injector.RomIsLoaded)
481+
{
482+
output.Append(injector.Rom.ProductCodeVersion);
483+
output.Append(" (" + injector.Rom.Title + ")");
484+
}
485+
else
486+
output.Append("TempConfigFile");
487+
output.Append(".ini");
488+
489+
StringBuilder desc = new StringBuilder();
490+
if (textBoxShortName.Text.Length > 0)
491+
desc.Append(textBoxShortName.Text);
492+
if (desc.Length > 0)
493+
desc.Append(" ");
494+
if (injector.RomIsLoaded)
495+
desc.Append(injector.Rom.ProductCodeVersion);
496+
497+
VCN64Config.FormEditor editor = new VCN64Config.FormEditor();
498+
499+
if (editor.ShowDialog(input, output.ToString(), desc.ToString()) == DialogResult.OK)
500+
{
501+
injector.IniPath = output.ToString();
502+
503+
injector.Ini = new VCN64ConfigFile(injector.IniPath);
504+
505+
if (injector.Ini.IsValid)
471506
textBoxConfigFile.Text = Path.GetFileName(injector.IniPath);
472-
}
473507
else
474-
textBoxConfigFile.Text = Path.GetFileName(injector.IniPath);
508+
MessageBox.Show(HelpString.Config_File_Invalid,
509+
"64Inject", MessageBoxButtons.OK, MessageBoxIcon.Error);
510+
511+
if (injector.BaseIsLoaded && injector.RomIsLoaded)
512+
labelTitleId.Text = "Title ID: " + injector.TitleId;
475513
}
514+
515+
editor.Dispose();
476516
}
477-
517+
478518
#endregion
479519

480520
#region Images
@@ -1153,6 +1193,12 @@ private void ButtonConfigFile_MouseEnter(object sender, EventArgs e)
11531193
labelHelpText.Text = HelpString.Choose_Config_File_Description;
11541194
}
11551195

1196+
private void buttonEditConfigFile_MouseEnter(object sender, EventArgs e)
1197+
{
1198+
groupBoxHelp.Text = HelpString.Edit_Config_File;
1199+
labelHelpText.Text = HelpString.Edit_Config_File_Description;
1200+
}
1201+
11561202
private void LabelConfigFile_MouseLeave(object sender, EventArgs e)
11571203
{
11581204
groupBoxHelp.Text = "";
@@ -1171,6 +1217,12 @@ private void ButtonConfigFile_MouseLeave(object sender, EventArgs e)
11711217
labelHelpText.Text = "";
11721218
}
11731219

1220+
private void buttonEditConfigFile_MouseLeave(object sender, EventArgs e)
1221+
{
1222+
groupBoxHelp.Text = "";
1223+
labelHelpText.Text = "";
1224+
}
1225+
11741226
//********************************************************************************
11751227
private void ButtonIcon_MouseEnter(object sender, EventArgs e)
11761228
{
@@ -1542,6 +1594,5 @@ private void ButtonConfigFilesPath_MouseLeave(object sender, EventArgs e)
15421594
}
15431595

15441596
#endregion
1545-
15461597
}
15471598
}

64Inject/64InjectGUI.es.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@
154154
<data name="groupBoxVCSettings.Text" xml:space="preserve">
155155
<value>Ajustes de la Consola Virtual</value>
156156
</data>
157+
<data name="buttonEditConfigFile.Text" xml:space="preserve">
158+
<value>Editar</value>
159+
</data>
157160
<data name="checkBoxLongName.Size" type="System.Drawing.Size, System.Drawing">
158161
<value>92, 17</value>
159162
</data>

0 commit comments

Comments
 (0)