diff --git a/SabreTools.Core/Enums.cs b/SabreTools.Core/Enums.cs
index de487bb3..a1c97755 100644
--- a/SabreTools.Core/Enums.cs
+++ b/SabreTools.Core/Enums.cs
@@ -485,6 +485,7 @@ namespace SabreTools.Core
#region Logiqx
+ NoIntroID,
Build,
RomMode,
BiosMode,
diff --git a/SabreTools.Core/Tools/Converters.cs b/SabreTools.Core/Tools/Converters.cs
index b3551548..c44f267f 100644
--- a/SabreTools.Core/Tools/Converters.cs
+++ b/SabreTools.Core/Tools/Converters.cs
@@ -199,6 +199,11 @@ namespace SabreTools.Core.Tools
#region Logiqx
+ case "id":
+ case "nointroid":
+ case "no_intro_id":
+ return DatHeaderField.NoIntroID;
+
case "build":
return DatHeaderField.Build;
diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs
index bec7542b..e5246e02 100644
--- a/SabreTools.DatFiles/DatHeader.cs
+++ b/SabreTools.DatFiles/DatHeader.cs
@@ -181,6 +181,13 @@ namespace SabreTools.DatFiles
#region Logiqx
+ ///
+ /// No-Intro system ID
+ ///
+ [JsonProperty("nointroid", DefaultValueHandling = DefaultValueHandling.Include)]
+ [XmlElement("nointroid")]
+ public string NoIntroID { get; set; }
+
///
/// Build version
///
@@ -475,6 +482,9 @@ namespace SabreTools.DatFiles
#region Logiqx
+ if (mappings.Keys.Contains(DatHeaderField.NoIntroID))
+ NoIntroID = mappings[DatHeaderField.NoIntroID];
+
if (mappings.Keys.Contains(DatHeaderField.Build))
Build = mappings[DatHeaderField.Build];
@@ -555,6 +565,27 @@ namespace SabreTools.DatFiles
ForcePacking = this.ForcePacking,
DatFormat = this.DatFormat,
+ Debug = this.Debug,
+ MameConfig = this.MameConfig,
+
+ NoIntroID = this.NoIntroID,
+ Build = this.Build,
+ System = this.System,
+ RomMode = this.RomMode,
+ BiosMode = this.BiosMode,
+ SampleMode = this.SampleMode,
+ LockRomMode = this.LockRomMode,
+ LockBiosMode = this.LockBiosMode,
+ LockSampleMode = this.LockSampleMode,
+
+ ScreenshotsWidth = this.ScreenshotsWidth,
+ ScreenshotsHeight = this.ScreenshotsHeight,
+ Infos = this.Infos, // TODO: Perform a deep clone
+ CanOpen = this.CanOpen, // TODO: Perform a deep clone
+ RomTitle = this.RomTitle,
+
+ RomCenterVersion = this.RomCenterVersion,
+
UseRomName = this.UseRomName,
Prefix = this.Prefix,
Postfix = this.Postfix,
diff --git a/SabreTools.DatFiles/Formats/Logiqx.cs b/SabreTools.DatFiles/Formats/Logiqx.cs
index 37a80ef3..d89eaf85 100644
--- a/SabreTools.DatFiles/Formats/Logiqx.cs
+++ b/SabreTools.DatFiles/Formats/Logiqx.cs
@@ -315,6 +315,11 @@ namespace SabreTools.DatFiles.Formats
string content;
switch (reader.Name)
{
+ case "id":
+ content = reader.ReadElementContentAsString();
+ Header.NoIntroID ??= content;
+ break;
+
case "name":
content = reader.ReadElementContentAsString();
Header.Name ??= content;
diff --git a/SabreTools.DatFiles/Setter.cs b/SabreTools.DatFiles/Setter.cs
index d6435a0b..cbd92680 100644
--- a/SabreTools.DatFiles/Setter.cs
+++ b/SabreTools.DatFiles/Setter.cs
@@ -170,6 +170,9 @@ namespace SabreTools.DatFiles
#region Logiqx
+ if (DatHeaderMappings.Keys.Contains(DatHeaderField.NoIntroID))
+ datHeader.NoIntroID = DatHeaderMappings[DatHeaderField.NoIntroID];
+
if (DatHeaderMappings.Keys.Contains(DatHeaderField.Build))
datHeader.Build = DatHeaderMappings[DatHeaderField.Build];