diff --git a/SabreTools.DatFiles/Formats/Logiqx.cs b/SabreTools.DatFiles/Formats/Logiqx.cs index b94c1bbe..98818de7 100644 --- a/SabreTools.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.DatFiles/Formats/Logiqx.cs @@ -270,7 +270,7 @@ namespace SabreTools.DatFiles.Formats case "category": content = reader.ReadElementContentAsString(); - Header.Category ??= content; + Header.Category = (Header.Category == null ? content : $"{Header.Category};{content}"); break; case "version": @@ -879,7 +879,14 @@ namespace SabreTools.DatFiles.Formats xtw.WriteRequiredElementString("name", Header.Name); xtw.WriteRequiredElementString("description", Header.Description); xtw.WriteOptionalElementString("rootdir", Header.RootDir); - xtw.WriteOptionalElementString("category", Header.Category); + if (!string.IsNullOrWhiteSpace(Header.Category)) + { + var categories = Header.Category.Split(';'); + foreach (string category in categories) + { + xtw.WriteOptionalElementString("category", category); + } + } xtw.WriteRequiredElementString("version", Header.Version); xtw.WriteOptionalElementString("date", Header.Date); xtw.WriteRequiredElementString("author", Header.Author); diff --git a/SabreTools.Test/TestData/test-logiqx.xml b/SabreTools.Test/TestData/test-logiqx.xml index 57d42740..5ab5cbcf 100644 --- a/SabreTools.Test/TestData/test-logiqx.xml +++ b/SabreTools.Test/TestData/test-logiqx.xml @@ -26,6 +26,7 @@ 1980 Manufacturer Publisher + Games Arcade 0001