diff --git a/SabreTools/Partials/SabreTools.Help.cs b/SabreTools/Partials/SabreTools.Help.cs index 8d9571f6..95a4b5ab 100644 --- a/SabreTools/Partials/SabreTools.Help.cs +++ b/SabreTools/Partials/SabreTools.Help.cs @@ -51,7 +51,17 @@ namespace SabreTools null)); datFromDir.AddFeature("noSHA256", new Feature( new List() { "-ns256", "--noSHA256" }, - "Don't include SHA256 in output", + "Don't include SHA-256 in output", + FeatureType.Flag, + null)); + datFromDir.AddFeature("noSHA384", new Feature( + new List() { "-ns384", "--noSHA384" }, + "Don't include SHA-384 in output", + FeatureType.Flag, + null)); + datFromDir.AddFeature("noSHA512", new Feature( + new List() { "-ns512", "--noSHA512" }, + "Don't include SHA-512 in output", FeatureType.Flag, null)); datFromDir.AddFeature("bare", new Feature( @@ -138,6 +148,16 @@ namespace SabreTools "Output in SHA-256 format", FeatureType.Flag, null)); + datFromDir.AddFeature("output-sha384", new Feature( + new List() { "-osha384", "--output-sha384" }, + "Output in SHA-256 format", + FeatureType.Flag, + null)); + datFromDir.AddFeature("output-sha512", new Feature( + new List() { "-osha512", "--output-sha512" }, + "Output in SHA-256 format", + FeatureType.Flag, + null)); datFromDir.AddFeature("output-sl", new Feature( new List() { "-osl", "--output-sl" }, "Output in Softwarelist format", @@ -717,7 +737,7 @@ namespace SabreTools "Prefix and postfix can include certain fields from the", "items by including %blah% in the input.", "A list of features that can be used are:", - " game, name, crc, md5, sha1, sha256, size", + " game, name, crc, md5, sha1, sha256, sha384, sha512, size", })); update["output-miss"].AddFeature("roms", new Feature( new List() { "-r", "--roms" }, @@ -829,6 +849,26 @@ namespace SabreTools "Add game name as a prefix", FeatureType.Flag, null)); + update.AddFeature("output-sha384", new Feature( + new List() { "-osha384", "--output-sha384" }, + "Output in SHA-384 format", + FeatureType.Flag, + null)); + update["output-sha384"].AddFeature("game-prefix", new Feature( + new List() { "-gp", "--game-prefix" }, + "Add game name as a prefix", + FeatureType.Flag, + null)); + update.AddFeature("output-sha512", new Feature( + new List() { "-osha512", "--output-sha512" }, + "Output in SHA-512 format", + FeatureType.Flag, + null)); + update["output-sha512"].AddFeature("game-prefix", new Feature( + new List() { "-gp", "--game-prefix" }, + "Add game name as a prefix", + FeatureType.Flag, + null)); update.AddFeature("output-sl", new Feature( new List() { "-osl", "--output-sl" }, "Output in Softwarelist format", @@ -981,6 +1021,16 @@ namespace SabreTools "Remove SHA-256 hashes from the output", FeatureType.Flag, null)); + update.AddFeature("rem-sha384", new Feature( + new List() { "-rsha384", "--rem-sha384" }, + "Remove SHA-384 hashes from the output", + FeatureType.Flag, + null)); + update.AddFeature("rem-sha512", new Feature( + new List() { "-rsha512", "--rem-sha512" }, + "Remove SHA-512 hashes from the output", + FeatureType.Flag, + null)); update.AddFeature("desc-name", new Feature( new List() { "-dan", "--desc-name" }, "Use description instead of machine name", @@ -1196,6 +1246,26 @@ namespace SabreTools "Filter by not SHA-256 hash", FeatureType.List, null)); + update.AddFeature("sha384", new Feature( + new List() { "-sha384", "--sha384" }, + "Filter by SHA-384 hash", + FeatureType.List, + null)); + update.AddFeature("not-sha384", new Feature( + new List() { "-nsha384", "--not-sha384" }, + "Filter by not SHA-384 hash", + FeatureType.List, + null)); + update.AddFeature("sha512", new Feature( + new List() { "-sha512", "--sha512" }, + "Filter by SHA-512 hash", + FeatureType.List, + null)); + update.AddFeature("not-sha512", new Feature( + new List() { "-nsha512", "--not-sha512" }, + "Filter by not SHA-512 hash", + FeatureType.List, + null)); update.AddFeature("status", new Feature( new List() { "-is", "--status" }, "Include only items with a given status", diff --git a/SabreTools/SabreTools.cs b/SabreTools/SabreTools.cs index e4207781..d6997de6 100644 --- a/SabreTools/SabreTools.cs +++ b/SabreTools/SabreTools.cs @@ -466,6 +466,14 @@ namespace SabreTools case "--output-sha256": datFormat |= DatFormat.RedumpSHA256; break; + case "-osha384": + case "--output-sha384": + datFormat |= DatFormat.RedumpSHA384; + break; + case "-osha512": + case "--output-sha512": + datFormat |= DatFormat.RedumpSHA512; + break; case "-osl": case "--output-sl": datFormat |= DatFormat.SoftwareList; @@ -737,6 +745,14 @@ namespace SabreTools case "--not-sha256": filter.NotSHA256s.Add(args[++i]); break; + case "-nsha384": + case "--not-sha384": + filter.NotSHA384s.Add(args[++i]); + break; + case "-nsha512": + case "--not-sha512": + filter.NotSHA512s.Add(args[++i]); + break; case "-out": case "--out": outDir = args[++i]; @@ -792,6 +808,14 @@ namespace SabreTools case "--sha256": filter.SHA256s.Add(args[++i]); break; + case "-sha384": + case "--sha384": + filter.SHA384s.Add(args[++i]); + break; + case "-sha512": + case "--sha512": + filter.SHA512s.Add(args[++i]); + break; case "-slt": case "--less": filter.SizeLessThanOrEqual = GetSizeFromString(args[++i]); @@ -985,6 +1009,14 @@ namespace SabreTools case "--not-sha256": filter.NotSHA256s.Add(split[1]); break; + case "-nsha384": + case "--not-sha384": + filter.NotSHA384s.Add(split[1]); + break; + case "-nsha512": + case "--not-sha512": + filter.NotSHA512s.Add(split[1]); + break; case "-out": case "--out": outDir = split[1]; @@ -1040,6 +1072,14 @@ namespace SabreTools case "--sha256": filter.SHA256s.Add(split[1]); break; + case "-sha384": + case "--sha384": + filter.SHA384s.Add(split[1]); + break; + case "-sha512": + case "--sha512": + filter.SHA512s.Add(split[1]); + break; case "-slt": case "--less": filter.SizeLessThanOrEqual = GetSizeFromString(split[1]);