diff --git a/CHANGELIST.md b/CHANGELIST.md
index 6888d4b6..93d16f8e 100644
--- a/CHANGELIST.md
+++ b/CHANGELIST.md
@@ -57,6 +57,7 @@
- Make site code formatting helper method
- Better helper method organization
- Start supporting ordered tags and non-tags
+- Add more non-tag support; rearrange info window
### 2.2 (2021-12-30)
- Fix Saturn header finding
diff --git a/MPF.Core/Data/Constants.cs b/MPF.Core/Data/Constants.cs
index 92052361..a5a60116 100644
--- a/MPF.Core/Data/Constants.cs
+++ b/MPF.Core/Data/Constants.cs
@@ -100,13 +100,7 @@ namespace MPF.Core.Data
public const string PlayStationEDCField = "EDC";
public const string PlayStationAntiModchipField = "Anti-modchip";
public const string PlayStationLibCryptField = "LibCrypt";
- public const string XBOXDMIHash = "DMI";
- public const string XBOXPFIHash = "PFI";
- public const string XBOXSSHash = "SS";
public const string XBOXSSRanges = "Security Sector Ranges";
- public const string XBOXSSVersion = "Security Sector Version";
- public const string XBOXXMID = "XMID";
- public const string XBOX360XeMID = "XeMID";
// Default values
diff --git a/MPF.Library/InfoTool.cs b/MPF.Library/InfoTool.cs
index cc45a25c..5754e664 100644
--- a/MPF.Library/InfoTool.cs
+++ b/MPF.Library/InfoTool.cs
@@ -889,8 +889,7 @@ namespace MPF.Library
// Add all special fields before any comments
info.CommonDiscInfo.Comments = string.Join(
- "\n", info.CommonDiscInfo.CommentsSpecialFields
- .OrderBy(kvp => kvp.Key)
+ "\n", OrderCommentTags(info.CommonDiscInfo.CommentsSpecialFields)
.Where(kvp => !string.IsNullOrWhiteSpace(kvp.Value))
.Select(FormatSiteTag)
.Where(s => !string.IsNullOrEmpty(s))
@@ -1692,6 +1691,15 @@ namespace MPF.Library
text = text.Replace(siteCode.LongName(), siteCode.ShortName());
}
+ // For some outdated tags, we need to use alternate names
+ text = text.Replace("DMI:", ((SiteCode?)SiteCode.DMIHash).ShortName());
+ text = text.Replace("LucasArts ID:", ((SiteCode?)SiteCode.LucasArtsID).ShortName());
+ text = text.Replace("PFI:", ((SiteCode?)SiteCode.PFIHash).ShortName());
+ text = text.Replace("SS:", ((SiteCode?)SiteCode.SSHash).ShortName());
+ text = text.Replace("SS version:", ((SiteCode?)SiteCode.SSVersion).ShortName());
+ text = text.Replace("XeMID:", ((SiteCode?)SiteCode.XeMID).ShortName());
+ text = text.Replace("XMID:", ((SiteCode?)SiteCode.XMID).ShortName());
+
return text;
}
@@ -1886,6 +1894,99 @@ namespace MPF.Library
if (tags == null || tags.Count == 0)
return sorted;
+ // Identifying Info
+ if (tags.ContainsKey(SiteCode.AlternativeTitle))
+ sorted.Add(new KeyValuePair(SiteCode.AlternativeTitle, tags[SiteCode.AlternativeTitle]));
+ if (tags.ContainsKey(SiteCode.AlternativeForeignTitle))
+ sorted.Add(new KeyValuePair(SiteCode.AlternativeForeignTitle, tags[SiteCode.AlternativeForeignTitle]));
+ if (tags.ContainsKey(SiteCode.VolumeLabel))
+ sorted.Add(new KeyValuePair(SiteCode.VolumeLabel, tags[SiteCode.VolumeLabel]));
+ if (tags.ContainsKey(SiteCode.InternalSerialName))
+ sorted.Add(new KeyValuePair(SiteCode.InternalSerialName, tags[SiteCode.InternalSerialName]));
+
+ if (tags.ContainsKey(SiteCode.XMID))
+ sorted.Add(new KeyValuePair(SiteCode.XMID, tags[SiteCode.XMID]));
+ if (tags.ContainsKey(SiteCode.XeMID))
+ sorted.Add(new KeyValuePair(SiteCode.XeMID, tags[SiteCode.XeMID]));
+ if (tags.ContainsKey(SiteCode.DMIHash))
+ sorted.Add(new KeyValuePair(SiteCode.DMIHash, tags[SiteCode.DMIHash]));
+ if (tags.ContainsKey(SiteCode.PFIHash))
+ sorted.Add(new KeyValuePair(SiteCode.PFIHash, tags[SiteCode.PFIHash]));
+ if (tags.ContainsKey(SiteCode.SSHash))
+ sorted.Add(new KeyValuePair(SiteCode.SSHash, tags[SiteCode.SSHash]));
+ if (tags.ContainsKey(SiteCode.SSVersion))
+ sorted.Add(new KeyValuePair(SiteCode.SSVersion, tags[SiteCode.SSVersion]));
+
+ if (tags.ContainsKey(SiteCode.BBFCRegistrationNumber))
+ sorted.Add(new KeyValuePair(SiteCode.BBFCRegistrationNumber, tags[SiteCode.BBFCRegistrationNumber]));
+ if (tags.ContainsKey(SiteCode.DiscHologramID))
+ sorted.Add(new KeyValuePair(SiteCode.DiscHologramID, tags[SiteCode.DiscHologramID]));
+ if (tags.ContainsKey(SiteCode.DNASDiscID))
+ sorted.Add(new KeyValuePair(SiteCode.DNASDiscID, tags[SiteCode.DNASDiscID]));
+ if (tags.ContainsKey(SiteCode.ISBN))
+ sorted.Add(new KeyValuePair(SiteCode.ISBN, tags[SiteCode.ISBN]));
+ if (tags.ContainsKey(SiteCode.ISSN))
+ sorted.Add(new KeyValuePair(SiteCode.ISSN, tags[SiteCode.ISSN]));
+ if (tags.ContainsKey(SiteCode.PPN))
+ sorted.Add(new KeyValuePair(SiteCode.PPN, tags[SiteCode.PPN]));
+ if (tags.ContainsKey(SiteCode.VFCCode))
+ sorted.Add(new KeyValuePair(SiteCode.VFCCode, tags[SiteCode.VFCCode]));
+
+ if (tags.ContainsKey(SiteCode.Genre))
+ sorted.Add(new KeyValuePair(SiteCode.Genre, tags[SiteCode.Genre]));
+ if (tags.ContainsKey(SiteCode.Series))
+ sorted.Add(new KeyValuePair(SiteCode.Series, tags[SiteCode.Series]));
+ if (tags.ContainsKey(SiteCode.PostgapType))
+ sorted.Add(new KeyValuePair(SiteCode.PostgapType, tags[SiteCode.PostgapType]));
+ if (tags.ContainsKey(SiteCode.VCD))
+ sorted.Add(new KeyValuePair(SiteCode.VCD, tags[SiteCode.VCD]));
+
+ // Publisher / Company IDs
+ if (tags.ContainsKey(SiteCode.AcclaimID))
+ sorted.Add(new KeyValuePair(SiteCode.AcclaimID, tags[SiteCode.AcclaimID]));
+ if (tags.ContainsKey(SiteCode.ActivisionID))
+ sorted.Add(new KeyValuePair(SiteCode.ActivisionID, tags[SiteCode.ActivisionID]));
+ if (tags.ContainsKey(SiteCode.BandaiID))
+ sorted.Add(new KeyValuePair(SiteCode.BandaiID, tags[SiteCode.BandaiID]));
+ if (tags.ContainsKey(SiteCode.ElectronicArtsID))
+ sorted.Add(new KeyValuePair(SiteCode.ElectronicArtsID, tags[SiteCode.ElectronicArtsID]));
+ if (tags.ContainsKey(SiteCode.FoxInteractiveID))
+ sorted.Add(new KeyValuePair(SiteCode.FoxInteractiveID, tags[SiteCode.FoxInteractiveID]));
+ if (tags.ContainsKey(SiteCode.GTInteractiveID))
+ sorted.Add(new KeyValuePair(SiteCode.GTInteractiveID, tags[SiteCode.GTInteractiveID]));
+ if (tags.ContainsKey(SiteCode.JASRACID))
+ sorted.Add(new KeyValuePair(SiteCode.JASRACID, tags[SiteCode.JASRACID]));
+ if (tags.ContainsKey(SiteCode.KingRecordsID))
+ sorted.Add(new KeyValuePair(SiteCode.KingRecordsID, tags[SiteCode.KingRecordsID]));
+ if (tags.ContainsKey(SiteCode.KoeiID))
+ sorted.Add(new KeyValuePair(SiteCode.KoeiID, tags[SiteCode.KoeiID]));
+ if (tags.ContainsKey(SiteCode.KonamiID))
+ sorted.Add(new KeyValuePair(SiteCode.KonamiID, tags[SiteCode.KonamiID]));
+ if (tags.ContainsKey(SiteCode.LucasArtsID))
+ sorted.Add(new KeyValuePair(SiteCode.LucasArtsID, tags[SiteCode.LucasArtsID]));
+ if (tags.ContainsKey(SiteCode.MicrosoftID))
+ sorted.Add(new KeyValuePair(SiteCode.MicrosoftID, tags[SiteCode.MicrosoftID]));
+ if (tags.ContainsKey(SiteCode.NaganoID))
+ sorted.Add(new KeyValuePair(SiteCode.NaganoID, tags[SiteCode.NaganoID]));
+ if (tags.ContainsKey(SiteCode.NamcoID))
+ sorted.Add(new KeyValuePair(SiteCode.NamcoID, tags[SiteCode.NamcoID]));
+ if (tags.ContainsKey(SiteCode.NipponIchiSoftwareID))
+ sorted.Add(new KeyValuePair(SiteCode.NipponIchiSoftwareID, tags[SiteCode.NipponIchiSoftwareID]));
+ if (tags.ContainsKey(SiteCode.OriginID))
+ sorted.Add(new KeyValuePair(SiteCode.OriginID, tags[SiteCode.OriginID]));
+ if (tags.ContainsKey(SiteCode.PonyCanyonID))
+ sorted.Add(new KeyValuePair(SiteCode.PonyCanyonID, tags[SiteCode.PonyCanyonID]));
+ if (tags.ContainsKey(SiteCode.SegaID))
+ sorted.Add(new KeyValuePair(SiteCode.SegaID, tags[SiteCode.SegaID]));
+ if (tags.ContainsKey(SiteCode.SelenID))
+ sorted.Add(new KeyValuePair(SiteCode.SelenID, tags[SiteCode.SelenID]));
+ if (tags.ContainsKey(SiteCode.TaitoID))
+ sorted.Add(new KeyValuePair(SiteCode.TaitoID, tags[SiteCode.TaitoID]));
+ if (tags.ContainsKey(SiteCode.UbisoftID))
+ sorted.Add(new KeyValuePair(SiteCode.UbisoftID, tags[SiteCode.UbisoftID]));
+ if (tags.ContainsKey(SiteCode.ValveID))
+ sorted.Add(new KeyValuePair(SiteCode.ValveID, tags[SiteCode.ValveID]));
+
return sorted;
}
diff --git a/MPF.Modules/Aaru/Parameters.cs b/MPF.Modules/Aaru/Parameters.cs
index 9d285928..86022b78 100644
--- a/MPF.Modules/Aaru/Parameters.cs
+++ b/MPF.Modules/Aaru/Parameters.cs
@@ -284,12 +284,12 @@ namespace MPF.Modules.Aaru
break;
case RedumpSystem.MicrosoftXbox:
- if (GetXgdAuxInfo(sidecar, out string dmihash, out string pfihash, out string sshash, out string ss, out string ssver))
+ if (GetXgdAuxInfo(sidecar, out string xgd1DMIHash, out string xgd1PFIHash, out string xgd1SSHash, out string ss, out string xgd1SSVer))
{
- info.CommonDiscInfo.Comments += $"{Template.XBOXDMIHash}: {dmihash ?? ""}\n" +
- $"{Template.XBOXPFIHash}: {pfihash ?? ""}\n" +
- $"{Template.XBOXSSHash}: {sshash ?? ""}\n" +
- $"{Template.XBOXSSVersion}: {ssver ?? ""}\n";
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.DMIHash] = xgd1DMIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.PFIHash] = xgd1PFIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSHash] = xgd1SSHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSVersion] = xgd1SSVer;
info.Extras.SecuritySectorRanges = ss ?? "";
}
@@ -303,12 +303,12 @@ namespace MPF.Modules.Aaru
break;
case RedumpSystem.MicrosoftXbox360:
- if (GetXgdAuxInfo(sidecar, out string dmi360hash, out string pfi360hash, out string ss360hash, out string ss360, out string ssver360))
+ if (GetXgdAuxInfo(sidecar, out string xgd23DMIHash, out string xgd23PFIHash, out string xgd23SSHash, out string ss360, out string xgd23SSVer))
{
- info.CommonDiscInfo.Comments += $"{Template.XBOXDMIHash}: {dmi360hash ?? ""}\n" +
- $"{Template.XBOXPFIHash}: {pfi360hash ?? ""}\n" +
- $"{Template.XBOXSSHash}: {ss360hash ?? ""}\n" +
- $"{Template.XBOXSSVersion}: {ssver360 ?? ""}\n";
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.DMIHash] = xgd23DMIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.PFIHash] = xgd23PFIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSHash] = xgd23SSHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSVersion] = xgd23SSVer;
info.Extras.SecuritySectorRanges = ss360 ?? "";
}
diff --git a/MPF.Modules/DiscImageCreator/Parameters.cs b/MPF.Modules/DiscImageCreator/Parameters.cs
index f834980a..b5270038 100644
--- a/MPF.Modules/DiscImageCreator/Parameters.cs
+++ b/MPF.Modules/DiscImageCreator/Parameters.cs
@@ -477,7 +477,7 @@ namespace MPF.Modules.DiscImageCreator
XgdInfo xgd1Info = new XgdInfo(xgd1XMID);
if (xgd1Info?.Initialized == true)
{
- info.CommonDiscInfo.Comments += $"{Template.XBOXXMID}: {xgd1Info.XMID ?? ""}\n";
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.XMID] = xgd1Info.XMID;
info.CommonDiscInfo.Serial = xgd1Info.GetSerial() ?? "";
info.VersionAndEditions.Version = xgd1Info.GetVersion() ?? "";
info.CommonDiscInfo.Region = xgd1Info.InternalRegion;
@@ -485,10 +485,10 @@ namespace MPF.Modules.DiscImageCreator
if (GetXGDAuxInfo(basePath + "_disc.txt", out string xgd1DMIHash, out string xgd1PFIHash, out string xgd1SSHash, out string xgd1SS, out string xgd1SSVer))
{
- info.CommonDiscInfo.Comments += $"{Template.XBOXDMIHash}: {xgd1DMIHash ?? ""}\n" +
- $"{Template.XBOXPFIHash}: {xgd1PFIHash ?? ""}\n" +
- $"{Template.XBOXSSHash}: {xgd1SSHash ?? ""}\n" +
- $"{Template.XBOXSSVersion}: {xgd1SSVer ?? ""}\n";
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.DMIHash] = xgd1DMIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.PFIHash] = xgd1PFIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSHash] = xgd1SSHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSVersion] = xgd1SSVer;
info.Extras.SecuritySectorRanges = xgd1SS ?? "";
}
@@ -499,7 +499,7 @@ namespace MPF.Modules.DiscImageCreator
XgdInfo xgd23Info = new XgdInfo(xgd23XeMID);
if (xgd23Info?.Initialized == true)
{
- info.CommonDiscInfo.Comments += $"{Template.XBOX360XeMID}: {xgd23Info.XMID ?? ""}\n";
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.XeMID] = xgd23Info.XMID;
info.CommonDiscInfo.Serial = xgd23Info.GetSerial() ?? "";
info.VersionAndEditions.Version = xgd23Info.GetVersion() ?? "";
info.CommonDiscInfo.Region = xgd23Info.InternalRegion;
@@ -507,10 +507,10 @@ namespace MPF.Modules.DiscImageCreator
if (GetXGDAuxInfo(basePath + "_disc.txt", out string xgd23DMIHash, out string xgd23PFIHash, out string xgd23SSHash, out string xgd23SS, out string xgd23SSVer))
{
- info.CommonDiscInfo.Comments += $"{Template.XBOXDMIHash}: {xgd23DMIHash ?? ""}\n" +
- $"{Template.XBOXPFIHash}: {xgd23PFIHash ?? ""}\n" +
- $"{Template.XBOXSSHash}: {xgd23SSHash ?? ""}\n" +
- $"{Template.XBOXSSVersion}: {xgd23SSVer ?? ""}\n";
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.DMIHash] = xgd23DMIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.PFIHash] = xgd23PFIHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSHash] = xgd23SSHash;
+ info.CommonDiscInfo.CommentsSpecialFields[SiteCode.SSVersion] = xgd23SSVer;
info.Extras.SecuritySectorRanges = xgd23SS ?? "";
}
diff --git a/MPF/ViewModels/DiscInformationViewModel.cs b/MPF/ViewModels/DiscInformationViewModel.cs
index 3cb06a69..54e6710c 100644
--- a/MPF/ViewModels/DiscInformationViewModel.cs
+++ b/MPF/ViewModels/DiscInformationViewModel.cs
@@ -122,6 +122,8 @@ namespace MPF.GUI.ViewModels
Parent.AntiModchip.Visibility = Visibility.Collapsed;
else
Parent.AntiModchip.Text = SubmissionInfo.CopyProtection.AntiModchip.LongName();
+ if (SubmissionInfo?.CommonDiscInfo?.CommentsSpecialFields.Keys.Contains(SiteCode.DMIHash) != true)
+ Parent.DMIHash.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CommonDiscInfo?.ErrorsCount))
Parent.ErrorsCount.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CommonDiscInfo?.EXEDateBuildDate))
@@ -140,6 +142,8 @@ namespace MPF.GUI.ViewModels
Parent.LibCrypt.Text = SubmissionInfo.CopyProtection.LibCrypt.LongName();
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CopyProtection?.LibCryptData))
Parent.LibCryptData.Visibility = Visibility.Collapsed;
+ if (SubmissionInfo?.CommonDiscInfo?.CommentsSpecialFields.Keys.Contains(SiteCode.PFIHash) != true)
+ Parent.PFIHash.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.Extras?.PIC))
Parent.PIC.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CopyProtection?.Protection))
@@ -148,10 +152,18 @@ namespace MPF.GUI.ViewModels
Parent.PVD.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.CopyProtection?.SecuROMData))
Parent.SecuROMData.Visibility = Visibility.Collapsed;
+ if (SubmissionInfo?.CommonDiscInfo?.CommentsSpecialFields.Keys.Contains(SiteCode.SSHash) != true)
+ Parent.SSHash.Visibility = Visibility.Collapsed;
if (string.IsNullOrWhiteSpace(SubmissionInfo?.Extras?.SecuritySectorRanges))
Parent.SecuritySectorRanges.Visibility = Visibility.Collapsed;
+ if (SubmissionInfo?.CommonDiscInfo?.CommentsSpecialFields.Keys.Contains(SiteCode.SSVersion) != true)
+ Parent.SSVersion.Visibility = Visibility.Collapsed;
if (SubmissionInfo?.CommonDiscInfo?.CommentsSpecialFields.Keys.Contains(SiteCode.VolumeLabel) != true)
Parent.VolumeLabel.Visibility = Visibility.Collapsed;
+ if (SubmissionInfo?.CommonDiscInfo?.CommentsSpecialFields.Keys.Contains(SiteCode.XeMID) != true)
+ Parent.XeMID.Visibility = Visibility.Collapsed;
+ if (SubmissionInfo?.CommonDiscInfo?.CommentsSpecialFields.Keys.Contains(SiteCode.XMID) != true)
+ Parent.XMID.Visibility = Visibility.Collapsed;
}
///
@@ -197,32 +209,36 @@ namespace MPF.GUI.ViewModels
Parent.AlternativeForeignTitleTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.AlternativeForeignTitle];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.Genre))
Parent.GenreTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.Genre];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.InternalSerialName))
- Parent.InternalSerialName.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.ISBN))
- Parent.ISBNTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISBN];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.ISSN))
- Parent.ISSNTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISSN];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.PostgapType))
Parent.PostgapTypeCheckBox.IsChecked = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PostgapType] != null;
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.Series))
Parent.SeriesTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.Series];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.VolumeLabel))
- Parent.VolumeLabel.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VolumeLabel];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.VCD))
Parent.VCDCheckBox.IsChecked = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VCD] != null;
- // Media Identifiers
+ // Physical Identifiers
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.BBFCRegistrationNumber))
+ Parent.BBFCRegistrationNumberTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.BBFCRegistrationNumber];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.DiscHologramID))
+ Parent.DiscHologramIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.DiscHologramID];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.DNASDiscID))
+ Parent.DNASDiscIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.DNASDiscID];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.ISBN))
+ Parent.ISBNTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISBN];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.ISSN))
+ Parent.ISSNTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISSN];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.PPN))
+ Parent.PPNTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PPN];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.VFCCode))
+ Parent.VFCCodeTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VFCCode];
+
+ // Publisher Identifiers
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.AcclaimID))
Parent.AcclaimIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.AcclaimID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.ActivisionID))
Parent.ActivisionIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ActivisionID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.BandaiID))
Parent.BandaiIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.BandaiID];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.BBFCRegistrationNumber))
- Parent.BBFCRegistrationNumberTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.BBFCRegistrationNumber];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.DNASDiscID))
- Parent.DNASDiscIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.DNASDiscID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.ElectronicArtsID))
Parent.ElectronicArtsIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ElectronicArtsID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.FoxInteractiveID))
@@ -239,6 +255,8 @@ namespace MPF.GUI.ViewModels
Parent.KonamiIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.KonamiID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.LucasArtsID))
Parent.LucasArtsIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.LucasArtsID];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.MicrosoftID))
+ Parent.MicrosoftIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.MicrosoftID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.NaganoID))
Parent.NaganoIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.NaganoID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.NamcoID))
@@ -249,8 +267,6 @@ namespace MPF.GUI.ViewModels
Parent.OriginIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.OriginID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.PonyCanyonID))
Parent.PonyCanyonIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PonyCanyonID];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.PPN))
- Parent.PPNTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PPN];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.SegaID))
Parent.SegaIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.SegaID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.SelenID))
@@ -261,8 +277,16 @@ namespace MPF.GUI.ViewModels
Parent.UbisoftIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.UbisoftID];
if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.ValveID))
Parent.ValveIDTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ValveID];
- if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.VFCCode))
- Parent.VFCCodeTextBox.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VFCCode];
+
+ // Read-Only Information
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.InternalSerialName))
+ Parent.InternalSerialName.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.VolumeLabel))
+ Parent.VolumeLabel.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VolumeLabel];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.XeMID))
+ Parent.XeMID.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.XeMID];
+ if (SubmissionInfo.CommonDiscInfo.CommentsSpecialFields.ContainsKey(SiteCode.XMID))
+ Parent.XMID.Text = SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.XMID];
}
// Content Fields
@@ -318,24 +342,29 @@ namespace MPF.GUI.ViewModels
if (SubmissionInfo.CommonDiscInfo.ContentsSpecialFields == null)
SubmissionInfo.CommonDiscInfo.ContentsSpecialFields = new Dictionary();
+ #region Comment Fields
+
// Additional Information
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.AlternativeTitle] = Parent.AlternativeTitleTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.AlternativeForeignTitle] = Parent.AlternativeForeignTitleTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.Genre] = Parent.GenreTextBox.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName] = Parent.InternalSerialName.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISBN] = Parent.ISBNTextBox.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISSN] = Parent.ISSNTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PostgapType] = Parent.PostgapTypeCheckBox.IsChecked?.ToString();
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.Series] = Parent.SeriesTextBox.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VolumeLabel] = Parent.VolumeLabel.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VCD] = Parent.VCDCheckBox.IsChecked?.ToString();
- // Media Identifiers
+ // Physical Identifiers
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.BBFCRegistrationNumber] = Parent.BBFCRegistrationNumberTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.DiscHologramID] = Parent.DiscHologramIDTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.DNASDiscID] = Parent.DNASDiscIDTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISBN] = Parent.ISBNTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ISSN] = Parent.ISSNTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PPN] = Parent.PPNTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VFCCode] = Parent.VFCCodeTextBox.Text;
+
+ // Publisher Identifiers
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.AcclaimID] = Parent.AcclaimIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ActivisionID] = Parent.ActivisionIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.BandaiID] = Parent.BandaiIDTextBox.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.BBFCRegistrationNumber] = Parent.BBFCRegistrationNumberTextBox.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.DNASDiscID] = Parent.DNASDiscIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ElectronicArtsID] = Parent.ElectronicArtsIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.FoxInteractiveID] = Parent.FoxInteractiveIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.GTInteractiveID] = Parent.GTInteractiveIDTextBox.Text;
@@ -344,29 +373,47 @@ namespace MPF.GUI.ViewModels
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.KoeiID] = Parent.KoeiIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.KonamiID] = Parent.KonamiIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.LucasArtsID] = Parent.LucasArtsIDTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.MicrosoftID] = Parent.MicrosoftIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.NaganoID] = Parent.NaganoIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.NamcoID] = Parent.NamcoIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.NipponIchiSoftwareID] = Parent.NipponIchiSoftwareIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.OriginID] = Parent.OriginIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PonyCanyonID] = Parent.PonyCanyonIDTextBox.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.PPN] = Parent.PPNTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.SegaID] = Parent.SegaIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.SelenID] = Parent.SelenIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.TaitoID] = Parent.TaitoIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.UbisoftID] = Parent.UbisoftIDTextBox.Text;
SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.ValveID] = Parent.ValveIDTextBox.Text;
- SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VFCCode] = Parent.VFCCodeTextBox.Text;
- // Content Fields
- SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Extras] = Parent.ExtrasTextBox.Text;
- SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.GameFootage] = Parent.GameFootageTextBox.Text;
+ // Read-Only Information
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName] = Parent.InternalSerialName.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.VolumeLabel] = Parent.VolumeLabel.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.XeMID] = Parent.XeMID.Text;
+ SubmissionInfo.CommonDiscInfo.CommentsSpecialFields[SiteCode.XMID] = Parent.XMID.Text;
+
+ #endregion
+
+ #region Content Fields
+
+ // Games
+ SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Games] = Parent.GamesTextBox.Text;
SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.NetYarozeGames] = Parent.NetYarozeGamesTextBox.Text;
- SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Patches] = Parent.PatchesTextBox.Text;
+
+ // Demos
SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.PlayableDemos] = Parent.PlayableDemosTextBox.Text;
SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.RollingDemos] = Parent.RollingDemosTextBox.Text;
- SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Savegames] = Parent.SavegamesTextBox.Text;
SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.TechDemos] = Parent.TechDemosTextBox.Text;
+
+ // Video
+ SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.GameFootage] = Parent.GameFootageTextBox.Text;
SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Videos] = Parent.VideosTextBox.Text;
+
+ // Miscellaneous
+ SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Patches] = Parent.PatchesTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Savegames] = Parent.SavegamesTextBox.Text;
+ SubmissionInfo.CommonDiscInfo.ContentsSpecialFields[SiteCode.Extras] = Parent.ExtrasTextBox.Text;
+
+ #endregion
}
///
diff --git a/MPF/Windows/DiscInformationWindow.xaml b/MPF/Windows/DiscInformationWindow.xaml
index 60f79ca0..5d59f3e9 100644
--- a/MPF/Windows/DiscInformationWindow.xaml
+++ b/MPF/Windows/DiscInformationWindow.xaml
@@ -165,8 +165,6 @@
Text="{Binding SubmissionInfo.CommonDiscInfo.Comments, Mode=TwoWay}" TextHeight="50"
Enter="True" TextWrapping="Wrap" VerticalContentAlignmentValue="Top" />
-
-
@@ -189,14 +187,25 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
@@ -205,18 +214,17 @@
+
-
-
@@ -328,6 +336,7 @@
+
@@ -341,6 +350,7 @@
+
@@ -353,10 +363,14 @@
+
+
+
+
diff --git a/RedumpLib/Data/Enumerations.cs b/RedumpLib/Data/Enumerations.cs
index 5f24fe89..c204e2c0 100644
--- a/RedumpLib/Data/Enumerations.cs
+++ b/RedumpLib/Data/Enumerations.cs
@@ -3450,6 +3450,14 @@ namespace RedumpLib.Data
[HumanReadable(ShortName = "[T:BBFC]", LongName = "BBFC Reg. No.:")]
BBFCRegistrationNumber,
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "Disc Hologram ID/b>:", LongName = "Disc Hologram ID:")]
+ DiscHologramID,
+
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "DMI/b>:", LongName = "DMI:")]
+ DMIHash,
+
[HumanReadable(ShortName = "[T:DNAS]", LongName = "DNAS Disc ID:")]
DNASDiscID,
@@ -3499,6 +3507,10 @@ namespace RedumpLib.Data
[HumanReadable(ShortName = "[T:LAID]", LongName = "Lucas Arts ID:")]
LucasArtsID,
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "Microsoft ID:", LongName = "Microsoft ID:")]
+ MicrosoftID,
+
[HumanReadable(ShortName = "[T:NGID]", LongName = "Nagano ID:")]
NaganoID,
@@ -3517,6 +3529,10 @@ namespace RedumpLib.Data
[HumanReadable(ShortName = "[T:P]", LongName = "Patches:")]
Patches,
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "PFI/b>:", LongName = "PFI:")]
+ PFIHash,
+
[HumanReadable(ShortName = "[T:PD]", LongName = "Playable Demos:")]
PlayableDemos,
@@ -3544,6 +3560,14 @@ namespace RedumpLib.Data
[HumanReadable(ShortName = "[T:S]", LongName = "Series:")]
Series,
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "SS/b>:", LongName = "SS:")]
+ SSHash,
+
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "SS version/b>:", LongName = "SS version:")]
+ SSVersion,
+
[HumanReadable(ShortName = "[T:TID]", LongName = "Taito ID:")]
TaitoID,
@@ -3567,6 +3591,14 @@ namespace RedumpLib.Data
[HumanReadable(ShortName = "[T:VCD]", LongName = "V-CD")]
VCD,
+
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "XeMID:", LongName = "XeMID:")]
+ XeMID,
+
+ // TODO: This doesn't have a site tag yet
+ [HumanReadable(ShortName = "XMID:", LongName = "XMID:")]
+ XMID,
}
///