diff --git a/CHANGELIST.md b/CHANGELIST.md
index b4ee6231..c374a49f 100644
--- a/CHANGELIST.md
+++ b/CHANGELIST.md
@@ -26,6 +26,7 @@
- Slight tweak to Result class variables
- Move constants into related classes
- Separate out artifact generation
+- Reduce surface area of generation method
### 3.1.9a (2024-05-21)
diff --git a/MPF.Core/Processors/Aaru.cs b/MPF.Core/Processors/Aaru.cs
index f07eeaa1..e6380fa1 100644
--- a/MPF.Core/Processors/Aaru.cs
+++ b/MPF.Core/Processors/Aaru.cs
@@ -101,7 +101,7 @@ namespace MPF.Core.Processors
}
///
- public override void GenerateSubmissionInfo(SubmissionInfo info, Options options, string basePath, Drive? drive)
+ public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat)
{
// TODO: Fill in submission info specifics for Aaru
var outputDirectory = Path.GetDirectoryName(basePath);
diff --git a/MPF.Core/Processors/BaseProcessor.cs b/MPF.Core/Processors/BaseProcessor.cs
index 8865bf1c..64044ab1 100644
--- a/MPF.Core/Processors/BaseProcessor.cs
+++ b/MPF.Core/Processors/BaseProcessor.cs
@@ -64,7 +64,8 @@ namespace MPF.Core.Processors
/// Options object representing user-defined options
/// Base filename and path to use for checking
/// Drive representing the disc to get information from
- public abstract void GenerateSubmissionInfo(SubmissionInfo submissionInfo, Options options, string basePath, Drive? drive);
+ /// Determines if outputs are processed according to Redump specifications
+ public abstract void GenerateSubmissionInfo(SubmissionInfo submissionInfo, string basePath, Drive? drive, bool redumpCompat);
#endregion
diff --git a/MPF.Core/Processors/CleanRip.cs b/MPF.Core/Processors/CleanRip.cs
index 414bd5c2..17039170 100644
--- a/MPF.Core/Processors/CleanRip.cs
+++ b/MPF.Core/Processors/CleanRip.cs
@@ -60,7 +60,7 @@ namespace MPF.Core.Processors
}
///
- public override void GenerateSubmissionInfo(SubmissionInfo info, Options options, string basePath, Drive? drive)
+ public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
diff --git a/MPF.Core/Processors/DiscImageCreator.cs b/MPF.Core/Processors/DiscImageCreator.cs
index e2e431f5..0d03fc5c 100644
--- a/MPF.Core/Processors/DiscImageCreator.cs
+++ b/MPF.Core/Processors/DiscImageCreator.cs
@@ -286,7 +286,7 @@ namespace MPF.Core.Processors
}
///
- public override void GenerateSubmissionInfo(SubmissionInfo info, Options options, string basePath, Drive? drive)
+ public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat)
{
var outputDirectory = Path.GetDirectoryName(basePath);
@@ -395,7 +395,7 @@ namespace MPF.Core.Processors
}
// Read the PVD
- if (!options.EnableRedumpCompatibility || System != RedumpSystem.MicrosoftXbox)
+ if (!redumpCompat || System != RedumpSystem.MicrosoftXbox)
info.Extras!.PVD = GetPVD($"{basePath}_mainInfo.txt") ?? string.Empty;
// Bluray-specific options
@@ -476,7 +476,7 @@ namespace MPF.Core.Processors
{
info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.XMID] = xmidString?.TrimEnd('\0') ?? string.Empty;
info.CommonDiscInfo.Serial = xmid.Serial ?? string.Empty;
- if (!options.EnableRedumpCompatibility)
+ if (!redumpCompat)
info.VersionAndEditions!.Version = xmid.Version ?? string.Empty;
info.CommonDiscInfo.Region = InfoTool.GetXGDRegion(xmid.Model.RegionIdentifier);
@@ -525,7 +525,7 @@ namespace MPF.Core.Processors
{
info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.XeMID] = xemidString?.TrimEnd('\0') ?? string.Empty;
info.CommonDiscInfo.Serial = xemid.Serial ?? string.Empty;
- if (!options.EnableRedumpCompatibility)
+ if (!redumpCompat)
info.VersionAndEditions!.Version = xemid.Version ?? string.Empty;
info.CommonDiscInfo.Region = InfoTool.GetXGDRegion(xemid.Model.RegionIdentifier);
diff --git a/MPF.Core/Processors/PS3CFW.cs b/MPF.Core/Processors/PS3CFW.cs
index 76e4428f..41f50aa5 100644
--- a/MPF.Core/Processors/PS3CFW.cs
+++ b/MPF.Core/Processors/PS3CFW.cs
@@ -55,7 +55,7 @@ namespace MPF.Core.Processors
}
///
- public override void GenerateSubmissionInfo(SubmissionInfo info, Options options, string basePath, Drive? drive)
+ public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
diff --git a/MPF.Core/Processors/Redumper.cs b/MPF.Core/Processors/Redumper.cs
index 409a9727..58bde7d5 100644
--- a/MPF.Core/Processors/Redumper.cs
+++ b/MPF.Core/Processors/Redumper.cs
@@ -172,7 +172,7 @@ namespace MPF.Core.Processors
}
///
- public override void GenerateSubmissionInfo(SubmissionInfo info, Options options, string basePath, Drive? drive)
+ public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
diff --git a/MPF.Core/Processors/UmdImageCreator.cs b/MPF.Core/Processors/UmdImageCreator.cs
index ef509846..2565964f 100644
--- a/MPF.Core/Processors/UmdImageCreator.cs
+++ b/MPF.Core/Processors/UmdImageCreator.cs
@@ -70,7 +70,7 @@ namespace MPF.Core.Processors
}
///
- public override void GenerateSubmissionInfo(SubmissionInfo info, Options options, string basePath, Drive? drive)
+ public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
diff --git a/MPF.Core/Processors/XboxBackupCreator.cs b/MPF.Core/Processors/XboxBackupCreator.cs
index ca504a37..a79d17cf 100644
--- a/MPF.Core/Processors/XboxBackupCreator.cs
+++ b/MPF.Core/Processors/XboxBackupCreator.cs
@@ -80,7 +80,7 @@ namespace MPF.Core.Processors
}
///
- public override void GenerateSubmissionInfo(SubmissionInfo info, Options options, string basePath, Drive? drive)
+ public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat)
{
// Ensure that required sections exist
info = Builder.EnsureAllSections(info);
@@ -140,7 +140,7 @@ namespace MPF.Core.Processors
{
info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.XMID] = xmidString?.TrimEnd('\0') ?? string.Empty;
info.CommonDiscInfo.Serial = xmid.Serial ?? string.Empty;
- if (!options.EnableRedumpCompatibility)
+ if (!redumpCompat)
info.VersionAndEditions!.Version = xmid.Version ?? string.Empty;
info.CommonDiscInfo.Region = InfoTool.GetXGDRegion(xmid.Model.RegionIdentifier);
@@ -164,7 +164,7 @@ namespace MPF.Core.Processors
{
info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.XeMID] = xemidString?.TrimEnd('\0') ?? string.Empty;
info.CommonDiscInfo.Serial = xemid.Serial ?? string.Empty;
- if (!options.EnableRedumpCompatibility)
+ if (!redumpCompat)
info.VersionAndEditions!.Version = xemid.Version ?? string.Empty;
info.CommonDiscInfo.Region = InfoTool.GetXGDRegion(xemid.Model.RegionIdentifier);
diff --git a/MPF.Core/SubmissionInfoTool.cs b/MPF.Core/SubmissionInfoTool.cs
index 112b395b..aec0feef 100644
--- a/MPF.Core/SubmissionInfoTool.cs
+++ b/MPF.Core/SubmissionInfoTool.cs
@@ -83,7 +83,7 @@ namespace MPF.Core
SubmissionInfo info = CreateDefaultSubmissionInfo(system, mediaType, options.AddPlaceholders);
// Get specific tool output handling
- processor?.GenerateSubmissionInfo(info, options, combinedBase, drive);
+ processor?.GenerateSubmissionInfo(info, combinedBase, drive, options.EnableRedumpCompatibility);
if (options.IncludeArtifacts)
processor?.GenerateArtifacts(info, combinedBase);