diff --git a/CHANGELIST.md b/CHANGELIST.md index 22774932..f6343d87 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -25,6 +25,7 @@ - Add skeleton for 8 more languages - Add 8 more language menu items - Add basic translation for 8 more languages +- Make Check flags toggle if config used ### 3.5.0 (2025-10-10) diff --git a/MPF.Check/Features/BaseFeature.cs b/MPF.Check/Features/BaseFeature.cs index 558bbce2..2b355ae0 100644 --- a/MPF.Check/Features/BaseFeature.cs +++ b/MPF.Check/Features/BaseFeature.cs @@ -166,9 +166,14 @@ namespace MPF.Check.Features Console.WriteLine("-j, --json Enable submission JSON output"); Console.WriteLine(" --include-artifacts Include artifacts in JSON (requires --json)"); Console.WriteLine("-z, --zip Enable log file compression"); - Console.WriteLine(" --log-compression Set the log compression type (requires --zip)"); + Console.WriteLine(" --log-compression Set the log compression type (requires compression enabled)"); Console.WriteLine("-d, --delete Enable unnecessary file deletion"); Console.WriteLine(); + Console.WriteLine("WARNING: If using a configuration file alongside any of the above options"); + Console.WriteLine("then flag options will act as toggles instead of always enabling."); + Console.WriteLine("For example, if log compression is enabled in your configuration file, then"); + Console.WriteLine("providing the --zip option would disable compression."); + Console.WriteLine(); Console.WriteLine("WARNING: Check will overwrite both any existing submission information files as well"); Console.WriteLine("as any log archives. Please make backups of those if you need to before running Check."); Console.WriteLine(); diff --git a/MPF.Check/Features/MainFeature.cs b/MPF.Check/Features/MainFeature.cs index b5f45c78..526318aa 100644 --- a/MPF.Check/Features/MainFeature.cs +++ b/MPF.Check/Features/MainFeature.cs @@ -48,7 +48,7 @@ namespace MPF.Check.Features internal readonly StringInput LoadSeedInput = new(_loadSeedName, "--load-seed", "Load a seed submission JSON for user information"); private const string _logCompressionName = "log-compression"; - internal readonly StringInput LogCompressionInput = new(_logCompressionName, "--log-compression", "Set the log compression type (requires --zip)"); + internal readonly StringInput LogCompressionInput = new(_logCompressionName, "--log-compression", "Set the log compression type (requires compression enabled)"); private const string _noPlaceholdersName = "no-placeholders"; internal readonly FlagInput NoPlaceholdersInput = new(_noPlaceholdersName, "--no-placeholders", "Disable placeholder values in submission info"); @@ -167,19 +167,19 @@ namespace MPF.Check.Features // Disable placeholder values in submission info else if (NoPlaceholdersInput.ProcessInput(args, ref index)) - Options.AddPlaceholders = false; + Options.AddPlaceholders = !Options.AddPlaceholders; // Create IRD from output files (PS3 only) else if (CreateIrdInput.ProcessInput(args, ref index)) - Options.CreateIRDAfterDumping = true; + Options.CreateIRDAfterDumping = !Options.CreateIRDAfterDumping; - // Set the log compression type (requires --zip) + // Set the log compression type (requires compression enabled) else if (LogCompressionInput.ProcessInput(args, ref index)) Options.LogCompression = LogCompressionInput.Value.ToLogCompression(); // Retrieve Redump match information else if (NoRetrieveInput.ProcessInput(args, ref index)) - Options.RetrieveMatchInformation = false; + Options.RetrieveMatchInformation = !Options.RetrieveMatchInformation; // Redump login else if (args[index].StartsWith("-c=") || args[index].StartsWith("--credentials=")) @@ -205,7 +205,7 @@ namespace MPF.Check.Features // Pull all information (requires Redump login) else if (PullAllInput.ProcessInput(args, ref index)) - Options.PullAllInformation = true; + Options.PullAllInformation = !Options.PullAllInformation; // Use a device path for physical checks else if (PathInput.ProcessInput(args, ref index)) @@ -229,23 +229,23 @@ namespace MPF.Check.Features // Add filename suffix else if (SuffixInput.ProcessInput(args, ref index)) - Options.AddFilenameSuffix = true; + Options.AddFilenameSuffix = !Options.AddFilenameSuffix; // Output submission JSON else if (JsonInput.ProcessInput(args, ref index)) - Options.OutputSubmissionJSON = true; + Options.OutputSubmissionJSON = !Options.OutputSubmissionJSON; // Include JSON artifacts else if (IncludeArtifactsInput.ProcessInput(args, ref index)) - Options.IncludeArtifacts = true; + Options.IncludeArtifacts = !Options.IncludeArtifacts; // Compress log and extraneous files else if (ZipInput.ProcessInput(args, ref index)) - Options.CompressLogFiles = true; + Options.CompressLogFiles = !Options.CompressLogFiles; // Delete unnecessary files else if (DeleteInput.ProcessInput(args, ref index)) - Options.DeleteUnnecessaryFiles = true; + Options.DeleteUnnecessaryFiles = !Options.DeleteUnnecessaryFiles; // Default, add to inputs else