From 3b550b2c7415da44da50ab5ad4d61976a9ea4b4f Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 2 Feb 2017 16:16:07 -0800 Subject: [PATCH] [SabreTools] Start rearranging code --- SabreTools/SabreTools.cs | 144 +++++++++++++++++++++------------------ 1 file changed, 76 insertions(+), 68 deletions(-) diff --git a/SabreTools/SabreTools.cs b/SabreTools/SabreTools.cs index bd1e1233..aab289d1 100644 --- a/SabreTools/SabreTools.cs +++ b/SabreTools/SabreTools.cs @@ -166,78 +166,86 @@ namespace SabreTools List sha1 = new List(); List status = new List(); + // Check the first argument for being a feature flag + switch (args[0]) + { + case "-?": + case "-h": + case "--help": + if (1 < args.Length) + { + _help.OutputIndividualFeature(args[1]); + } + else + { + _help.OutputGenericHelp(); + } + _logger.Close(); + return; + case "-d": + case "--d2d": + case "--dfd": + datFromDir = true; + break; + case "-es": + case "--ext-split": + splitByExt = true; + break; + case "-ex": + case "--extract": + extract = true; + break; + case "-hs": + case "--hash-split": + splitByHash = true; + break; + case "-ls": + case "--lvl-split": + splitByLevel = true; + break; + case "-re": + case "--restore": + restore = true; + break; + case "--script": + // No-op for script mode, allowing for retaining the screen + break; + case "-ss": + case "--sort": + sort = true; + break; + case "-ssd": + case "--sort-depot": + sortDepot = true; + break; + case "-st": + case "--stats": + stats = true; + break; + case "-ts": + case "--type-split": + splitByType = true; + break; + case "-ve": + case "--verify": + verify = true; + break; + case "-ved": + case "--verify-depot": + verifyDepot = true; + break; + + // If we don't have a valid flag, feed it through the help system + default: + _help.OutputIndividualFeature(args[0]); + return; + } + // Determine which switches are enabled (with values if necessary) - for (int i = 0; i < args.Length; i++) + for (int i = 1; i < args.Length; i++) { switch (args[i]) { - // Feature flags - case "-?": - case "-h": - case "--help": - if (i + 1 < args.Length) - { - _help.OutputIndividualFeature(args[i + 1]); - } - else - { - _help.OutputGenericHelp(); - } - _logger.Close(); - return; - case "-d": - case "--d2d": - case "--dfd": - datFromDir = true; - break; - case "-es": - case "--ext-split": - splitByExt = true; - break; - case "-ex": - case "--extract": - extract = true; - break; - case "-hs": - case "--hash-split": - splitByHash = true; - break; - case "-ls": - case "--lvl-split": - splitByLevel = true; - break; - case "-re": - case "--restore": - restore = true; - break; - case "--script": - // No-op for script mode, allowing for retaining the screen - break; - case "-ss": - case "--sort": - sort = true; - break; - case "-ssd": - case "--sort-depot": - sortDepot = true; - break; - case "-st": - case "--stats": - stats = true; - break; - case "-ts": - case "--type-split": - splitByType = true; - break; - case "-ve": - case "--verify": - verify = true; - break; - case "-ved": - case "--verify-depot": - verifyDepot = true; - break; - // User flags case "-ab": case "--add-blank":