diff --git a/SabreTools.Helper/Objects/Headerer.cs b/SabreTools.Helper/Objects/Headerer.cs index fc8388bc..a317ce92 100644 --- a/SabreTools.Helper/Objects/Headerer.cs +++ b/SabreTools.Helper/Objects/Headerer.cs @@ -12,7 +12,7 @@ namespace SabreTools { // Private instance variables private string _input; - private bool _extract; + private bool _restore; private Logger _logger; // Private required variables @@ -24,12 +24,12 @@ namespace SabreTools /// Create a new Headerer object /// /// Input file or folder name - /// True if we're extracting headers (default), false if we're replacing them + /// False if we're extracting headers (default), true if we're restoring them /// Logger object for file and console output - public Headerer(string input, bool extract, Logger logger) + public Headerer(string input, bool restore, Logger logger) { _input = input; - _extract = extract; + _restore = restore; _logger = logger; } @@ -39,7 +39,26 @@ namespace SabreTools /// True if it succeeded, false otherwise public bool Process() { - if (_extract) + if (_restore) + { + // If it's a single file, just check it + if (File.Exists(_input)) + { + RestoreHeader(_input); + } + // If it's a directory, recursively check all + else if (Directory.Exists(_input)) + { + foreach (string sub in Directory.GetFiles(_input)) + { + if (sub != ".." && sub != ".") + { + RestoreHeader(sub); + } + } + } + } + else { // If it's a single file, just check it if (File.Exists(_input)) @@ -58,25 +77,6 @@ namespace SabreTools } } } - else - { - // If it's a single file, just check it - if (File.Exists(_input)) - { - ReplaceHeader(_input); - } - // If it's a directory, recursively check all - else if (Directory.Exists(_input)) - { - foreach (string sub in Directory.GetFiles(_input)) - { - if (sub != ".." && sub != ".") - { - ReplaceHeader(sub); - } - } - } - } return true; } @@ -184,7 +184,7 @@ namespace SabreTools /// /// Name of the file to be parsed /// True if a header was found and appended, false otherwise - public bool ReplaceHeader(string file) + public bool RestoreHeader(string file) { // First, get the SHA-1 hash of the file Rom rom = FileTools.GetSingleFileInfo(file); diff --git a/SabreTools/Partials/SabreTools_Inits.cs b/SabreTools/Partials/SabreTools_Inits.cs index 8f553def..43c03c53 100644 --- a/SabreTools/Partials/SabreTools_Inits.cs +++ b/SabreTools/Partials/SabreTools_Inits.cs @@ -318,13 +318,13 @@ namespace SabreTools /// Wrap extracting and replacing headers /// /// Input file or folder names - /// True if we're extracting headers (default), false if we're replacing them + /// False if we're extracting headers (default), true if we're restoring them /// Logger object for file and console output - private static void InitHeaderer(List inputs, bool extract, Logger logger) + private static void InitHeaderer(List inputs, bool restore, Logger logger) { foreach (string input in inputs) { - Headerer headerer = new Headerer(input, extract, logger); + Headerer headerer = new Headerer(input, restore, logger); headerer.Process(); } } diff --git a/SabreTools/SabreTools.cs b/SabreTools/SabreTools.cs index c31dfe23..1d636a66 100644 --- a/SabreTools/SabreTools.cs +++ b/SabreTools/SabreTools.cs @@ -93,7 +93,6 @@ namespace SabreTools datprefix = false, dedup = false, enableGzip = false, - extract = true, extsplit = false, forceunpack = false, generate = false, @@ -113,6 +112,7 @@ namespace SabreTools quotes = false, rem = false, remext = false, + restore = true, romba = false, single = false, softlist = false, @@ -377,7 +377,7 @@ namespace SabreTools break; case "-re": case "--restore": - extract = false; + restore = true; break; case "-rm": case "--remove": @@ -713,7 +713,7 @@ namespace SabreTools // If we're in headerer mode else if (headerer) { - InitHeaderer(inputs, extract, _logger); + InitHeaderer(inputs, restore, _logger); } // Import a file or folder