diff --git a/CHANGELIST.md b/CHANGELIST.md
index d726ca6d..b20d490d 100644
--- a/CHANGELIST.md
+++ b/CHANGELIST.md
@@ -14,6 +14,7 @@
- Quote input paths if needed
- Allow separate mounted path for Linux
- Fix cleaning XGD3 SS
+- Prepare Redumper for XGD support
### 3.2.1 (2024-08-05)
diff --git a/MPF.Processors/DiscImageCreator.cs b/MPF.Processors/DiscImageCreator.cs
index ec29cf43..407f310b 100644
--- a/MPF.Processors/DiscImageCreator.cs
+++ b/MPF.Processors/DiscImageCreator.cs
@@ -284,7 +284,6 @@ namespace MPF.Processors
}
///
- /// Determining the PSX/PS2 executable name is the last use of drive in this method
public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, bool redumpCompat)
{
var outputDirectory = Path.GetDirectoryName(basePath);
diff --git a/MPF.Processors/Redumper.cs b/MPF.Processors/Redumper.cs
index db5e7c22..50d22aa4 100644
--- a/MPF.Processors/Redumper.cs
+++ b/MPF.Processors/Redumper.cs
@@ -338,11 +338,35 @@ namespace MPF.Processors
break;
case RedumpSystem.MicrosoftXbox:
- // TODO: Support DMI and additional file information when generated
+ string xmidString = ProcessingTool.GetXGD1XMID($"{basePath}.manufacturer");
+ var xmid = SabreTools.Serialization.Wrappers.XMID.Create(xmidString);
+ if (xmid != null)
+ {
+ info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.XMID] = xmidString?.TrimEnd('\0') ?? string.Empty;
+ info.CommonDiscInfo.Serial = xmid.Serial ?? string.Empty;
+ if (!redumpCompat)
+ info.VersionAndEditions!.Version = xmid.Version ?? string.Empty;
+
+ info.CommonDiscInfo.Region = ProcessingTool.GetXGDRegion(xmid.Model.RegionIdentifier);
+ }
+
+ // TODO: Support SS and additional file information when generated
break;
case RedumpSystem.MicrosoftXbox360:
- // TODO: Support DMI and additional file information when generated
+ string xemidString = ProcessingTool.GetXGD23XeMID($"{basePath}.manufacturer");
+ var xemid = SabreTools.Serialization.Wrappers.XeMID.Create(xemidString);
+ if (xemid != null)
+ {
+ info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.XeMID] = xemidString?.TrimEnd('\0') ?? string.Empty;
+ info.CommonDiscInfo.Serial = xemid.Serial ?? string.Empty;
+ if (!redumpCompat)
+ info.VersionAndEditions!.Version = xemid.Version ?? string.Empty;
+
+ info.CommonDiscInfo.Region = ProcessingTool.GetXGDRegion(xemid.Model.RegionIdentifier);
+ }
+
+ // TODO: Support SS and additional file information when generated
break;
case RedumpSystem.NamcoSegaNintendoTriforce: