From 02292acee195ad69814072fe6be610bc062176b4 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 28 Sep 2022 11:48:25 -0700 Subject: [PATCH] Add Redumper command support and reset --- CHANGELIST.md | 1 + MPF.Modules/Redumper/Parameters.cs | 193 ++++++++++++++++++++++++++++- 2 files changed, 192 insertions(+), 2 deletions(-) diff --git a/CHANGELIST.md b/CHANGELIST.md index 446be2e4..85c719c1 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -119,6 +119,7 @@ - Download Redumper with AppVeyor - Add Redumper constants - Add Redumper parameter values +- Add Redumper command support and reset ### 2.3 (2022-02-05) - Start overhauling Redump information pulling, again diff --git a/MPF.Modules/Redumper/Parameters.cs b/MPF.Modules/Redumper/Parameters.cs index 6ca3ec47..dd3eca47 100644 --- a/MPF.Modules/Redumper/Parameters.cs +++ b/MPF.Modules/Redumper/Parameters.cs @@ -185,7 +185,183 @@ namespace MPF.Modules.Redumper /// public override Dictionary> GetCommandSupport() { - return new Dictionary>(); + // TODO: Figure out actual support for each flag + return new Dictionary>() + { + [CommandStrings.NONE] = new List() + { + FlagStrings.HelpLong, + FlagStrings.HelpShort, + }, + [CommandStrings.CD] = new List() + { + FlagStrings.AudioSilenceThreshold, + FlagStrings.CDiCorrectOffset, + FlagStrings.CDiReadyNormalize, + FlagStrings.DescrambleNew, + FlagStrings.Drive, + FlagStrings.ForceOffset, + FlagStrings.ForceQTOC, + FlagStrings.ForceSplit, + FlagStrings.ForceTOC, + FlagStrings.ISO9660Trim, + FlagStrings.ImageName, + FlagStrings.ImagePath, + FlagStrings.LeaveUnchanged, + FlagStrings.Overwrite, + FlagStrings.RefineSubchannel, + FlagStrings.Retries, + FlagStrings.RingSize, + FlagStrings.Skip, + FlagStrings.SkipFill, + FlagStrings.SkipLeadIn, + FlagStrings.SkipSize, + FlagStrings.Speed, + FlagStrings.StopLBA, + FlagStrings.Unsupported, + FlagStrings.Verbose, + }, + [CommandStrings.Dump] = new List() + { + FlagStrings.AudioSilenceThreshold, + FlagStrings.CDiCorrectOffset, + FlagStrings.CDiReadyNormalize, + FlagStrings.DescrambleNew, + FlagStrings.Drive, + FlagStrings.ForceOffset, + FlagStrings.ForceQTOC, + FlagStrings.ForceSplit, + FlagStrings.ForceTOC, + FlagStrings.ISO9660Trim, + FlagStrings.ImageName, + FlagStrings.ImagePath, + FlagStrings.LeaveUnchanged, + FlagStrings.Overwrite, + FlagStrings.RefineSubchannel, + FlagStrings.Retries, + FlagStrings.RingSize, + FlagStrings.Skip, + FlagStrings.SkipFill, + FlagStrings.SkipLeadIn, + FlagStrings.SkipSize, + FlagStrings.Speed, + FlagStrings.StopLBA, + FlagStrings.Unsupported, + FlagStrings.Verbose, + }, + [CommandStrings.Info] = new List() + { + FlagStrings.AudioSilenceThreshold, + FlagStrings.CDiCorrectOffset, + FlagStrings.CDiReadyNormalize, + FlagStrings.DescrambleNew, + FlagStrings.Drive, + FlagStrings.ForceOffset, + FlagStrings.ForceQTOC, + FlagStrings.ForceSplit, + FlagStrings.ForceTOC, + FlagStrings.ISO9660Trim, + FlagStrings.ImageName, + FlagStrings.ImagePath, + FlagStrings.LeaveUnchanged, + FlagStrings.Overwrite, + FlagStrings.RefineSubchannel, + FlagStrings.Retries, + FlagStrings.RingSize, + FlagStrings.Skip, + FlagStrings.SkipFill, + FlagStrings.SkipLeadIn, + FlagStrings.SkipSize, + FlagStrings.Speed, + FlagStrings.StopLBA, + FlagStrings.Unsupported, + FlagStrings.Verbose, + }, + [CommandStrings.Protection] = new List() + { + FlagStrings.AudioSilenceThreshold, + FlagStrings.CDiCorrectOffset, + FlagStrings.CDiReadyNormalize, + FlagStrings.DescrambleNew, + FlagStrings.Drive, + FlagStrings.ForceOffset, + FlagStrings.ForceQTOC, + FlagStrings.ForceSplit, + FlagStrings.ForceTOC, + FlagStrings.ISO9660Trim, + FlagStrings.ImageName, + FlagStrings.ImagePath, + FlagStrings.LeaveUnchanged, + FlagStrings.Overwrite, + FlagStrings.RefineSubchannel, + FlagStrings.Retries, + FlagStrings.RingSize, + FlagStrings.Skip, + FlagStrings.SkipFill, + FlagStrings.SkipLeadIn, + FlagStrings.SkipSize, + FlagStrings.Speed, + FlagStrings.StopLBA, + FlagStrings.Unsupported, + FlagStrings.Verbose, + }, + [CommandStrings.Refine] = new List() + { + FlagStrings.AudioSilenceThreshold, + FlagStrings.CDiCorrectOffset, + FlagStrings.CDiReadyNormalize, + FlagStrings.DescrambleNew, + FlagStrings.Drive, + FlagStrings.ForceOffset, + FlagStrings.ForceQTOC, + FlagStrings.ForceSplit, + FlagStrings.ForceTOC, + FlagStrings.ISO9660Trim, + FlagStrings.ImageName, + FlagStrings.ImagePath, + FlagStrings.LeaveUnchanged, + FlagStrings.Overwrite, + FlagStrings.RefineSubchannel, + FlagStrings.Retries, + FlagStrings.RingSize, + FlagStrings.Skip, + FlagStrings.SkipFill, + FlagStrings.SkipLeadIn, + FlagStrings.SkipSize, + FlagStrings.Speed, + FlagStrings.StopLBA, + FlagStrings.Unsupported, + FlagStrings.Verbose, + }, + [CommandStrings.Split] = new List() + { + FlagStrings.AudioSilenceThreshold, + FlagStrings.CDiCorrectOffset, + FlagStrings.CDiReadyNormalize, + FlagStrings.DescrambleNew, + FlagStrings.Drive, + FlagStrings.ForceOffset, + FlagStrings.ForceQTOC, + FlagStrings.ForceSplit, + FlagStrings.ForceTOC, + FlagStrings.ISO9660Trim, + FlagStrings.ImageName, + FlagStrings.ImagePath, + FlagStrings.LeaveUnchanged, + FlagStrings.Overwrite, + FlagStrings.RefineSubchannel, + FlagStrings.Retries, + FlagStrings.RingSize, + FlagStrings.Skip, + FlagStrings.SkipFill, + FlagStrings.SkipLeadIn, + FlagStrings.SkipSize, + FlagStrings.Speed, + FlagStrings.StopLBA, + FlagStrings.Unsupported, + FlagStrings.Verbose, + }, + }; } /// @@ -205,9 +381,22 @@ namespace MPF.Modules.Redumper /// protected override void ResetValues() { - BaseCommand = string.Empty; // TODO: Fill out + BaseCommand = CommandStrings.NONE; flags = new Dictionary(); + + AudioSilenceThresholdValue = null; + DriveValue = null; + ForceFoffsetValue = null; + ImageNameValue = null; + ImagePathValue = null; + RetriesValue = null; + RingSizeValue = null; + SkipValue = null; + SkipFillValue = null; + SkipSizeValue = null; + SpeedValue = null; + StopLBAValue = null; } ///