diff --git a/NDecrypt/Program.cs b/NDecrypt/Program.cs
index 81f6512..24e0c65 100644
--- a/NDecrypt/Program.cs
+++ b/NDecrypt/Program.cs
@@ -14,11 +14,11 @@ namespace NDecrypt
}
bool? encrypt = null;
- if (args[0] == "decrypt")
+ if (args[0] == "decrypt" || args[0] == "d")
{
encrypt = false;
}
- else if (args[0] == "encrypt")
+ else if (args[0] == "encrypt" || args[0] == "e")
{
encrypt = true;
}
@@ -59,6 +59,10 @@ namespace NDecrypt
Console.Read();
}
+ ///
+ /// Display a basic help text
+ ///
+ /// Additional error text to display, can be null to ignore
private static void DisplayHelp(string err = null)
{
if (!string.IsNullOrWhiteSpace(err))
@@ -75,6 +79,35 @@ namespace NDecrypt
N3DS,
}
+ ///
+ /// Derive the encryption tool to be used for the given file
+ ///
+ /// Filename to derive the tool from
+ /// True if we are encrypting the file, false otherwise
+ /// rue if we are using development keys, false otherwise
+ ///
+ private static ITool DeriveTool(string filename, bool encrypt, bool development)
+ {
+ RomType type = DetermineRomType(filename);
+ switch(type)
+ {
+ case RomType.NDS:
+ case RomType.NDSi:
+ return new DSTool(filename, encrypt);
+ case RomType.N3DS:
+ return new ThreeDSTool(filename, development, encrypt);
+ case RomType.NULL:
+ default:
+ Console.WriteLine($"Unrecognized file format for {filename}. Expected *.nds, *.srl, *.dsi, *.3ds");
+ return null;
+ }
+ }
+
+ ///
+ /// Determine the rom type from the filename extension
+ ///
+ /// Filename to derive the type from
+ /// RomType value, if possible
private static RomType DetermineRomType(string filename)
{
if (filename.EndsWith(".nds", StringComparison.OrdinalIgnoreCase)
@@ -89,22 +122,5 @@ namespace NDecrypt
return RomType.NULL;
}
-
- private static ITool DeriveTool(string filename, bool encrypt, bool development)
- {
- RomType type = DetermineRomType(filename);
- switch(type)
- {
- case RomType.NDS:
- case RomType.NDSi:
- return new DSTool(filename, encrypt);
- case RomType.N3DS:
- return new ThreeDSTool(filename, development, encrypt);
- case RomType.NULL:
- default:
- Console.WriteLine($"Unrecognized file format for {filename}. Expected *.nds, *.dsi, *.3ds");
- return null;
- }
- }
}
}