diff --git a/SabreTools.Serialization.Test/CrossModel/ArchiveDotOrgTests.cs b/SabreTools.Serialization.Test/CrossModel/ArchiveDotOrgTests.cs index 9f13f5dc..171d0973 100644 --- a/SabreTools.Serialization.Test/CrossModel/ArchiveDotOrgTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/ArchiveDotOrgTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,13 +9,13 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.ArchiveDotOrg(); + var serializer = new ArchiveDotOrg(); // Build the data Models.ArchiveDotOrg.Files files = Build(); // Serialize to generic model - Models.Metadata.MetadataFile? metadata = serializer.Serialize(files); + SabreTools.Serialization.Models.Metadata.MetadataFile? metadata = serializer.Serialize(files); Assert.NotNull(metadata); // Serialize back to original model diff --git a/SabreTools.Serialization.Test/CrossModel/AttractModeTests.cs b/SabreTools.Serialization.Test/CrossModel/AttractModeTests.cs index 59c13b8f..97219935 100644 --- a/SabreTools.Serialization.Test/CrossModel/AttractModeTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/AttractModeTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.AttractMode(); + var serializer = new AttractMode(); // Build the data Models.AttractMode.MetadataFile mf = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/ClrMameProTests.cs b/SabreTools.Serialization.Test/CrossModel/ClrMameProTests.cs index 6a647dc9..44fe53dd 100644 --- a/SabreTools.Serialization.Test/CrossModel/ClrMameProTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/ClrMameProTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripGameTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.ClrMamePro(); + var serializer = new ClrMamePro(); // Build the data Models.ClrMamePro.MetadataFile mf = Build(game: true); @@ -32,7 +33,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMachineTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.ClrMamePro(); + var serializer = new ClrMamePro(); // Build the data Models.ClrMamePro.MetadataFile mf = Build(game: false); diff --git a/SabreTools.Serialization.Test/CrossModel/DosCenterTests.cs b/SabreTools.Serialization.Test/CrossModel/DosCenterTests.cs index 5e7e3123..80cc7ca0 100644 --- a/SabreTools.Serialization.Test/CrossModel/DosCenterTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/DosCenterTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.DosCenter(); + var serializer = new DosCenter(); // Build the data Models.DosCenter.MetadataFile mf = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/EverdriveSMDBTests.cs b/SabreTools.Serialization.Test/CrossModel/EverdriveSMDBTests.cs index 9217a761..ca403940 100644 --- a/SabreTools.Serialization.Test/CrossModel/EverdriveSMDBTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/EverdriveSMDBTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.EverdriveSMDB(); + var serializer = new EverdriveSMDB(); // Build the data Models.EverdriveSMDB.MetadataFile mf = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/HashfileTests.cs b/SabreTools.Serialization.Test/CrossModel/HashfileTests.cs index 93926212..104bba4d 100644 --- a/SabreTools.Serialization.Test/CrossModel/HashfileTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/HashfileTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using System; using SabreTools.Hashing; using Xunit; @@ -10,7 +11,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripSFVTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.CRC32); @@ -33,7 +34,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMD2Test() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.MD2); @@ -56,7 +57,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMD4Test() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.MD4); @@ -79,7 +80,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMD5Test() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.MD5); @@ -102,7 +103,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripSHA1Test() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA1); @@ -125,7 +126,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripSHA256Test() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA256); @@ -148,7 +149,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripSHA384Test() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA384); @@ -171,7 +172,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripSHA512Test() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA512); @@ -194,7 +195,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripSpamSumTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Hashfile(); + var serializer = new Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SpamSum); diff --git a/SabreTools.Serialization.Test/CrossModel/ListromTests.cs b/SabreTools.Serialization.Test/CrossModel/ListromTests.cs index e36cf1d2..b7b46be2 100644 --- a/SabreTools.Serialization.Test/CrossModel/ListromTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/ListromTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Listrom(); + var serializer = new Listrom(); // Build the data Models.Listrom.MetadataFile mf = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/ListxmlTests.cs b/SabreTools.Serialization.Test/CrossModel/ListxmlTests.cs index a5cc0b82..e1d09a02 100644 --- a/SabreTools.Serialization.Test/CrossModel/ListxmlTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/ListxmlTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripGameTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Listxml(); + var serializer = new Listxml(); // Build the data Models.Listxml.Mame mame = Build(game: true); @@ -35,7 +36,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMachineTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Listxml(); + var serializer = new Listxml(); // Build the data Models.Listxml.Mame mame = Build(game: false); diff --git a/SabreTools.Serialization.Test/CrossModel/LogiqxTests.cs b/SabreTools.Serialization.Test/CrossModel/LogiqxTests.cs index b9dfbd33..aa03132d 100644 --- a/SabreTools.Serialization.Test/CrossModel/LogiqxTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/LogiqxTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripGameTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Logiqx(); + var serializer = new Logiqx(); // Build the data Models.Logiqx.Datafile df = Build(game: true); @@ -40,7 +41,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMachineTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Logiqx(); + var serializer = new Logiqx(); // Build the data Models.Logiqx.Datafile df = Build(game: false); diff --git a/SabreTools.Serialization.Test/CrossModel/M1Tests.cs b/SabreTools.Serialization.Test/CrossModel/M1Tests.cs index 6dac112b..0a6dc8a6 100644 --- a/SabreTools.Serialization.Test/CrossModel/M1Tests.cs +++ b/SabreTools.Serialization.Test/CrossModel/M1Tests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripGameTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.M1(); + var serializer = new M1(); // Build the data Models.Listxml.M1 m1 = Build(game: true); @@ -33,7 +34,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMachineTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.M1(); + var serializer = new M1(); // Build the data Models.Listxml.M1 m1 = Build(game: false); diff --git a/SabreTools.Serialization.Test/CrossModel/MessTests.cs b/SabreTools.Serialization.Test/CrossModel/MessTests.cs index 5cc9d78e..00cbd9ff 100644 --- a/SabreTools.Serialization.Test/CrossModel/MessTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/MessTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripGameTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Mess(); + var serializer = new Mess(); // Build the data Models.Listxml.Mess m1 = Build(game: true); @@ -33,7 +34,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripMachineTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.Mess(); + var serializer = new Mess(); // Build the data Models.Listxml.Mess m1 = Build(game: false); diff --git a/SabreTools.Serialization.Test/CrossModel/OfflineListTests.cs b/SabreTools.Serialization.Test/CrossModel/OfflineListTests.cs index 10763040..5c885e08 100644 --- a/SabreTools.Serialization.Test/CrossModel/OfflineListTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/OfflineListTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.OfflineList(); + var serializer = new OfflineList(); // Build the data Models.OfflineList.Dat dat = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/OpenMSXTests.cs b/SabreTools.Serialization.Test/CrossModel/OpenMSXTests.cs index 5a62b282..7084484a 100644 --- a/SabreTools.Serialization.Test/CrossModel/OpenMSXTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/OpenMSXTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.OpenMSX(); + var serializer = new OpenMSX(); // Build the data Models.OpenMSX.SoftwareDb sdb = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/RomCenterTests.cs b/SabreTools.Serialization.Test/CrossModel/RomCenterTests.cs index 41c9b278..b6bc26cd 100644 --- a/SabreTools.Serialization.Test/CrossModel/RomCenterTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/RomCenterTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.RomCenter(); + var serializer = new RomCenter(); // Build the data Models.RomCenter.MetadataFile mf = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/SeparatedValueTests.cs b/SabreTools.Serialization.Test/CrossModel/SeparatedValueTests.cs index a3585aa8..b515725a 100644 --- a/SabreTools.Serialization.Test/CrossModel/SeparatedValueTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/SeparatedValueTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.SeparatedValue(); + var serializer = new SeparatedValue(); // Build the data Models.SeparatedValue.MetadataFile mf = Build(); diff --git a/SabreTools.Serialization.Test/CrossModel/SoftwareListTests.cs b/SabreTools.Serialization.Test/CrossModel/SoftwareListTests.cs index 7767884c..c6e4e3c9 100644 --- a/SabreTools.Serialization.Test/CrossModel/SoftwareListTests.cs +++ b/SabreTools.Serialization.Test/CrossModel/SoftwareListTests.cs @@ -1,3 +1,4 @@ +using SabreTools.Serialization.CrossModel; using Xunit; namespace SabreTools.Serialization.Test.CrossModel @@ -8,7 +9,7 @@ namespace SabreTools.Serialization.Test.CrossModel public void RoundTripTest() { // Get the cross-model serializer - var serializer = new Serialization.CrossModel.SoftwareList(); + var serializer = new SoftwareList(); // Build the data Models.SoftwareList.SoftwareList sl = Build(); diff --git a/SabreTools.Serialization.Test/Deserializers/AbstractSyntaxNotationOneTests.cs b/SabreTools.Serialization.Test/Deserializers/AbstractSyntaxNotationOneTests.cs index cf29b457..6f2898e4 100644 --- a/SabreTools.Serialization.Test/Deserializers/AbstractSyntaxNotationOneTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/AbstractSyntaxNotationOneTests.cs @@ -1,7 +1,7 @@ using System.IO; using System.Linq; -using SabreTools.Models.ASN1; using SabreTools.Serialization.Deserializers; +using SabreTools.Serialization.Models.ASN1; using Xunit; namespace SabreTools.Serialization.Test.Deserializers diff --git a/SabreTools.Serialization.Test/Deserializers/ArchiveDotOrgTests.cs b/SabreTools.Serialization.Test/Deserializers/ArchiveDotOrgTests.cs index cf4c8609..dba866d4 100644 --- a/SabreTools.Serialization.Test/Deserializers/ArchiveDotOrgTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/ArchiveDotOrgTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.ArchiveDotOrg(); - var serializer = new Serialization.Serializers.ArchiveDotOrg(); + var deserializer = new ArchiveDotOrg(); + var serializer = new SabreTools.Serialization.Serializers.ArchiveDotOrg(); // Build the data Models.ArchiveDotOrg.Files files = Build(); diff --git a/SabreTools.Serialization.Test/Deserializers/AttractModeTests.cs b/SabreTools.Serialization.Test/Deserializers/AttractModeTests.cs index bca73d4d..04134331 100644 --- a/SabreTools.Serialization.Test/Deserializers/AttractModeTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/AttractModeTests.cs @@ -75,14 +75,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripShortTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.AttractMode(); - var serializer = new Serialization.Serializers.AttractMode(); + var deserializer = new AttractMode(); + var serializer = new SabreTools.Serialization.Serializers.AttractMode(); // Build the data Models.AttractMode.MetadataFile mf = Build(); // Serialize to stream - Stream? actual = serializer.Serialize(mf, longHeader: false); + Stream? actual = serializer.SerializeStream(mf, longHeader: false); Assert.NotNull(actual); // Serialize back to original model @@ -100,14 +100,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripLongTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.AttractMode(); - var serializer = new Serialization.Serializers.AttractMode(); + var deserializer = new AttractMode(); + var serializer = new SabreTools.Serialization.Serializers.AttractMode(); // Build the data Models.AttractMode.MetadataFile mf = Build(); // Serialize to stream - Stream? actual = serializer.Serialize(mf, longHeader: true); + Stream? actual = serializer.SerializeStream(mf, longHeader: true); Assert.NotNull(actual); // Serialize back to original model @@ -168,9 +168,9 @@ namespace SabreTools.Serialization.Test.Deserializers { Assert.NotNull(header); if (longHeader) - Assert.True(Serialization.Serializers.AttractMode.HeaderArrayWithRomname.SequenceEqual(header)); + Assert.True(SabreTools.Serialization.Serializers.AttractMode.HeaderArrayWithRomname.SequenceEqual(header)); else - Assert.True(Serialization.Serializers.AttractMode.HeaderArrayWithoutRomname.SequenceEqual(header)); + Assert.True(SabreTools.Serialization.Serializers.AttractMode.HeaderArrayWithoutRomname.SequenceEqual(header)); } /// diff --git a/SabreTools.Serialization.Test/Deserializers/ClrMameProTests.cs b/SabreTools.Serialization.Test/Deserializers/ClrMameProTests.cs index 74f7a7d3..a57ab788 100644 --- a/SabreTools.Serialization.Test/Deserializers/ClrMameProTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/ClrMameProTests.cs @@ -74,14 +74,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripGameTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.ClrMamePro(); - var serializer = new Serialization.Serializers.ClrMamePro(); + var deserializer = new ClrMamePro(); + var serializer = new SabreTools.Serialization.Serializers.ClrMamePro(); // Build the data Models.ClrMamePro.MetadataFile mf = Build(game: true); // Serialize to stream - Stream? actual = serializer.Serialize(mf); + Stream? actual = serializer.SerializeStream(mf); Assert.NotNull(actual); // Serialize back to original model @@ -99,14 +99,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripGameWithoutQuotesTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.ClrMamePro(); - var serializer = new Serialization.Serializers.ClrMamePro(); + var deserializer = new ClrMamePro(); + var serializer = new SabreTools.Serialization.Serializers.ClrMamePro(); // Build the data Models.ClrMamePro.MetadataFile mf = Build(game: true); // Serialize to stream - Stream? actual = serializer.Serialize(mf, quotes: false); + Stream? actual = serializer.SerializeStream(mf, quotes: false); Assert.NotNull(actual); // Serialize back to original model @@ -124,14 +124,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMachineTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.ClrMamePro(); - var serializer = new Serialization.Serializers.ClrMamePro(); + var deserializer = new ClrMamePro(); + var serializer = new SabreTools.Serialization.Serializers.ClrMamePro(); // Build the data Models.ClrMamePro.MetadataFile mf = Build(game: false); // Serialize to stream - Stream? actual = serializer.Serialize(mf); + Stream? actual = serializer.SerializeStream(mf); Assert.NotNull(actual); // Serialize back to original model @@ -149,14 +149,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMachineWithoutQuotesTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.ClrMamePro(); - var serializer = new Serialization.Serializers.ClrMamePro(); + var deserializer = new ClrMamePro(); + var serializer = new SabreTools.Serialization.Serializers.ClrMamePro(); // Build the data Models.ClrMamePro.MetadataFile mf = Build(game: false); // Serialize to stream - Stream? actual = serializer.Serialize(mf, quotes: false); + Stream? actual = serializer.SerializeStream(mf, quotes: false); Assert.NotNull(actual); // Serialize back to original model diff --git a/SabreTools.Serialization.Test/Deserializers/DosCenterTests.cs b/SabreTools.Serialization.Test/Deserializers/DosCenterTests.cs index 0145e38b..59ee662d 100644 --- a/SabreTools.Serialization.Test/Deserializers/DosCenterTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/DosCenterTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,14 +74,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.DosCenter(); - var serializer = new Serialization.Serializers.DosCenter(); + var deserializer = new DosCenter(); + var serializer = new SabreTools.Serialization.Serializers.DosCenter(); // Build the data Models.DosCenter.MetadataFile mf = Build(); // Serialize to stream - Stream? actual = serializer.Serialize(mf); + Stream? actual = serializer.SerializeStream(mf); Assert.NotNull(actual); // Serialize back to original model diff --git a/SabreTools.Serialization.Test/Deserializers/EverdriveSMDBTests.cs b/SabreTools.Serialization.Test/Deserializers/EverdriveSMDBTests.cs index e46c1ab4..35732099 100644 --- a/SabreTools.Serialization.Test/Deserializers/EverdriveSMDBTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/EverdriveSMDBTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,14 +74,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.EverdriveSMDB(); - var serializer = new Serialization.Serializers.EverdriveSMDB(); + var deserializer = new EverdriveSMDB(); + var serializer = new SabreTools.Serialization.Serializers.EverdriveSMDB(); // Build the data Models.EverdriveSMDB.MetadataFile mf = Build(); // Serialize to stream - Stream? actual = serializer.Serialize(mf); + Stream? actual = serializer.SerializeStream(mf); Assert.NotNull(actual); // Serialize back to original model diff --git a/SabreTools.Serialization.Test/Deserializers/HashfileTests.cs b/SabreTools.Serialization.Test/Deserializers/HashfileTests.cs index 1bef858f..991e8bd7 100644 --- a/SabreTools.Serialization.Test/Deserializers/HashfileTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/HashfileTests.cs @@ -76,14 +76,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripSFVTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.CRC32); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.CRC32); + Stream? actual = serializer.SerializeStream(hf, HashType.CRC32); Assert.NotNull(actual); // Serialize back to original model @@ -100,14 +100,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMD2Test() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.MD2); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.MD2); + Stream? actual = serializer.SerializeStream(hf, HashType.MD2); Assert.NotNull(actual); // Serialize back to original model @@ -124,14 +124,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMD4Test() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.MD4); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.MD4); + Stream? actual = serializer.SerializeStream(hf, HashType.MD4); Assert.NotNull(actual); // Serialize back to original model @@ -148,14 +148,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMD5Test() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.MD5); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.MD5); + Stream? actual = serializer.SerializeStream(hf, HashType.MD5); Assert.NotNull(actual); // Serialize back to original model @@ -172,14 +172,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripSHA1Test() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA1); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.SHA1); + Stream? actual = serializer.SerializeStream(hf, HashType.SHA1); Assert.NotNull(actual); // Serialize back to original model @@ -196,14 +196,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripSHA256Test() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA256); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.SHA256); + Stream? actual = serializer.SerializeStream(hf, HashType.SHA256); Assert.NotNull(actual); // Serialize back to original model @@ -220,14 +220,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripSHA384Test() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA384); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.SHA384); + Stream? actual = serializer.SerializeStream(hf, HashType.SHA384); Assert.NotNull(actual); // Serialize back to original model @@ -244,14 +244,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripSHA512Test() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SHA512); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.SHA512); + Stream? actual = serializer.SerializeStream(hf, HashType.SHA512); Assert.NotNull(actual); // Serialize back to original model @@ -268,14 +268,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripSpamSumTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Hashfile(); - var serializer = new Serialization.Serializers.Hashfile(); + var deserializer = new Hashfile(); + var serializer = new SabreTools.Serialization.Serializers.Hashfile(); // Build the data Models.Hashfile.Hashfile hf = Build(HashType.SpamSum); // Serialize to stream - Stream? actual = serializer.Serialize(hf, HashType.SpamSum); + Stream? actual = serializer.SerializeStream(hf, HashType.SpamSum); Assert.NotNull(actual); // Serialize back to original model diff --git a/SabreTools.Serialization.Test/Deserializers/ListromTests.cs b/SabreTools.Serialization.Test/Deserializers/ListromTests.cs index 9fc863d4..9fce9e1c 100644 --- a/SabreTools.Serialization.Test/Deserializers/ListromTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/ListromTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,14 +74,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Listrom(); - var serializer = new Serialization.Serializers.Listrom(); + var deserializer = new Listrom(); + var serializer = new SabreTools.Serialization.Serializers.Listrom(); // Build the data Models.Listrom.MetadataFile mf = Build(); // Serialize to stream - Stream? actual = serializer.Serialize(mf); + Stream? actual = serializer.SerializeStream(mf); Assert.NotNull(actual); // Serialize back to original model diff --git a/SabreTools.Serialization.Test/Deserializers/ListxmlTests.cs b/SabreTools.Serialization.Test/Deserializers/ListxmlTests.cs index 8cac4ab2..e6204fbd 100644 --- a/SabreTools.Serialization.Test/Deserializers/ListxmlTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/ListxmlTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripGameTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Listxml(); - var serializer = new Serialization.Serializers.Listxml(); + var deserializer = new Listxml(); + var serializer = new SabreTools.Serialization.Serializers.Listxml(); // Build the data Models.Listxml.Mame mame = Build(game: true); @@ -103,8 +102,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMachineTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Listxml(); - var serializer = new Serialization.Serializers.Listxml(); + var deserializer = new Listxml(); + var serializer = new SabreTools.Serialization.Serializers.Listxml(); // Build the data Models.Listxml.Mame mame = Build(game: false); diff --git a/SabreTools.Serialization.Test/Deserializers/LogiqxTests.cs b/SabreTools.Serialization.Test/Deserializers/LogiqxTests.cs index e7006904..8571e417 100644 --- a/SabreTools.Serialization.Test/Deserializers/LogiqxTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/LogiqxTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripGameTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Logiqx(); - var serializer = new Serialization.Serializers.Logiqx(); + var deserializer = new Logiqx(); + var serializer = new SabreTools.Serialization.Serializers.Logiqx(); // Build the data Models.Logiqx.Datafile df = Build(game: true); @@ -107,8 +106,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMachineTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Logiqx(); - var serializer = new Serialization.Serializers.Logiqx(); + var deserializer = new Logiqx(); + var serializer = new SabreTools.Serialization.Serializers.Logiqx(); // Build the data Models.Logiqx.Datafile df = Build(game: false); diff --git a/SabreTools.Serialization.Test/Deserializers/M1Tests.cs b/SabreTools.Serialization.Test/Deserializers/M1Tests.cs index dddd55ca..32ed101a 100644 --- a/SabreTools.Serialization.Test/Deserializers/M1Tests.cs +++ b/SabreTools.Serialization.Test/Deserializers/M1Tests.cs @@ -74,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripGameTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.M1(); - var serializer = new Serialization.Serializers.M1(); + var deserializer = new M1(); + var serializer = new SabreTools.Serialization.Serializers.M1(); // Build the data Models.Listxml.M1 m1 = Build(game: true); @@ -100,8 +100,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMachineTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.M1(); - var serializer = new Serialization.Serializers.M1(); + var deserializer = new M1(); + var serializer = new SabreTools.Serialization.Serializers.M1(); // Build the data Models.Listxml.M1 m1 = Build(game: false); diff --git a/SabreTools.Serialization.Test/Deserializers/MessTests.cs b/SabreTools.Serialization.Test/Deserializers/MessTests.cs index 0bfa01ad..1ae637a3 100644 --- a/SabreTools.Serialization.Test/Deserializers/MessTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/MessTests.cs @@ -74,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripGameTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Mess(); - var serializer = new Serialization.Serializers.Mess(); + var deserializer = new Mess(); + var serializer = new SabreTools.Serialization.Serializers.Mess(); // Build the data Models.Listxml.Mess m1 = Build(game: true); @@ -100,8 +100,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripMachineTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.Mess(); - var serializer = new Serialization.Serializers.Mess(); + var deserializer = new Mess(); + var serializer = new SabreTools.Serialization.Serializers.Mess(); // Build the data Models.Listxml.Mess m1 = Build(game: false); diff --git a/SabreTools.Serialization.Test/Deserializers/OfflineListTests.cs b/SabreTools.Serialization.Test/Deserializers/OfflineListTests.cs index ac3b5edd..914b02f9 100644 --- a/SabreTools.Serialization.Test/Deserializers/OfflineListTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/OfflineListTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.OfflineList(); - var serializer = new Serialization.Serializers.OfflineList(); + var deserializer = new OfflineList(); + var serializer = new SabreTools.Serialization.Serializers.OfflineList(); // Build the data Models.OfflineList.Dat dat = Build(); diff --git a/SabreTools.Serialization.Test/Deserializers/OpenMSXTests.cs b/SabreTools.Serialization.Test/Deserializers/OpenMSXTests.cs index 97f851ca..7a33565b 100644 --- a/SabreTools.Serialization.Test/Deserializers/OpenMSXTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/OpenMSXTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.OpenMSX(); - var serializer = new Serialization.Serializers.OpenMSX(); + var deserializer = new OpenMSX(); + var serializer = new SabreTools.Serialization.Serializers.OpenMSX(); // Build the data Models.OpenMSX.SoftwareDb sdb = Build(); diff --git a/SabreTools.Serialization.Test/Deserializers/RomCenterTests.cs b/SabreTools.Serialization.Test/Deserializers/RomCenterTests.cs index 379be3a1..dfb07edf 100644 --- a/SabreTools.Serialization.Test/Deserializers/RomCenterTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/RomCenterTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,14 +74,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.RomCenter(); - var serializer = new Serialization.Serializers.RomCenter(); + var deserializer = new RomCenter(); + var serializer = new SabreTools.Serialization.Serializers.RomCenter(); // Build the data Models.RomCenter.MetadataFile mf = Build(); // Serialize to stream - Stream? metadata = serializer.Serialize(mf); + Stream? metadata = serializer.SerializeStream(mf); Assert.NotNull(metadata); // Serialize back to original model diff --git a/SabreTools.Serialization.Test/Deserializers/SeparatedValueTests.cs b/SabreTools.Serialization.Test/Deserializers/SeparatedValueTests.cs index 559d19b8..7d94e50d 100644 --- a/SabreTools.Serialization.Test/Deserializers/SeparatedValueTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/SeparatedValueTests.cs @@ -75,14 +75,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripShortTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.SeparatedValue(); - var serializer = new Serialization.Serializers.SeparatedValue(); + var deserializer = new SeparatedValue(); + var serializer = new SabreTools.Serialization.Serializers.SeparatedValue(); // Build the data Models.SeparatedValue.MetadataFile mf = Build(); // Serialize to stream - Stream? actual = Serialization.Serializers.SeparatedValue.SerializeStream(mf, longHeader: false); + Stream? actual = serializer.SerializeStream(mf, ',', longHeader: false); Assert.NotNull(actual); // Serialize back to original model @@ -103,14 +103,14 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripLongTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.SeparatedValue(); - var serializer = new Serialization.Serializers.SeparatedValue(); + var deserializer = new SeparatedValue(); + var serializer = new SabreTools.Serialization.Serializers.SeparatedValue(); // Build the data Models.SeparatedValue.MetadataFile mf = Build(); // Serialize to stream - Stream? actual = Serialization.Serializers.SeparatedValue.SerializeStream(mf, longHeader: true); + Stream? actual = serializer.SerializeStream(mf, ',', longHeader: true); Assert.NotNull(actual); // Serialize back to original model @@ -197,9 +197,9 @@ namespace SabreTools.Serialization.Test.Deserializers { Assert.NotNull(header); if (longHeader) - Assert.True(Serialization.Serializers.SeparatedValue.HeaderArrayExtended.SequenceEqual(header)); + Assert.True(SabreTools.Serialization.Serializers.SeparatedValue.HeaderArrayExtended.SequenceEqual(header)); else - Assert.True(Serialization.Serializers.SeparatedValue.HeaderArrayStandard.SequenceEqual(header)); + Assert.True(SabreTools.Serialization.Serializers.SeparatedValue.HeaderArrayStandard.SequenceEqual(header)); } /// diff --git a/SabreTools.Serialization.Test/Deserializers/SoftwareListTests.cs b/SabreTools.Serialization.Test/Deserializers/SoftwareListTests.cs index 6892158e..a56d7c29 100644 --- a/SabreTools.Serialization.Test/Deserializers/SoftwareListTests.cs +++ b/SabreTools.Serialization.Test/Deserializers/SoftwareListTests.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Linq; using SabreTools.Serialization.Deserializers; @@ -75,8 +74,8 @@ namespace SabreTools.Serialization.Test.Deserializers public void RoundTripTest() { // Get the serializer and deserializer - var deserializer = new Serialization.Deserializers.SoftwareList(); - var serializer = new Serialization.Serializers.SoftwareList(); + var deserializer = new SoftwareList(); + var serializer = new SabreTools.Serialization.Serializers.SoftwareList(); // Build the data Models.SoftwareList.SoftwareList sl = Build(); diff --git a/SabreTools.Serialization.Test/Extensions/TypeLengthValueTests.cs b/SabreTools.Serialization.Test/Extensions/TypeLengthValueTests.cs index e2376768..f1c60b52 100644 --- a/SabreTools.Serialization.Test/Extensions/TypeLengthValueTests.cs +++ b/SabreTools.Serialization.Test/Extensions/TypeLengthValueTests.cs @@ -1,6 +1,6 @@ using System; -using SabreTools.Models.ASN1; using SabreTools.Serialization.Extensions; +using SabreTools.Serialization.Models.ASN1; using Xunit; namespace SabreTools.Serialization.Test.Extensions diff --git a/SabreTools.Serialization.Test/Serializers/AttractModeTests.cs b/SabreTools.Serialization.Test/Serializers/AttractModeTests.cs index 28cbab8d..732a9d83 100644 --- a/SabreTools.Serialization.Test/Serializers/AttractModeTests.cs +++ b/SabreTools.Serialization.Test/Serializers/AttractModeTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new AttractMode(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/CatalogTests.cs b/SabreTools.Serialization.Test/Serializers/CatalogTests.cs index f3653a09..22382e35 100644 --- a/SabreTools.Serialization.Test/Serializers/CatalogTests.cs +++ b/SabreTools.Serialization.Test/Serializers/CatalogTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new Catalog(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/ClrMameProTests.cs b/SabreTools.Serialization.Test/Serializers/ClrMameProTests.cs index a3d1c988..253efc32 100644 --- a/SabreTools.Serialization.Test/Serializers/ClrMameProTests.cs +++ b/SabreTools.Serialization.Test/Serializers/ClrMameProTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new ClrMamePro(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/CueSheetTests.cs b/SabreTools.Serialization.Test/Serializers/CueSheetTests.cs index 4aa72300..1fd5823b 100644 --- a/SabreTools.Serialization.Test/Serializers/CueSheetTests.cs +++ b/SabreTools.Serialization.Test/Serializers/CueSheetTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new CueSheet(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/DosCenterTests.cs b/SabreTools.Serialization.Test/Serializers/DosCenterTests.cs index 80132b6f..56e35779 100644 --- a/SabreTools.Serialization.Test/Serializers/DosCenterTests.cs +++ b/SabreTools.Serialization.Test/Serializers/DosCenterTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new DosCenter(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/EverdriveSMDBTests.cs b/SabreTools.Serialization.Test/Serializers/EverdriveSMDBTests.cs index 921c5505..fcfc31b3 100644 --- a/SabreTools.Serialization.Test/Serializers/EverdriveSMDBTests.cs +++ b/SabreTools.Serialization.Test/Serializers/EverdriveSMDBTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new EverdriveSMDB(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/HashfileTests.cs b/SabreTools.Serialization.Test/Serializers/HashfileTests.cs index e44626a8..a4eee1e5 100644 --- a/SabreTools.Serialization.Test/Serializers/HashfileTests.cs +++ b/SabreTools.Serialization.Test/Serializers/HashfileTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new Hashfile(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/IRDTests.cs b/SabreTools.Serialization.Test/Serializers/IRDTests.cs index cf1c4b34..f4ae831d 100644 --- a/SabreTools.Serialization.Test/Serializers/IRDTests.cs +++ b/SabreTools.Serialization.Test/Serializers/IRDTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new IRD(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/ListromTests.cs b/SabreTools.Serialization.Test/Serializers/ListromTests.cs index 2b06ed4e..2d882f96 100644 --- a/SabreTools.Serialization.Test/Serializers/ListromTests.cs +++ b/SabreTools.Serialization.Test/Serializers/ListromTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new Listrom(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/RomCenterTests.cs b/SabreTools.Serialization.Test/Serializers/RomCenterTests.cs index 83caf13e..648fbb66 100644 --- a/SabreTools.Serialization.Test/Serializers/RomCenterTests.cs +++ b/SabreTools.Serialization.Test/Serializers/RomCenterTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new RomCenter(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization.Test/Serializers/SeparatedValueTests.cs b/SabreTools.Serialization.Test/Serializers/SeparatedValueTests.cs index a2a7e490..56bec1ad 100644 --- a/SabreTools.Serialization.Test/Serializers/SeparatedValueTests.cs +++ b/SabreTools.Serialization.Test/Serializers/SeparatedValueTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Test.Serializers public void SerializeStream_Null_Null() { var serializer = new SeparatedValue(); - Stream? actual = serializer.Serialize(null); + Stream? actual = serializer.SerializeStream(null); Assert.Null(actual); } } diff --git a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs index b56456bb..4ad38b4c 100644 --- a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs @@ -1,21 +1,22 @@ using System; using System.Collections.Generic; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.ArchiveDotOrg; namespace SabreTools.Serialization.CrossModel { - public partial class ArchiveDotOrg : IModelSerializer + public partial class ArchiveDotOrg : IModelSerializer { /// - public Models.ArchiveDotOrg.Files? Deserialize(Models.Metadata.MetadataFile? obj) + public Files? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var files = new Models.ArchiveDotOrg.Files(); + var files = new Files(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); - var items = new List(); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); + var items = new List(); foreach (var machine in machines ?? []) { items.AddRange(ConvertFromInternalModel(machine)); @@ -26,11 +27,11 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to an array of + /// Convert from to an array of /// - private static Models.ArchiveDotOrg.File[] ConvertFromInternalModel(Models.Metadata.Machine item) + private static File[] ConvertFromInternalModel(Serialization.Models.Metadata.Machine item) { - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms == null) return []; @@ -38,75 +39,75 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.ArchiveDotOrg.File ConvertFromInternalModel(Models.Metadata.Rom item) + private static File ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { - var file = new Models.ArchiveDotOrg.File + var file = new File { - Name = item.ReadString(Models.Metadata.Rom.NameKey), - Source = item.ReadString(Models.Metadata.Rom.SourceKey), - BitTorrentMagnetHash = item.ReadString(Models.Metadata.Rom.BitTorrentMagnetHashKey), - LastModifiedTime = item.ReadString(Models.Metadata.Rom.LastModifiedTimeKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - MD5 = item.ReadString(Models.Metadata.Rom.MD5Key), - CRC32 = item.ReadString(Models.Metadata.Rom.CRCKey), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - FileCount = item.ReadString(Models.Metadata.Rom.FileCountKey), - Format = item.ReadString(Models.Metadata.Rom.FormatKey), - Original = item.ReadString(Models.Metadata.Rom.OriginalKey), - Summation = item.ReadString(Models.Metadata.Rom.SummationKey), - MatrixNumber = item.ReadString(Models.Metadata.Rom.MatrixNumberKey), - CollectionCatalogNumber = item.ReadString(Models.Metadata.Rom.CollectionCatalogNumberKey), - Publisher = item.ReadString(Models.Metadata.Rom.PublisherKey), - Comment = item.ReadString(Models.Metadata.Rom.CommentKey), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Source = item.ReadString(Serialization.Models.Metadata.Rom.SourceKey), + BitTorrentMagnetHash = item.ReadString(Serialization.Models.Metadata.Rom.BitTorrentMagnetHashKey), + LastModifiedTime = item.ReadString(Serialization.Models.Metadata.Rom.LastModifiedTimeKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Rom.MD5Key), + CRC32 = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + FileCount = item.ReadString(Serialization.Models.Metadata.Rom.FileCountKey), + Format = item.ReadString(Serialization.Models.Metadata.Rom.FormatKey), + Original = item.ReadString(Serialization.Models.Metadata.Rom.OriginalKey), + Summation = item.ReadString(Serialization.Models.Metadata.Rom.SummationKey), + MatrixNumber = item.ReadString(Serialization.Models.Metadata.Rom.MatrixNumberKey), + CollectionCatalogNumber = item.ReadString(Serialization.Models.Metadata.Rom.CollectionCatalogNumberKey), + Publisher = item.ReadString(Serialization.Models.Metadata.Rom.PublisherKey), + Comment = item.ReadString(Serialization.Models.Metadata.Rom.CommentKey), - ASRDetectedLang = item.ReadString(Models.Metadata.Rom.ASRDetectedLangKey), - ASRDetectedLangConf = item.ReadString(Models.Metadata.Rom.ASRDetectedLangConfKey), - ASRTranscribedLang = item.ReadString(Models.Metadata.Rom.ASRTranscribedLangKey), - WhisperASRModuleVersion = item.ReadString(Models.Metadata.Rom.WhisperASRModuleVersionKey), - WhisperModelHash = item.ReadString(Models.Metadata.Rom.WhisperModelHashKey), - WhisperModelName = item.ReadString(Models.Metadata.Rom.WhisperModelNameKey), - WhisperVersion = item.ReadString(Models.Metadata.Rom.WhisperVersionKey), + ASRDetectedLang = item.ReadString(Serialization.Models.Metadata.Rom.ASRDetectedLangKey), + ASRDetectedLangConf = item.ReadString(Serialization.Models.Metadata.Rom.ASRDetectedLangConfKey), + ASRTranscribedLang = item.ReadString(Serialization.Models.Metadata.Rom.ASRTranscribedLangKey), + WhisperASRModuleVersion = item.ReadString(Serialization.Models.Metadata.Rom.WhisperASRModuleVersionKey), + WhisperModelHash = item.ReadString(Serialization.Models.Metadata.Rom.WhisperModelHashKey), + WhisperModelName = item.ReadString(Serialization.Models.Metadata.Rom.WhisperModelNameKey), + WhisperVersion = item.ReadString(Serialization.Models.Metadata.Rom.WhisperVersionKey), - ClothCoverDetectionModuleVersion = item.ReadString(Models.Metadata.Rom.ClothCoverDetectionModuleVersionKey), - hOCRCharToWordhOCRVersion = item.ReadString(Models.Metadata.Rom.hOCRCharToWordhOCRVersionKey), - hOCRCharToWordModuleVersion = item.ReadString(Models.Metadata.Rom.hOCRCharToWordModuleVersionKey), - hOCRFtsTexthOCRVersion = item.ReadString(Models.Metadata.Rom.hOCRFtsTexthOCRVersionKey), - hOCRFtsTextModuleVersion = item.ReadString(Models.Metadata.Rom.hOCRFtsTextModuleVersionKey), - hOCRPageIndexhOCRVersion = item.ReadString(Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey), - hOCRPageIndexModuleVersion = item.ReadString(Models.Metadata.Rom.hOCRPageIndexModuleVersionKey), - TesseractOCR = item.ReadString(Models.Metadata.Rom.TesseractOCRKey), - TesseractOCRConverted = item.ReadString(Models.Metadata.Rom.TesseractOCRConvertedKey), - TesseractOCRDetectedLang = item.ReadString(Models.Metadata.Rom.TesseractOCRDetectedLangKey), - TesseractOCRDetectedLangConf = item.ReadString(Models.Metadata.Rom.TesseractOCRDetectedLangConfKey), - TesseractOCRDetectedScript = item.ReadString(Models.Metadata.Rom.TesseractOCRDetectedScriptKey), - TesseractOCRDetectedScriptConf = item.ReadString(Models.Metadata.Rom.TesseractOCRDetectedScriptConfKey), - TesseractOCRModuleVersion = item.ReadString(Models.Metadata.Rom.TesseractOCRModuleVersionKey), - TesseractOCRParameters = item.ReadString(Models.Metadata.Rom.TesseractOCRParametersKey), - PDFModuleVersion = item.ReadString(Models.Metadata.Rom.PDFModuleVersionKey), - WordConfidenceInterval0To10 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval0To10Key), - WordConfidenceInterval11To20 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval11To20Key), - WordConfidenceInterval21To30 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval21To30Key), - WordConfidenceInterval31To40 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval31To40Key), - WordConfidenceInterval41To50 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval41To50Key), - WordConfidenceInterval51To60 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval51To60Key), - WordConfidenceInterval61To70 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval61To70Key), - WordConfidenceInterval71To80 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval71To80Key), - WordConfidenceInterval81To90 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval81To90Key), - WordConfidenceInterval91To100 = item.ReadString(Models.Metadata.Rom.WordConfidenceInterval91To100Key), + ClothCoverDetectionModuleVersion = item.ReadString(Serialization.Models.Metadata.Rom.ClothCoverDetectionModuleVersionKey), + hOCRCharToWordhOCRVersion = item.ReadString(Serialization.Models.Metadata.Rom.hOCRCharToWordhOCRVersionKey), + hOCRCharToWordModuleVersion = item.ReadString(Serialization.Models.Metadata.Rom.hOCRCharToWordModuleVersionKey), + hOCRFtsTexthOCRVersion = item.ReadString(Serialization.Models.Metadata.Rom.hOCRFtsTexthOCRVersionKey), + hOCRFtsTextModuleVersion = item.ReadString(Serialization.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey), + hOCRPageIndexhOCRVersion = item.ReadString(Serialization.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey), + hOCRPageIndexModuleVersion = item.ReadString(Serialization.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey), + TesseractOCR = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRKey), + TesseractOCRConverted = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRConvertedKey), + TesseractOCRDetectedLang = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRDetectedLangKey), + TesseractOCRDetectedLangConf = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRDetectedLangConfKey), + TesseractOCRDetectedScript = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRDetectedScriptKey), + TesseractOCRDetectedScriptConf = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRDetectedScriptConfKey), + TesseractOCRModuleVersion = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRModuleVersionKey), + TesseractOCRParameters = item.ReadString(Serialization.Models.Metadata.Rom.TesseractOCRParametersKey), + PDFModuleVersion = item.ReadString(Serialization.Models.Metadata.Rom.PDFModuleVersionKey), + WordConfidenceInterval0To10 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval0To10Key), + WordConfidenceInterval11To20 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval11To20Key), + WordConfidenceInterval21To30 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval21To30Key), + WordConfidenceInterval31To40 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval31To40Key), + WordConfidenceInterval41To50 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval41To50Key), + WordConfidenceInterval51To60 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval51To60Key), + WordConfidenceInterval61To70 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval61To70Key), + WordConfidenceInterval71To80 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval71To80Key), + WordConfidenceInterval81To90 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval81To90Key), + WordConfidenceInterval91To100 = item.ReadString(Serialization.Models.Metadata.Rom.WordConfidenceInterval91To100Key), - Album = item.ReadString(Models.Metadata.Rom.AlbumKey), - Artist = item.ReadString(Models.Metadata.Rom.ArtistKey), - Bitrate = item.ReadString(Models.Metadata.Rom.BitrateKey), - Creator = item.ReadString(Models.Metadata.Rom.CreatorKey), - Height = item.ReadString(Models.Metadata.Rom.HeightKey), - Length = item.ReadString(Models.Metadata.Rom.LengthKey), - PreviewImage = item.ReadString(Models.Metadata.Rom.PreviewImageKey), - Rotation = item.ReadString(Models.Metadata.Rom.RotationKey), - Title = item.ReadString(Models.Metadata.Rom.TitleKey), - Track = item.ReadString(Models.Metadata.Rom.TrackKey), - Width = item.ReadString(Models.Metadata.Rom.WidthKey), + Album = item.ReadString(Serialization.Models.Metadata.Rom.AlbumKey), + Artist = item.ReadString(Serialization.Models.Metadata.Rom.ArtistKey), + Bitrate = item.ReadString(Serialization.Models.Metadata.Rom.BitrateKey), + Creator = item.ReadString(Serialization.Models.Metadata.Rom.CreatorKey), + Height = item.ReadString(Serialization.Models.Metadata.Rom.HeightKey), + Length = item.ReadString(Serialization.Models.Metadata.Rom.LengthKey), + PreviewImage = item.ReadString(Serialization.Models.Metadata.Rom.PreviewImageKey), + Rotation = item.ReadString(Serialization.Models.Metadata.Rom.RotationKey), + Title = item.ReadString(Serialization.Models.Metadata.Rom.TitleKey), + Track = item.ReadString(Serialization.Models.Metadata.Rom.TrackKey), + Width = item.ReadString(Serialization.Models.Metadata.Rom.WidthKey), }; return file; } diff --git a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs index 9588e954..7ff319f4 100644 --- a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Serializer.cs @@ -1,24 +1,25 @@ using System; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.ArchiveDotOrg; namespace SabreTools.Serialization.CrossModel { - public partial class ArchiveDotOrg : IModelSerializer + public partial class ArchiveDotOrg : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(Models.ArchiveDotOrg.Files? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(Files? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; if (item?.File != null && item.File.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(item.File, ConvertMachineToInternalModel); } @@ -26,104 +27,104 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Models.ArchiveDotOrg.Files item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(Files item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.NameKey] = "archive.org", + [Serialization.Models.Metadata.Header.NameKey] = "archive.org", }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Models.ArchiveDotOrg.File? item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(File? item) { - var machine = new Models.Metadata.Machine(); + var machine = new Serialization.Models.Metadata.Machine(); var rom = ConvertToInternalModel(item); if (rom != null) - machine[Models.Metadata.Machine.RomKey] = new Models.Metadata.Rom[] { rom }; + machine[Serialization.Models.Metadata.Machine.RomKey] = new Serialization.Models.Metadata.Rom[] { rom }; return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom? ConvertToInternalModel(Models.ArchiveDotOrg.File? item) + private static Serialization.Models.Metadata.Rom? ConvertToInternalModel(File? item) { if (item == null) return null; - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.SourceKey] = item.Source, - [Models.Metadata.Rom.BitTorrentMagnetHashKey] = item.BitTorrentMagnetHash, - [Models.Metadata.Rom.LastModifiedTimeKey] = item.LastModifiedTime, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.MD5Key] = item.MD5, - [Models.Metadata.Rom.CRCKey] = item.CRC32, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.FileCountKey] = item.FileCount, - [Models.Metadata.Rom.FormatKey] = item.Format, - [Models.Metadata.Rom.OriginalKey] = item.Original, - [Models.Metadata.Rom.SummationKey] = item.Summation, - [Models.Metadata.Rom.MatrixNumberKey] = item.MatrixNumber, - [Models.Metadata.Rom.CollectionCatalogNumberKey] = item.CollectionCatalogNumber, - [Models.Metadata.Rom.PublisherKey] = item.Publisher, - [Models.Metadata.Rom.CommentKey] = item.Comment, + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.SourceKey] = item.Source, + [Serialization.Models.Metadata.Rom.BitTorrentMagnetHashKey] = item.BitTorrentMagnetHash, + [Serialization.Models.Metadata.Rom.LastModifiedTimeKey] = item.LastModifiedTime, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC32, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.FileCountKey] = item.FileCount, + [Serialization.Models.Metadata.Rom.FormatKey] = item.Format, + [Serialization.Models.Metadata.Rom.OriginalKey] = item.Original, + [Serialization.Models.Metadata.Rom.SummationKey] = item.Summation, + [Serialization.Models.Metadata.Rom.MatrixNumberKey] = item.MatrixNumber, + [Serialization.Models.Metadata.Rom.CollectionCatalogNumberKey] = item.CollectionCatalogNumber, + [Serialization.Models.Metadata.Rom.PublisherKey] = item.Publisher, + [Serialization.Models.Metadata.Rom.CommentKey] = item.Comment, - [Models.Metadata.Rom.ASRDetectedLangKey] = item.ASRDetectedLang, - [Models.Metadata.Rom.ASRDetectedLangConfKey] = item.ASRDetectedLangConf, - [Models.Metadata.Rom.ASRTranscribedLangKey] = item.ASRTranscribedLang, - [Models.Metadata.Rom.WhisperASRModuleVersionKey] = item.WhisperASRModuleVersion, - [Models.Metadata.Rom.WhisperModelHashKey] = item.WhisperModelHash, - [Models.Metadata.Rom.WhisperModelNameKey] = item.WhisperModelName, - [Models.Metadata.Rom.WhisperVersionKey] = item.WhisperVersion, + [Serialization.Models.Metadata.Rom.ASRDetectedLangKey] = item.ASRDetectedLang, + [Serialization.Models.Metadata.Rom.ASRDetectedLangConfKey] = item.ASRDetectedLangConf, + [Serialization.Models.Metadata.Rom.ASRTranscribedLangKey] = item.ASRTranscribedLang, + [Serialization.Models.Metadata.Rom.WhisperASRModuleVersionKey] = item.WhisperASRModuleVersion, + [Serialization.Models.Metadata.Rom.WhisperModelHashKey] = item.WhisperModelHash, + [Serialization.Models.Metadata.Rom.WhisperModelNameKey] = item.WhisperModelName, + [Serialization.Models.Metadata.Rom.WhisperVersionKey] = item.WhisperVersion, - [Models.Metadata.Rom.ClothCoverDetectionModuleVersionKey] = item.ClothCoverDetectionModuleVersion, - [Models.Metadata.Rom.hOCRCharToWordhOCRVersionKey] = item.hOCRCharToWordhOCRVersion, - [Models.Metadata.Rom.hOCRCharToWordModuleVersionKey] = item.hOCRCharToWordModuleVersion, - [Models.Metadata.Rom.hOCRFtsTexthOCRVersionKey] = item.hOCRFtsTexthOCRVersion, - [Models.Metadata.Rom.hOCRFtsTextModuleVersionKey] = item.hOCRFtsTextModuleVersion, - [Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey] = item.hOCRPageIndexhOCRVersion, - [Models.Metadata.Rom.hOCRPageIndexModuleVersionKey] = item.hOCRPageIndexModuleVersion, - [Models.Metadata.Rom.TesseractOCRKey] = item.TesseractOCR, - [Models.Metadata.Rom.TesseractOCRConvertedKey] = item.TesseractOCRConverted, - [Models.Metadata.Rom.TesseractOCRDetectedLangKey] = item.TesseractOCRDetectedLang, - [Models.Metadata.Rom.TesseractOCRDetectedLangConfKey] = item.TesseractOCRDetectedLangConf, - [Models.Metadata.Rom.TesseractOCRDetectedScriptKey] = item.TesseractOCRDetectedScript, - [Models.Metadata.Rom.TesseractOCRDetectedScriptConfKey] = item.TesseractOCRDetectedScriptConf, - [Models.Metadata.Rom.TesseractOCRModuleVersionKey] = item.TesseractOCRModuleVersion, - [Models.Metadata.Rom.TesseractOCRParametersKey] = item.TesseractOCRParameters, - [Models.Metadata.Rom.PDFModuleVersionKey] = item.PDFModuleVersion, - [Models.Metadata.Rom.WordConfidenceInterval0To10Key] = item.WordConfidenceInterval0To10, - [Models.Metadata.Rom.WordConfidenceInterval11To20Key] = item.WordConfidenceInterval11To20, - [Models.Metadata.Rom.WordConfidenceInterval21To30Key] = item.WordConfidenceInterval21To30, - [Models.Metadata.Rom.WordConfidenceInterval31To40Key] = item.WordConfidenceInterval31To40, - [Models.Metadata.Rom.WordConfidenceInterval41To50Key] = item.WordConfidenceInterval41To50, - [Models.Metadata.Rom.WordConfidenceInterval51To60Key] = item.WordConfidenceInterval51To60, - [Models.Metadata.Rom.WordConfidenceInterval61To70Key] = item.WordConfidenceInterval61To70, - [Models.Metadata.Rom.WordConfidenceInterval71To80Key] = item.WordConfidenceInterval71To80, - [Models.Metadata.Rom.WordConfidenceInterval81To90Key] = item.WordConfidenceInterval81To90, - [Models.Metadata.Rom.WordConfidenceInterval91To100Key] = item.WordConfidenceInterval91To100, + [Serialization.Models.Metadata.Rom.ClothCoverDetectionModuleVersionKey] = item.ClothCoverDetectionModuleVersion, + [Serialization.Models.Metadata.Rom.hOCRCharToWordhOCRVersionKey] = item.hOCRCharToWordhOCRVersion, + [Serialization.Models.Metadata.Rom.hOCRCharToWordModuleVersionKey] = item.hOCRCharToWordModuleVersion, + [Serialization.Models.Metadata.Rom.hOCRFtsTexthOCRVersionKey] = item.hOCRFtsTexthOCRVersion, + [Serialization.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey] = item.hOCRFtsTextModuleVersion, + [Serialization.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey] = item.hOCRPageIndexhOCRVersion, + [Serialization.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey] = item.hOCRPageIndexModuleVersion, + [Serialization.Models.Metadata.Rom.TesseractOCRKey] = item.TesseractOCR, + [Serialization.Models.Metadata.Rom.TesseractOCRConvertedKey] = item.TesseractOCRConverted, + [Serialization.Models.Metadata.Rom.TesseractOCRDetectedLangKey] = item.TesseractOCRDetectedLang, + [Serialization.Models.Metadata.Rom.TesseractOCRDetectedLangConfKey] = item.TesseractOCRDetectedLangConf, + [Serialization.Models.Metadata.Rom.TesseractOCRDetectedScriptKey] = item.TesseractOCRDetectedScript, + [Serialization.Models.Metadata.Rom.TesseractOCRDetectedScriptConfKey] = item.TesseractOCRDetectedScriptConf, + [Serialization.Models.Metadata.Rom.TesseractOCRModuleVersionKey] = item.TesseractOCRModuleVersion, + [Serialization.Models.Metadata.Rom.TesseractOCRParametersKey] = item.TesseractOCRParameters, + [Serialization.Models.Metadata.Rom.PDFModuleVersionKey] = item.PDFModuleVersion, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval0To10Key] = item.WordConfidenceInterval0To10, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval11To20Key] = item.WordConfidenceInterval11To20, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval21To30Key] = item.WordConfidenceInterval21To30, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval31To40Key] = item.WordConfidenceInterval31To40, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval41To50Key] = item.WordConfidenceInterval41To50, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval51To60Key] = item.WordConfidenceInterval51To60, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval61To70Key] = item.WordConfidenceInterval61To70, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval71To80Key] = item.WordConfidenceInterval71To80, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval81To90Key] = item.WordConfidenceInterval81To90, + [Serialization.Models.Metadata.Rom.WordConfidenceInterval91To100Key] = item.WordConfidenceInterval91To100, - [Models.Metadata.Rom.AlbumKey] = item.Album, - [Models.Metadata.Rom.ArtistKey] = item.Artist, - [Models.Metadata.Rom.BitrateKey] = item.Bitrate, - [Models.Metadata.Rom.CreatorKey] = item.Creator, - [Models.Metadata.Rom.HeightKey] = item.Height, - [Models.Metadata.Rom.LengthKey] = item.Length, - [Models.Metadata.Rom.PreviewImageKey] = item.PreviewImage, - [Models.Metadata.Rom.RotationKey] = item.Rotation, - [Models.Metadata.Rom.TitleKey] = item.Title, - [Models.Metadata.Rom.TrackKey] = item.Track, - [Models.Metadata.Rom.WidthKey] = item.Width, + [Serialization.Models.Metadata.Rom.AlbumKey] = item.Album, + [Serialization.Models.Metadata.Rom.ArtistKey] = item.Artist, + [Serialization.Models.Metadata.Rom.BitrateKey] = item.Bitrate, + [Serialization.Models.Metadata.Rom.CreatorKey] = item.Creator, + [Serialization.Models.Metadata.Rom.HeightKey] = item.Height, + [Serialization.Models.Metadata.Rom.LengthKey] = item.Length, + [Serialization.Models.Metadata.Rom.PreviewImageKey] = item.PreviewImage, + [Serialization.Models.Metadata.Rom.RotationKey] = item.Rotation, + [Serialization.Models.Metadata.Rom.TitleKey] = item.Title, + [Serialization.Models.Metadata.Rom.TrackKey] = item.Track, + [Serialization.Models.Metadata.Rom.WidthKey] = item.Width, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs b/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs index d27433da..c18806af 100644 --- a/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/AttractMode.Deserializer.cs @@ -1,22 +1,22 @@ using System; using System.Collections.Generic; -using SabreTools.Models.AttractMode; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.AttractMode; namespace SabreTools.Serialization.CrossModel { - public partial class AttractMode : IModelSerializer + public partial class AttractMode : IModelSerializer { /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj) + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); var metadataFile = header != null ? ConvertHeaderFromInternalModel(header) : new MetadataFile(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); var items = new List(); foreach (var machine in machines ?? []) { @@ -28,23 +28,23 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static MetadataFile ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static MetadataFile ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { var metadataFile = new MetadataFile { - Header = item.ReadStringArray(Models.Metadata.Header.HeaderKey), + Header = item.ReadStringArray(Serialization.Models.Metadata.Header.HeaderKey), }; return metadataFile; } /// - /// Convert from to an array of + /// Convert from to an array of /// - private static Row[] ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Row[] ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms == null || roms.Length == 0) return []; @@ -52,34 +52,34 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Row ConvertFromInternalModel(Models.Metadata.Rom item, Models.Metadata.Machine parent) + private static Row ConvertFromInternalModel(Serialization.Models.Metadata.Rom item, Serialization.Models.Metadata.Machine parent) { var row = new Row { - Name = parent.ReadString(Models.Metadata.Machine.NameKey), - Title = item.ReadString(Models.Metadata.Rom.NameKey), - Emulator = parent.ReadString(Models.Metadata.Machine.EmulatorKey), - CloneOf = parent.ReadString(Models.Metadata.Machine.CloneOfKey), - Year = parent.ReadString(Models.Metadata.Machine.YearKey), - Manufacturer = parent.ReadString(Models.Metadata.Machine.ManufacturerKey), - Category = parent.ReadString(Models.Metadata.Machine.CategoryKey), - Players = parent.ReadString(Models.Metadata.Machine.PlayersKey), - Rotation = parent.ReadString(Models.Metadata.Machine.RotationKey), - Control = parent.ReadString(Models.Metadata.Machine.ControlKey), - Status = parent.ReadString(Models.Metadata.Machine.StatusKey), - DisplayCount = parent.ReadString(Models.Metadata.Machine.DisplayCountKey), - DisplayType = parent.ReadString(Models.Metadata.Machine.DisplayTypeKey), - AltRomname = item.ReadString(Models.Metadata.Rom.AltRomnameKey), - AltTitle = item.ReadString(Models.Metadata.Rom.AltTitleKey), - Extra = parent.ReadString(Models.Metadata.Machine.ExtraKey), - Buttons = parent.ReadString(Models.Metadata.Machine.ButtonsKey), - Favorite = parent.ReadString(Models.Metadata.Machine.FavoriteKey), - Tags = parent.ReadString(Models.Metadata.Machine.TagsKey), - PlayedCount = parent.ReadString(Models.Metadata.Machine.PlayedCountKey), - PlayedTime = parent.ReadString(Models.Metadata.Machine.PlayedTimeKey), - FileIsAvailable = item.ReadString(Models.Metadata.Rom.FileIsAvailableKey), + Name = parent.ReadString(Serialization.Models.Metadata.Machine.NameKey), + Title = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Emulator = parent.ReadString(Serialization.Models.Metadata.Machine.EmulatorKey), + CloneOf = parent.ReadString(Serialization.Models.Metadata.Machine.CloneOfKey), + Year = parent.ReadString(Serialization.Models.Metadata.Machine.YearKey), + Manufacturer = parent.ReadString(Serialization.Models.Metadata.Machine.ManufacturerKey), + Category = parent.ReadString(Serialization.Models.Metadata.Machine.CategoryKey), + Players = parent.ReadString(Serialization.Models.Metadata.Machine.PlayersKey), + Rotation = parent.ReadString(Serialization.Models.Metadata.Machine.RotationKey), + Control = parent.ReadString(Serialization.Models.Metadata.Machine.ControlKey), + Status = parent.ReadString(Serialization.Models.Metadata.Machine.StatusKey), + DisplayCount = parent.ReadString(Serialization.Models.Metadata.Machine.DisplayCountKey), + DisplayType = parent.ReadString(Serialization.Models.Metadata.Machine.DisplayTypeKey), + AltRomname = item.ReadString(Serialization.Models.Metadata.Rom.AltRomnameKey), + AltTitle = item.ReadString(Serialization.Models.Metadata.Rom.AltTitleKey), + Extra = parent.ReadString(Serialization.Models.Metadata.Machine.ExtraKey), + Buttons = parent.ReadString(Serialization.Models.Metadata.Machine.ButtonsKey), + Favorite = parent.ReadString(Serialization.Models.Metadata.Machine.FavoriteKey), + Tags = parent.ReadString(Serialization.Models.Metadata.Machine.TagsKey), + PlayedCount = parent.ReadString(Serialization.Models.Metadata.Machine.PlayedCountKey), + PlayedTime = parent.ReadString(Serialization.Models.Metadata.Machine.PlayedTimeKey), + FileIsAvailable = item.ReadString(Serialization.Models.Metadata.Rom.FileIsAvailableKey), }; return row; } diff --git a/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs b/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs index 4314e78a..a3d0d46e 100644 --- a/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/AttractMode.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.AttractMode; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.AttractMode; namespace SabreTools.Serialization.CrossModel { - public partial class AttractMode : IModelSerializer + public partial class AttractMode : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj), }; if (obj?.Row != null && obj.Row.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(obj.Row, ConvertMachineToInternalModel); } @@ -27,62 +27,62 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(MetadataFile item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(MetadataFile item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.HeaderKey] = item.Header, + [Serialization.Models.Metadata.Header.HeaderKey] = item.Header, }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine? ConvertMachineToInternalModel(Row? item) + private static Serialization.Models.Metadata.Machine? ConvertMachineToInternalModel(Row? item) { if (item == null) return null; - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = item.Name, - [Models.Metadata.Machine.EmulatorKey] = item.Emulator, - [Models.Metadata.Machine.CloneOfKey] = item.CloneOf, - [Models.Metadata.Machine.YearKey] = item.Year, - [Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, - [Models.Metadata.Machine.CategoryKey] = item.Category, - [Models.Metadata.Machine.PlayersKey] = item.Players, - [Models.Metadata.Machine.RotationKey] = item.Rotation, - [Models.Metadata.Machine.ControlKey] = item.Control, - [Models.Metadata.Machine.StatusKey] = item.Status, - [Models.Metadata.Machine.DisplayCountKey] = item.DisplayCount, - [Models.Metadata.Machine.DisplayTypeKey] = item.DisplayType, - [Models.Metadata.Machine.ExtraKey] = item.Extra, - [Models.Metadata.Machine.ButtonsKey] = item.Buttons, - [Models.Metadata.Machine.FavoriteKey] = item.Favorite, - [Models.Metadata.Machine.TagsKey] = item.Tags, - [Models.Metadata.Machine.PlayedCountKey] = item.PlayedCount, - [Models.Metadata.Machine.PlayedTimeKey] = item.PlayedTime, - [Models.Metadata.Machine.PlayedTimeKey] = item.PlayedTime, - [Models.Metadata.Machine.RomKey] = new Models.Metadata.Rom[] { ConvertToInternalModel(item) }, + [Serialization.Models.Metadata.Machine.NameKey] = item.Name, + [Serialization.Models.Metadata.Machine.EmulatorKey] = item.Emulator, + [Serialization.Models.Metadata.Machine.CloneOfKey] = item.CloneOf, + [Serialization.Models.Metadata.Machine.YearKey] = item.Year, + [Serialization.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, + [Serialization.Models.Metadata.Machine.CategoryKey] = item.Category, + [Serialization.Models.Metadata.Machine.PlayersKey] = item.Players, + [Serialization.Models.Metadata.Machine.RotationKey] = item.Rotation, + [Serialization.Models.Metadata.Machine.ControlKey] = item.Control, + [Serialization.Models.Metadata.Machine.StatusKey] = item.Status, + [Serialization.Models.Metadata.Machine.DisplayCountKey] = item.DisplayCount, + [Serialization.Models.Metadata.Machine.DisplayTypeKey] = item.DisplayType, + [Serialization.Models.Metadata.Machine.ExtraKey] = item.Extra, + [Serialization.Models.Metadata.Machine.ButtonsKey] = item.Buttons, + [Serialization.Models.Metadata.Machine.FavoriteKey] = item.Favorite, + [Serialization.Models.Metadata.Machine.TagsKey] = item.Tags, + [Serialization.Models.Metadata.Machine.PlayedCountKey] = item.PlayedCount, + [Serialization.Models.Metadata.Machine.PlayedTimeKey] = item.PlayedTime, + [Serialization.Models.Metadata.Machine.PlayedTimeKey] = item.PlayedTime, + [Serialization.Models.Metadata.Machine.RomKey] = new Serialization.Models.Metadata.Rom[] { ConvertToInternalModel(item) }, }; return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(Row item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(Row item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.Title, - [Models.Metadata.Rom.AltRomnameKey] = item.AltRomname, - [Models.Metadata.Rom.AltTitleKey] = item.AltTitle, - [Models.Metadata.Rom.FileIsAvailableKey] = item.FileIsAvailable, + [Serialization.Models.Metadata.Rom.NameKey] = item.Title, + [Serialization.Models.Metadata.Rom.AltRomnameKey] = item.AltRomname, + [Serialization.Models.Metadata.Rom.AltTitleKey] = item.AltTitle, + [Serialization.Models.Metadata.Rom.FileIsAvailableKey] = item.FileIsAvailable, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs b/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs index ff700d3d..57a7f09a 100644 --- a/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/ClrMamePro.Deserializer.cs @@ -1,27 +1,27 @@ using System; -using SabreTools.Models.ClrMamePro; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.ClrMamePro; namespace SabreTools.Serialization.CrossModel { - public partial class ClrMamePro : IModelSerializer + public partial class ClrMamePro : IModelSerializer { /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj) => Deserialize(obj, true); + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) => Deserialize(obj, true); - /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj, bool game) + /// + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj, bool game) { if (obj == null) return null; var metadataFile = new MetadataFile(); - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); if (header != null) metadataFile.ClrMamePro = ConvertHeaderFromInternalModel(header); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) { metadataFile.Game @@ -32,96 +32,96 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.ClrMamePro.ClrMamePro ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static SabreTools.Serialization.Models.ClrMamePro.ClrMamePro ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { - var clrMamePro = new Models.ClrMamePro.ClrMamePro + var clrMamePro = new SabreTools.Serialization.Models.ClrMamePro.ClrMamePro { - Name = item.ReadString(Models.Metadata.Header.NameKey), - Description = item.ReadString(Models.Metadata.Header.DescriptionKey), - RootDir = item.ReadString(Models.Metadata.Header.RootDirKey), - Category = item.ReadString(Models.Metadata.Header.CategoryKey), - Version = item.ReadString(Models.Metadata.Header.VersionKey), - Date = item.ReadString(Models.Metadata.Header.DateKey), - Author = item.ReadString(Models.Metadata.Header.AuthorKey), - Homepage = item.ReadString(Models.Metadata.Header.HomepageKey), - Url = item.ReadString(Models.Metadata.Header.UrlKey), - Comment = item.ReadString(Models.Metadata.Header.CommentKey), - Header = item.ReadString(Models.Metadata.Header.HeaderKey), - Type = item.ReadString(Models.Metadata.Header.TypeKey), - ForceMerging = item.ReadString(Models.Metadata.Header.ForceMergingKey), - ForceZipping = item.ReadString(Models.Metadata.Header.ForceZippingKey), - ForcePacking = item.ReadString(Models.Metadata.Header.ForcePackingKey), + Name = item.ReadString(Serialization.Models.Metadata.Header.NameKey), + Description = item.ReadString(Serialization.Models.Metadata.Header.DescriptionKey), + RootDir = item.ReadString(Serialization.Models.Metadata.Header.RootDirKey), + Category = item.ReadString(Serialization.Models.Metadata.Header.CategoryKey), + Version = item.ReadString(Serialization.Models.Metadata.Header.VersionKey), + Date = item.ReadString(Serialization.Models.Metadata.Header.DateKey), + Author = item.ReadString(Serialization.Models.Metadata.Header.AuthorKey), + Homepage = item.ReadString(Serialization.Models.Metadata.Header.HomepageKey), + Url = item.ReadString(Serialization.Models.Metadata.Header.UrlKey), + Comment = item.ReadString(Serialization.Models.Metadata.Header.CommentKey), + Header = item.ReadString(Serialization.Models.Metadata.Header.HeaderKey), + Type = item.ReadString(Serialization.Models.Metadata.Header.TypeKey), + ForceMerging = item.ReadString(Serialization.Models.Metadata.Header.ForceMergingKey), + ForceZipping = item.ReadString(Serialization.Models.Metadata.Header.ForceZippingKey), + ForcePacking = item.ReadString(Serialization.Models.Metadata.Header.ForcePackingKey), }; return clrMamePro; } /// - /// Convert from to + /// Convert from to /// - private static GameBase ConvertMachineFromInternalModel(Models.Metadata.Machine item, bool game) + private static GameBase ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item, bool game) { - GameBase gameBase = game ? new Models.ClrMamePro.Game() : new Models.ClrMamePro.Machine(); + GameBase gameBase = game ? new Game() : new Machine(); - gameBase.Name = item.ReadString(Models.Metadata.Machine.NameKey); - gameBase.Description = item.ReadString(Models.Metadata.Machine.DescriptionKey); - gameBase.Year = item.ReadString(Models.Metadata.Machine.YearKey); - gameBase.Manufacturer = item.ReadString(Models.Metadata.Machine.ManufacturerKey); - gameBase.Category = item.ReadString(Models.Metadata.Machine.CategoryKey); - gameBase.CloneOf = item.ReadString(Models.Metadata.Machine.CloneOfKey); - gameBase.RomOf = item.ReadString(Models.Metadata.Machine.RomOfKey); - gameBase.SampleOf = item.ReadString(Models.Metadata.Machine.SampleOfKey); + gameBase.Name = item.ReadString(Serialization.Models.Metadata.Machine.NameKey); + gameBase.Description = item.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey); + gameBase.Year = item.ReadString(Serialization.Models.Metadata.Machine.YearKey); + gameBase.Manufacturer = item.ReadString(Serialization.Models.Metadata.Machine.ManufacturerKey); + gameBase.Category = item.ReadString(Serialization.Models.Metadata.Machine.CategoryKey); + gameBase.CloneOf = item.ReadString(Serialization.Models.Metadata.Machine.CloneOfKey); + gameBase.RomOf = item.ReadString(Serialization.Models.Metadata.Machine.RomOfKey); + gameBase.SampleOf = item.ReadString(Serialization.Models.Metadata.Machine.SampleOfKey); - var releases = item.Read(Models.Metadata.Machine.ReleaseKey); + var releases = item.Read(Serialization.Models.Metadata.Machine.ReleaseKey); if (releases != null && releases.Length > 0) gameBase.Release = Array.ConvertAll(releases, ConvertFromInternalModel); - var biosSets = item.Read(Models.Metadata.Machine.BiosSetKey); + var biosSets = item.Read(Serialization.Models.Metadata.Machine.BiosSetKey); if (biosSets != null && biosSets.Length > 0) gameBase.BiosSet = Array.ConvertAll(biosSets, ConvertFromInternalModel); - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms != null && roms.Length > 0) gameBase.Rom = Array.ConvertAll(roms, ConvertFromInternalModel); - var disks = item.Read(Models.Metadata.Machine.DiskKey); + var disks = item.Read(Serialization.Models.Metadata.Machine.DiskKey); if (disks != null && disks.Length > 0) gameBase.Disk = Array.ConvertAll(disks, ConvertFromInternalModel); - var medias = item.Read(Models.Metadata.Machine.MediaKey); + var medias = item.Read(Serialization.Models.Metadata.Machine.MediaKey); if (medias != null && medias.Length > 0) gameBase.Media = Array.ConvertAll(medias, ConvertFromInternalModel); - var samples = item.Read(Models.Metadata.Machine.SampleKey); + var samples = item.Read(Serialization.Models.Metadata.Machine.SampleKey); if (samples != null && samples.Length > 0) gameBase.Sample = Array.ConvertAll(samples, ConvertFromInternalModel); - var archives = item.Read(Models.Metadata.Machine.ArchiveKey); + var archives = item.Read(Serialization.Models.Metadata.Machine.ArchiveKey); if (archives != null && archives.Length > 0) gameBase.Archive = Array.ConvertAll(archives, ConvertFromInternalModel); - var chips = item.Read(Models.Metadata.Machine.ChipKey); + var chips = item.Read(Serialization.Models.Metadata.Machine.ChipKey); if (chips != null && chips.Length > 0) gameBase.Chip = Array.ConvertAll(chips, ConvertFromInternalModel); - var videos = item.Read(Models.Metadata.Machine.VideoKey); + var videos = item.Read(Serialization.Models.Metadata.Machine.VideoKey); if (videos != null && videos.Length > 0) gameBase.Video = Array.ConvertAll(videos, ConvertFromInternalModel); - var sound = item.Read(Models.Metadata.Machine.SoundKey); + var sound = item.Read(Serialization.Models.Metadata.Machine.SoundKey); if (sound != null) gameBase.Sound = ConvertFromInternalModel(sound); - var input = item.Read(Models.Metadata.Machine.InputKey); + var input = item.Read(Serialization.Models.Metadata.Machine.InputKey); if (input != null) gameBase.Input = ConvertFromInternalModel(input); - var dipSwitches = item.Read(Models.Metadata.Machine.DipSwitchKey); + var dipSwitches = item.Read(Serialization.Models.Metadata.Machine.DipSwitchKey); if (dipSwitches != null && dipSwitches.Length > 0) gameBase.DipSwitch = Array.ConvertAll(dipSwitches, ConvertFromInternalModel); - var driver = item.Read(Models.Metadata.Machine.DriverKey); + var driver = item.Read(Serialization.Models.Metadata.Machine.DriverKey); if (driver != null) gameBase.Driver = ConvertFromInternalModel(driver); @@ -129,216 +129,216 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Archive ConvertFromInternalModel(Models.Metadata.Archive item) + private static Archive ConvertFromInternalModel(Serialization.Models.Metadata.Archive item) { var archive = new Archive { - Name = item.ReadString(Models.Metadata.Archive.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Archive.NameKey), }; return archive; } /// - /// Convert from to + /// Convert from to /// - private static BiosSet ConvertFromInternalModel(Models.Metadata.BiosSet item) + private static BiosSet ConvertFromInternalModel(Serialization.Models.Metadata.BiosSet item) { var biosset = new BiosSet { - Name = item.ReadString(Models.Metadata.BiosSet.NameKey), - Description = item.ReadString(Models.Metadata.BiosSet.DescriptionKey), - Default = item.ReadString(Models.Metadata.BiosSet.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.BiosSet.NameKey), + Description = item.ReadString(Serialization.Models.Metadata.BiosSet.DescriptionKey), + Default = item.ReadString(Serialization.Models.Metadata.BiosSet.DefaultKey), }; return biosset; } /// - /// Convert from to + /// Convert from to /// - private static Chip ConvertFromInternalModel(Models.Metadata.Chip item) + private static Chip ConvertFromInternalModel(Serialization.Models.Metadata.Chip item) { var chip = new Chip { - Type = item.ReadString(Models.Metadata.Chip.ChipTypeKey), - Name = item.ReadString(Models.Metadata.Chip.NameKey), - Flags = item.ReadString(Models.Metadata.Chip.FlagsKey), - Clock = item.ReadString(Models.Metadata.Chip.ClockKey), + Type = item.ReadString(Serialization.Models.Metadata.Chip.ChipTypeKey), + Name = item.ReadString(Serialization.Models.Metadata.Chip.NameKey), + Flags = item.ReadString(Serialization.Models.Metadata.Chip.FlagsKey), + Clock = item.ReadString(Serialization.Models.Metadata.Chip.ClockKey), }; return chip; } /// - /// Convert from to + /// Convert from to /// - private static DipSwitch ConvertFromInternalModel(Models.Metadata.DipSwitch item) + private static DipSwitch ConvertFromInternalModel(Serialization.Models.Metadata.DipSwitch item) { var dipswitch = new DipSwitch { - Name = item.ReadString(Models.Metadata.DipSwitch.NameKey), - Entry = item[Models.Metadata.DipSwitch.EntryKey] as string[], - Default = item.ReadString(Models.Metadata.DipSwitch.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.DipSwitch.NameKey), + Entry = item[Serialization.Models.Metadata.DipSwitch.EntryKey] as string[], + Default = item.ReadString(Serialization.Models.Metadata.DipSwitch.DefaultKey), }; return dipswitch; } /// - /// Convert from to + /// Convert from to /// - private static Disk ConvertFromInternalModel(Models.Metadata.Disk item) + private static Disk ConvertFromInternalModel(Serialization.Models.Metadata.Disk item) { var disk = new Disk { - Name = item.ReadString(Models.Metadata.Disk.NameKey), - MD5 = item.ReadString(Models.Metadata.Disk.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Disk.SHA1Key), - Merge = item.ReadString(Models.Metadata.Disk.MergeKey), - Status = item.ReadString(Models.Metadata.Disk.StatusKey), - Flags = item.ReadString(Models.Metadata.Disk.FlagsKey), + Name = item.ReadString(Serialization.Models.Metadata.Disk.NameKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Disk.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Disk.SHA1Key), + Merge = item.ReadString(Serialization.Models.Metadata.Disk.MergeKey), + Status = item.ReadString(Serialization.Models.Metadata.Disk.StatusKey), + Flags = item.ReadString(Serialization.Models.Metadata.Disk.FlagsKey), }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static Driver ConvertFromInternalModel(Models.Metadata.Driver item) + private static Driver ConvertFromInternalModel(Serialization.Models.Metadata.Driver item) { var driver = new Driver { - Status = item.ReadString(Models.Metadata.Driver.StatusKey), - Color = item.ReadString(Models.Metadata.Driver.ColorKey), - Sound = item.ReadString(Models.Metadata.Driver.SoundKey), - PaletteSize = item.ReadString(Models.Metadata.Driver.PaletteSizeKey), - Blit = item.ReadString(Models.Metadata.Driver.BlitKey), + Status = item.ReadString(Serialization.Models.Metadata.Driver.StatusKey), + Color = item.ReadString(Serialization.Models.Metadata.Driver.ColorKey), + Sound = item.ReadString(Serialization.Models.Metadata.Driver.SoundKey), + PaletteSize = item.ReadString(Serialization.Models.Metadata.Driver.PaletteSizeKey), + Blit = item.ReadString(Serialization.Models.Metadata.Driver.BlitKey), }; return driver; } /// - /// Convert from to + /// Convert from to /// - private static Input ConvertFromInternalModel(Models.Metadata.Input item) + private static Input ConvertFromInternalModel(Serialization.Models.Metadata.Input item) { var input = new Input { - Players = item.ReadString(Models.Metadata.Input.PlayersKey), - Control = item.ReadString(Models.Metadata.Input.ControlKey), - Buttons = item.ReadString(Models.Metadata.Input.ButtonsKey), - Coins = item.ReadString(Models.Metadata.Input.CoinsKey), - Tilt = item.ReadString(Models.Metadata.Input.TiltKey), - Service = item.ReadString(Models.Metadata.Input.ServiceKey), + Players = item.ReadString(Serialization.Models.Metadata.Input.PlayersKey), + Control = item.ReadString(Serialization.Models.Metadata.Input.ControlKey), + Buttons = item.ReadString(Serialization.Models.Metadata.Input.ButtonsKey), + Coins = item.ReadString(Serialization.Models.Metadata.Input.CoinsKey), + Tilt = item.ReadString(Serialization.Models.Metadata.Input.TiltKey), + Service = item.ReadString(Serialization.Models.Metadata.Input.ServiceKey), }; return input; } /// - /// Convert from to + /// Convert from to /// - private static Media ConvertFromInternalModel(Models.Metadata.Media item) + private static Media ConvertFromInternalModel(Serialization.Models.Metadata.Media item) { var media = new Media { - Name = item.ReadString(Models.Metadata.Media.NameKey), - MD5 = item.ReadString(Models.Metadata.Media.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Media.SHA1Key), - SHA256 = item.ReadString(Models.Metadata.Media.SHA256Key), - SpamSum = item.ReadString(Models.Metadata.Media.SpamSumKey), + Name = item.ReadString(Serialization.Models.Metadata.Media.NameKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Media.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Media.SHA1Key), + SHA256 = item.ReadString(Serialization.Models.Metadata.Media.SHA256Key), + SpamSum = item.ReadString(Serialization.Models.Metadata.Media.SpamSumKey), }; return media; } /// - /// Convert from to + /// Convert from to /// - private static Release ConvertFromInternalModel(Models.Metadata.Release item) + private static Release ConvertFromInternalModel(Serialization.Models.Metadata.Release item) { var release = new Release { - Name = item.ReadString(Models.Metadata.Release.NameKey), - Region = item.ReadString(Models.Metadata.Release.RegionKey), - Language = item.ReadString(Models.Metadata.Release.LanguageKey), - Date = item.ReadString(Models.Metadata.Release.DateKey), - Default = item.ReadString(Models.Metadata.Release.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.Release.NameKey), + Region = item.ReadString(Serialization.Models.Metadata.Release.RegionKey), + Language = item.ReadString(Serialization.Models.Metadata.Release.LanguageKey), + Date = item.ReadString(Serialization.Models.Metadata.Release.DateKey), + Default = item.ReadString(Serialization.Models.Metadata.Release.DefaultKey), }; return release; } /// - /// Convert from to + /// Convert from to /// - private static Rom ConvertFromInternalModel(Models.Metadata.Rom item) + private static Rom ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var rom = new Rom { - Name = item.ReadString(Models.Metadata.Rom.NameKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - CRC = item.ReadString(Models.Metadata.Rom.CRCKey), - MD2 = item.ReadString(Models.Metadata.Rom.MD2Key), - MD4 = item.ReadString(Models.Metadata.Rom.MD4Key), - MD5 = item.ReadString(Models.Metadata.Rom.MD5Key), - RIPEMD128 = item.ReadString(Models.Metadata.Rom.RIPEMD128Key), - RIPEMD160 = item.ReadString(Models.Metadata.Rom.RIPEMD160Key), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - SHA256 = item.ReadString(Models.Metadata.Rom.SHA256Key), - SHA384 = item.ReadString(Models.Metadata.Rom.SHA384Key), - SHA512 = item.ReadString(Models.Metadata.Rom.SHA512Key), - SpamSum = item.ReadString(Models.Metadata.Rom.SpamSumKey), - xxHash364 = item.ReadString(Models.Metadata.Rom.xxHash364Key), - xxHash3128 = item.ReadString(Models.Metadata.Rom.xxHash3128Key), - Merge = item.ReadString(Models.Metadata.Rom.MergeKey), - Status = item.ReadString(Models.Metadata.Rom.StatusKey), - Region = item.ReadString(Models.Metadata.Rom.RegionKey), - Flags = item.ReadString(Models.Metadata.Rom.FlagsKey), - Offs = item.ReadString(Models.Metadata.Rom.OffsetKey), - Serial = item.ReadString(Models.Metadata.Rom.SerialKey), - Header = item.ReadString(Models.Metadata.Rom.HeaderKey), - Date = item.ReadString(Models.Metadata.Rom.DateKey), - Inverted = item.ReadString(Models.Metadata.Rom.InvertedKey), - MIA = item.ReadString(Models.Metadata.Rom.MIAKey), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + CRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + MD2 = item.ReadString(Serialization.Models.Metadata.Rom.MD2Key), + MD4 = item.ReadString(Serialization.Models.Metadata.Rom.MD4Key), + MD5 = item.ReadString(Serialization.Models.Metadata.Rom.MD5Key), + RIPEMD128 = item.ReadString(Serialization.Models.Metadata.Rom.RIPEMD128Key), + RIPEMD160 = item.ReadString(Serialization.Models.Metadata.Rom.RIPEMD160Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + SHA256 = item.ReadString(Serialization.Models.Metadata.Rom.SHA256Key), + SHA384 = item.ReadString(Serialization.Models.Metadata.Rom.SHA384Key), + SHA512 = item.ReadString(Serialization.Models.Metadata.Rom.SHA512Key), + SpamSum = item.ReadString(Serialization.Models.Metadata.Rom.SpamSumKey), + xxHash364 = item.ReadString(Serialization.Models.Metadata.Rom.xxHash364Key), + xxHash3128 = item.ReadString(Serialization.Models.Metadata.Rom.xxHash3128Key), + Merge = item.ReadString(Serialization.Models.Metadata.Rom.MergeKey), + Status = item.ReadString(Serialization.Models.Metadata.Rom.StatusKey), + Region = item.ReadString(Serialization.Models.Metadata.Rom.RegionKey), + Flags = item.ReadString(Serialization.Models.Metadata.Rom.FlagsKey), + Offs = item.ReadString(Serialization.Models.Metadata.Rom.OffsetKey), + Serial = item.ReadString(Serialization.Models.Metadata.Rom.SerialKey), + Header = item.ReadString(Serialization.Models.Metadata.Rom.HeaderKey), + Date = item.ReadString(Serialization.Models.Metadata.Rom.DateKey), + Inverted = item.ReadString(Serialization.Models.Metadata.Rom.InvertedKey), + MIA = item.ReadString(Serialization.Models.Metadata.Rom.MIAKey), }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Sample ConvertFromInternalModel(Models.Metadata.Sample item) + private static Sample ConvertFromInternalModel(Serialization.Models.Metadata.Sample item) { var sample = new Sample { - Name = item.ReadString(Models.Metadata.Sample.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Sample.NameKey), }; return sample; } /// - /// Convert from to + /// Convert from to /// - private static Sound ConvertFromInternalModel(Models.Metadata.Sound item) + private static Sound ConvertFromInternalModel(Serialization.Models.Metadata.Sound item) { var sound = new Sound { - Channels = item.ReadString(Models.Metadata.Sound.ChannelsKey), + Channels = item.ReadString(Serialization.Models.Metadata.Sound.ChannelsKey), }; return sound; } /// - /// Convert from to + /// Convert from to /// - private static Video ConvertFromInternalModel(Models.Metadata.Video item) + private static Video ConvertFromInternalModel(Serialization.Models.Metadata.Video item) { var video = new Video { - Screen = item.ReadString(Models.Metadata.Video.ScreenKey), - Orientation = item.ReadString(Models.Metadata.Video.OrientationKey), - X = item.ReadString(Models.Metadata.Video.WidthKey), - Y = item.ReadString(Models.Metadata.Video.HeightKey), - AspectX = item.ReadString(Models.Metadata.Video.AspectXKey), - AspectY = item.ReadString(Models.Metadata.Video.AspectYKey), - Freq = item.ReadString(Models.Metadata.Video.RefreshKey), + Screen = item.ReadString(Serialization.Models.Metadata.Video.ScreenKey), + Orientation = item.ReadString(Serialization.Models.Metadata.Video.OrientationKey), + X = item.ReadString(Serialization.Models.Metadata.Video.WidthKey), + Y = item.ReadString(Serialization.Models.Metadata.Video.HeightKey), + AspectX = item.ReadString(Serialization.Models.Metadata.Video.AspectXKey), + AspectY = item.ReadString(Serialization.Models.Metadata.Video.AspectYKey), + Freq = item.ReadString(Serialization.Models.Metadata.Video.RefreshKey), }; return video; } diff --git a/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs b/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs index 368c6ed1..bb96739d 100644 --- a/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/ClrMamePro.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.ClrMamePro; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.ClrMamePro; namespace SabreTools.Serialization.CrossModel { - public partial class ClrMamePro : IModelSerializer + public partial class ClrMamePro : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile(); + var metadataFile = new Serialization.Models.Metadata.MetadataFile(); if (obj?.ClrMamePro != null) - metadataFile[Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj.ClrMamePro); + metadataFile[Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj.ClrMamePro); if (obj?.Game != null && obj.Game.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(obj.Game, ConvertMachineToInternalModel); } @@ -27,334 +27,334 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Models.ClrMamePro.ClrMamePro item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(SabreTools.Serialization.Models.ClrMamePro.ClrMamePro item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.NameKey] = item.Name, - [Models.Metadata.Header.DescriptionKey] = item.Description, - [Models.Metadata.Header.RootDirKey] = item.RootDir, - [Models.Metadata.Header.CategoryKey] = item.Category, - [Models.Metadata.Header.VersionKey] = item.Version, - [Models.Metadata.Header.DateKey] = item.Date, - [Models.Metadata.Header.AuthorKey] = item.Author, - [Models.Metadata.Header.HomepageKey] = item.Homepage, - [Models.Metadata.Header.UrlKey] = item.Url, - [Models.Metadata.Header.CommentKey] = item.Comment, - [Models.Metadata.Header.HeaderKey] = item.Header, - [Models.Metadata.Header.TypeKey] = item.Type, - [Models.Metadata.Header.ForceMergingKey] = item.ForceMerging, - [Models.Metadata.Header.ForceZippingKey] = item.ForceZipping, - [Models.Metadata.Header.ForcePackingKey] = item.ForcePacking, + [Serialization.Models.Metadata.Header.NameKey] = item.Name, + [Serialization.Models.Metadata.Header.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Header.RootDirKey] = item.RootDir, + [Serialization.Models.Metadata.Header.CategoryKey] = item.Category, + [Serialization.Models.Metadata.Header.VersionKey] = item.Version, + [Serialization.Models.Metadata.Header.DateKey] = item.Date, + [Serialization.Models.Metadata.Header.AuthorKey] = item.Author, + [Serialization.Models.Metadata.Header.HomepageKey] = item.Homepage, + [Serialization.Models.Metadata.Header.UrlKey] = item.Url, + [Serialization.Models.Metadata.Header.CommentKey] = item.Comment, + [Serialization.Models.Metadata.Header.HeaderKey] = item.Header, + [Serialization.Models.Metadata.Header.TypeKey] = item.Type, + [Serialization.Models.Metadata.Header.ForceMergingKey] = item.ForceMerging, + [Serialization.Models.Metadata.Header.ForceZippingKey] = item.ForceZipping, + [Serialization.Models.Metadata.Header.ForcePackingKey] = item.ForcePacking, }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine? ConvertMachineToInternalModel(GameBase? item) + private static Serialization.Models.Metadata.Machine? ConvertMachineToInternalModel(GameBase? item) { if (item == null) return null; - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = item.Name, - [Models.Metadata.Machine.DescriptionKey] = item.Description, - [Models.Metadata.Machine.YearKey] = item.Year, - [Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, - [Models.Metadata.Machine.CategoryKey] = item.Category, - [Models.Metadata.Machine.CloneOfKey] = item.CloneOf, - [Models.Metadata.Machine.RomOfKey] = item.RomOf, - [Models.Metadata.Machine.SampleOfKey] = item.SampleOf, + [Serialization.Models.Metadata.Machine.NameKey] = item.Name, + [Serialization.Models.Metadata.Machine.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Machine.YearKey] = item.Year, + [Serialization.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, + [Serialization.Models.Metadata.Machine.CategoryKey] = item.Category, + [Serialization.Models.Metadata.Machine.CloneOfKey] = item.CloneOf, + [Serialization.Models.Metadata.Machine.RomOfKey] = item.RomOf, + [Serialization.Models.Metadata.Machine.SampleOfKey] = item.SampleOf, }; if (item.Release != null && item.Release.Length > 0) { - machine[Models.Metadata.Machine.ReleaseKey] + machine[Serialization.Models.Metadata.Machine.ReleaseKey] = Array.ConvertAll(item.Release, ConvertToInternalModel); } if (item.BiosSet != null && item.BiosSet.Length > 0) { - machine[Models.Metadata.Machine.BiosSetKey] + machine[Serialization.Models.Metadata.Machine.BiosSetKey] = Array.ConvertAll(item.BiosSet, ConvertToInternalModel); } if (item.Rom != null && item.Rom.Length > 0) { - machine[Models.Metadata.Machine.RomKey] + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.Rom, ConvertToInternalModel); } if (item.Disk != null && item.Disk.Length > 0) { - machine[Models.Metadata.Machine.DiskKey] + machine[Serialization.Models.Metadata.Machine.DiskKey] = Array.ConvertAll(item.Disk, ConvertToInternalModel); } if (item.Media != null && item.Media.Length > 0) { - machine[Models.Metadata.Machine.MediaKey] + machine[Serialization.Models.Metadata.Machine.MediaKey] = Array.ConvertAll(item.Media, ConvertToInternalModel); } if (item.Sample != null && item.Sample.Length > 0) { - machine[Models.Metadata.Machine.SampleKey] + machine[Serialization.Models.Metadata.Machine.SampleKey] = Array.ConvertAll(item.Sample, ConvertToInternalModel); } if (item.Archive != null && item.Archive.Length > 0) { - machine[Models.Metadata.Machine.ArchiveKey] + machine[Serialization.Models.Metadata.Machine.ArchiveKey] = Array.ConvertAll(item.Archive, ConvertToInternalModel); } if (item.Chip != null && item.Chip.Length > 0) { - machine[Models.Metadata.Machine.ChipKey] + machine[Serialization.Models.Metadata.Machine.ChipKey] = Array.ConvertAll(item.Chip, ConvertToInternalModel); } if (item.Video != null) { - machine[Models.Metadata.Machine.VideoKey] + machine[Serialization.Models.Metadata.Machine.VideoKey] = Array.ConvertAll(item.Video, ConvertToInternalModel); } if (item.Sound != null) - machine[Models.Metadata.Machine.SoundKey] = ConvertToInternalModel(item.Sound); + machine[Serialization.Models.Metadata.Machine.SoundKey] = ConvertToInternalModel(item.Sound); if (item.Input != null) - machine[Models.Metadata.Machine.InputKey] = ConvertToInternalModel(item.Input); + machine[Serialization.Models.Metadata.Machine.InputKey] = ConvertToInternalModel(item.Input); if (item.DipSwitch != null && item.DipSwitch.Length > 0) { - machine[Models.Metadata.Machine.DipSwitchKey] + machine[Serialization.Models.Metadata.Machine.DipSwitchKey] = Array.ConvertAll(item.DipSwitch, ConvertToInternalModel); } if (item.Driver != null) - machine[Models.Metadata.Machine.DriverKey] = ConvertToInternalModel(item.Driver); + machine[Serialization.Models.Metadata.Machine.DriverKey] = ConvertToInternalModel(item.Driver); return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Archive ConvertToInternalModel(Archive item) + private static Serialization.Models.Metadata.Archive ConvertToInternalModel(Archive item) { - var archive = new Models.Metadata.Archive + var archive = new Serialization.Models.Metadata.Archive { - [Models.Metadata.Archive.NameKey] = item.Name, + [Serialization.Models.Metadata.Archive.NameKey] = item.Name, }; return archive; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.BiosSet ConvertToInternalModel(BiosSet item) + private static Serialization.Models.Metadata.BiosSet ConvertToInternalModel(BiosSet item) { - var biosset = new Models.Metadata.BiosSet + var biosset = new Serialization.Models.Metadata.BiosSet { - [Models.Metadata.BiosSet.NameKey] = item.Name, - [Models.Metadata.BiosSet.DescriptionKey] = item.Description, - [Models.Metadata.BiosSet.DefaultKey] = item.Default, + [Serialization.Models.Metadata.BiosSet.NameKey] = item.Name, + [Serialization.Models.Metadata.BiosSet.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.BiosSet.DefaultKey] = item.Default, }; return biosset; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Chip ConvertToInternalModel(Chip item) + private static Serialization.Models.Metadata.Chip ConvertToInternalModel(Chip item) { - var chip = new Models.Metadata.Chip + var chip = new Serialization.Models.Metadata.Chip { - [Models.Metadata.Chip.ChipTypeKey] = item.Type, - [Models.Metadata.Chip.NameKey] = item.Name, - [Models.Metadata.Chip.FlagsKey] = item.Flags, - [Models.Metadata.Chip.ClockKey] = item.Clock, + [Serialization.Models.Metadata.Chip.ChipTypeKey] = item.Type, + [Serialization.Models.Metadata.Chip.NameKey] = item.Name, + [Serialization.Models.Metadata.Chip.FlagsKey] = item.Flags, + [Serialization.Models.Metadata.Chip.ClockKey] = item.Clock, }; return chip; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DipSwitch ConvertToInternalModel(DipSwitch item) + private static Serialization.Models.Metadata.DipSwitch ConvertToInternalModel(DipSwitch item) { - var dipswitch = new Models.Metadata.DipSwitch + var dipswitch = new Serialization.Models.Metadata.DipSwitch { - [Models.Metadata.DipSwitch.NameKey] = item.Name, - [Models.Metadata.DipSwitch.EntryKey] = item.Entry, - [Models.Metadata.DipSwitch.DefaultKey] = item.Default, + [Serialization.Models.Metadata.DipSwitch.NameKey] = item.Name, + [Serialization.Models.Metadata.DipSwitch.EntryKey] = item.Entry, + [Serialization.Models.Metadata.DipSwitch.DefaultKey] = item.Default, }; return dipswitch; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Disk ConvertToInternalModel(Disk item) + private static Serialization.Models.Metadata.Disk ConvertToInternalModel(Disk item) { - var disk = new Models.Metadata.Disk + var disk = new Serialization.Models.Metadata.Disk { - [Models.Metadata.Disk.NameKey] = item.Name, - [Models.Metadata.Disk.MD5Key] = item.MD5, - [Models.Metadata.Disk.SHA1Key] = item.SHA1, - [Models.Metadata.Disk.MergeKey] = item.Merge, - [Models.Metadata.Disk.StatusKey] = item.Status, - [Models.Metadata.Disk.FlagsKey] = item.Flags, + [Serialization.Models.Metadata.Disk.NameKey] = item.Name, + [Serialization.Models.Metadata.Disk.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Disk.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Disk.MergeKey] = item.Merge, + [Serialization.Models.Metadata.Disk.StatusKey] = item.Status, + [Serialization.Models.Metadata.Disk.FlagsKey] = item.Flags, }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Driver ConvertToInternalModel(Driver item) + private static Serialization.Models.Metadata.Driver ConvertToInternalModel(Driver item) { - var driver = new Models.Metadata.Driver + var driver = new Serialization.Models.Metadata.Driver { - [Models.Metadata.Driver.StatusKey] = item.Status, - [Models.Metadata.Driver.ColorKey] = item.Color, - [Models.Metadata.Driver.SoundKey] = item.Sound, - [Models.Metadata.Driver.PaletteSizeKey] = item.PaletteSize, - [Models.Metadata.Driver.BlitKey] = item.Blit, + [Serialization.Models.Metadata.Driver.StatusKey] = item.Status, + [Serialization.Models.Metadata.Driver.ColorKey] = item.Color, + [Serialization.Models.Metadata.Driver.SoundKey] = item.Sound, + [Serialization.Models.Metadata.Driver.PaletteSizeKey] = item.PaletteSize, + [Serialization.Models.Metadata.Driver.BlitKey] = item.Blit, }; return driver; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Input ConvertToInternalModel(Input item) + private static Serialization.Models.Metadata.Input ConvertToInternalModel(Input item) { - var input = new Models.Metadata.Input + var input = new Serialization.Models.Metadata.Input { - [Models.Metadata.Input.PlayersKey] = item.Players, - [Models.Metadata.Input.ControlKey] = item.Control, - [Models.Metadata.Input.ButtonsKey] = item.Buttons, - [Models.Metadata.Input.CoinsKey] = item.Coins, - [Models.Metadata.Input.TiltKey] = item.Tilt, - [Models.Metadata.Input.ServiceKey] = item.Service, + [Serialization.Models.Metadata.Input.PlayersKey] = item.Players, + [Serialization.Models.Metadata.Input.ControlKey] = item.Control, + [Serialization.Models.Metadata.Input.ButtonsKey] = item.Buttons, + [Serialization.Models.Metadata.Input.CoinsKey] = item.Coins, + [Serialization.Models.Metadata.Input.TiltKey] = item.Tilt, + [Serialization.Models.Metadata.Input.ServiceKey] = item.Service, }; return input; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Media ConvertToInternalModel(Media item) + private static Serialization.Models.Metadata.Media ConvertToInternalModel(Media item) { - var media = new Models.Metadata.Media + var media = new Serialization.Models.Metadata.Media { - [Models.Metadata.Media.NameKey] = item.Name, - [Models.Metadata.Media.MD5Key] = item.MD5, - [Models.Metadata.Media.SHA1Key] = item.SHA1, - [Models.Metadata.Media.SHA256Key] = item.SHA256, - [Models.Metadata.Media.SpamSumKey] = item.SpamSum, + [Serialization.Models.Metadata.Media.NameKey] = item.Name, + [Serialization.Models.Metadata.Media.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Media.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Media.SHA256Key] = item.SHA256, + [Serialization.Models.Metadata.Media.SpamSumKey] = item.SpamSum, }; return media; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Release ConvertToInternalModel(Release item) + private static Serialization.Models.Metadata.Release ConvertToInternalModel(Release item) { - var release = new Models.Metadata.Release + var release = new Serialization.Models.Metadata.Release { - [Models.Metadata.Release.NameKey] = item.Name, - [Models.Metadata.Release.RegionKey] = item.Region, - [Models.Metadata.Release.LanguageKey] = item.Language, - [Models.Metadata.Release.DateKey] = item.Date, - [Models.Metadata.Release.DefaultKey] = item.Default, + [Serialization.Models.Metadata.Release.NameKey] = item.Name, + [Serialization.Models.Metadata.Release.RegionKey] = item.Region, + [Serialization.Models.Metadata.Release.LanguageKey] = item.Language, + [Serialization.Models.Metadata.Release.DateKey] = item.Date, + [Serialization.Models.Metadata.Release.DefaultKey] = item.Default, }; return release; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(Rom item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(Rom item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.CRCKey] = item.CRC, - [Models.Metadata.Rom.MD2Key] = item.MD2, - [Models.Metadata.Rom.MD4Key] = item.MD4, - [Models.Metadata.Rom.MD5Key] = item.MD5, - [Models.Metadata.Rom.RIPEMD128Key] = item.RIPEMD128, - [Models.Metadata.Rom.RIPEMD160Key] = item.RIPEMD160, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.SHA256Key] = item.SHA256, - [Models.Metadata.Rom.SHA384Key] = item.SHA384, - [Models.Metadata.Rom.SHA512Key] = item.SHA512, - [Models.Metadata.Rom.SpamSumKey] = item.SpamSum, - [Models.Metadata.Rom.xxHash364Key] = item.xxHash364, - [Models.Metadata.Rom.xxHash3128Key] = item.xxHash3128, - [Models.Metadata.Rom.MergeKey] = item.Merge, - [Models.Metadata.Rom.StatusKey] = item.Status, - [Models.Metadata.Rom.RegionKey] = item.Region, - [Models.Metadata.Rom.FlagsKey] = item.Flags, - [Models.Metadata.Rom.OffsetKey] = item.Offs, - [Models.Metadata.Rom.SerialKey] = item.Serial, - [Models.Metadata.Rom.HeaderKey] = item.Header, - [Models.Metadata.Rom.DateKey] = item.Date, - [Models.Metadata.Rom.InvertedKey] = item.Inverted, - [Models.Metadata.Rom.MIAKey] = item.MIA, + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC, + [Serialization.Models.Metadata.Rom.MD2Key] = item.MD2, + [Serialization.Models.Metadata.Rom.MD4Key] = item.MD4, + [Serialization.Models.Metadata.Rom.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Rom.RIPEMD128Key] = item.RIPEMD128, + [Serialization.Models.Metadata.Rom.RIPEMD160Key] = item.RIPEMD160, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.SHA256Key] = item.SHA256, + [Serialization.Models.Metadata.Rom.SHA384Key] = item.SHA384, + [Serialization.Models.Metadata.Rom.SHA512Key] = item.SHA512, + [Serialization.Models.Metadata.Rom.SpamSumKey] = item.SpamSum, + [Serialization.Models.Metadata.Rom.xxHash364Key] = item.xxHash364, + [Serialization.Models.Metadata.Rom.xxHash3128Key] = item.xxHash3128, + [Serialization.Models.Metadata.Rom.MergeKey] = item.Merge, + [Serialization.Models.Metadata.Rom.StatusKey] = item.Status, + [Serialization.Models.Metadata.Rom.RegionKey] = item.Region, + [Serialization.Models.Metadata.Rom.FlagsKey] = item.Flags, + [Serialization.Models.Metadata.Rom.OffsetKey] = item.Offs, + [Serialization.Models.Metadata.Rom.SerialKey] = item.Serial, + [Serialization.Models.Metadata.Rom.HeaderKey] = item.Header, + [Serialization.Models.Metadata.Rom.DateKey] = item.Date, + [Serialization.Models.Metadata.Rom.InvertedKey] = item.Inverted, + [Serialization.Models.Metadata.Rom.MIAKey] = item.MIA, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Sample ConvertToInternalModel(Sample item) + private static Serialization.Models.Metadata.Sample ConvertToInternalModel(Sample item) { - var sample = new Models.Metadata.Sample + var sample = new Serialization.Models.Metadata.Sample { - [Models.Metadata.Sample.NameKey] = item.Name, + [Serialization.Models.Metadata.Sample.NameKey] = item.Name, }; return sample; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Sound ConvertToInternalModel(Sound item) + private static Serialization.Models.Metadata.Sound ConvertToInternalModel(Sound item) { - var sound = new Models.Metadata.Sound + var sound = new Serialization.Models.Metadata.Sound { - [Models.Metadata.Sound.ChannelsKey] = item.Channels, + [Serialization.Models.Metadata.Sound.ChannelsKey] = item.Channels, }; return sound; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Video ConvertToInternalModel(Video item) + private static Serialization.Models.Metadata.Video ConvertToInternalModel(Video item) { - var video = new Models.Metadata.Video + var video = new Serialization.Models.Metadata.Video { - [Models.Metadata.Video.ScreenKey] = item.Screen, - [Models.Metadata.Video.OrientationKey] = item.Orientation, - [Models.Metadata.Video.WidthKey] = item.X, - [Models.Metadata.Video.HeightKey] = item.Y, - [Models.Metadata.Video.AspectXKey] = item.AspectX, - [Models.Metadata.Video.AspectYKey] = item.AspectY, - [Models.Metadata.Video.RefreshKey] = item.Freq, + [Serialization.Models.Metadata.Video.ScreenKey] = item.Screen, + [Serialization.Models.Metadata.Video.OrientationKey] = item.Orientation, + [Serialization.Models.Metadata.Video.WidthKey] = item.X, + [Serialization.Models.Metadata.Video.HeightKey] = item.Y, + [Serialization.Models.Metadata.Video.AspectXKey] = item.AspectX, + [Serialization.Models.Metadata.Video.AspectYKey] = item.AspectY, + [Serialization.Models.Metadata.Video.RefreshKey] = item.Freq, }; return video; } diff --git a/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs b/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs index 92b944d5..5583587d 100644 --- a/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/DosCenter.Deserializer.cs @@ -1,24 +1,24 @@ using System; -using SabreTools.Models.DosCenter; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.DosCenter; namespace SabreTools.Serialization.CrossModel { - public partial class DosCenter : IModelSerializer + public partial class DosCenter : IModelSerializer { /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj) + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; var metadataFile = new MetadataFile(); - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); if (header != null) metadataFile.DosCenter = ConvertHeaderFromInternalModel(header); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) metadataFile.Game = Array.ConvertAll(machines, ConvertMachineFromInternalModel); @@ -26,34 +26,34 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.DosCenter.DosCenter ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static SabreTools.Serialization.Models.DosCenter.DosCenter ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { - var dosCenter = new Models.DosCenter.DosCenter + var dosCenter = new SabreTools.Serialization.Models.DosCenter.DosCenter { - Name = item.ReadString(Models.Metadata.Header.NameKey), - Description = item.ReadString(Models.Metadata.Header.DescriptionKey), - Version = item.ReadString(Models.Metadata.Header.VersionKey), - Date = item.ReadString(Models.Metadata.Header.DateKey), - Author = item.ReadString(Models.Metadata.Header.AuthorKey), - Homepage = item.ReadString(Models.Metadata.Header.HomepageKey), - Comment = item.ReadString(Models.Metadata.Header.CommentKey), + Name = item.ReadString(Serialization.Models.Metadata.Header.NameKey), + Description = item.ReadString(Serialization.Models.Metadata.Header.DescriptionKey), + Version = item.ReadString(Serialization.Models.Metadata.Header.VersionKey), + Date = item.ReadString(Serialization.Models.Metadata.Header.DateKey), + Author = item.ReadString(Serialization.Models.Metadata.Header.AuthorKey), + Homepage = item.ReadString(Serialization.Models.Metadata.Header.HomepageKey), + Comment = item.ReadString(Serialization.Models.Metadata.Header.CommentKey), }; return dosCenter; } /// - /// Convert from to + /// Convert from to /// - private static Game ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Game ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { var game = new Game { - Name = item.ReadString(Models.Metadata.Machine.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Machine.NameKey), }; - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms != null && roms.Length > 0) game.File = Array.ConvertAll(roms, ConvertFromInternalModel); @@ -61,17 +61,17 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static File ConvertFromInternalModel(Models.Metadata.Rom item) + private static File ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var file = new File { - Name = item.ReadString(Models.Metadata.Rom.NameKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - CRC = item.ReadString(Models.Metadata.Rom.CRCKey), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - Date = item.ReadString(Models.Metadata.Rom.DateKey), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + CRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + Date = item.ReadString(Serialization.Models.Metadata.Rom.DateKey), }; return file; } diff --git a/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs b/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs index 9c9b159f..0841dada 100644 --- a/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/DosCenter.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.DosCenter; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.DosCenter; namespace SabreTools.Serialization.CrossModel { - public partial class DosCenter : IModelSerializer + public partial class DosCenter : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile(); + var metadataFile = new Serialization.Models.Metadata.MetadataFile(); if (obj?.DosCenter != null) - metadataFile[Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj.DosCenter); + metadataFile[Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj.DosCenter); if (obj?.Game != null && obj.Game.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(obj.Game, ConvertMachineToInternalModel); } @@ -27,36 +27,36 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Models.DosCenter.DosCenter item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(SabreTools.Serialization.Models.DosCenter.DosCenter item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.NameKey] = item.Name, - [Models.Metadata.Header.DescriptionKey] = item.Description, - [Models.Metadata.Header.VersionKey] = item.Version, - [Models.Metadata.Header.DateKey] = item.Date, - [Models.Metadata.Header.AuthorKey] = item.Author, - [Models.Metadata.Header.HomepageKey] = item.Homepage, - [Models.Metadata.Header.CommentKey] = item.Comment, + [Serialization.Models.Metadata.Header.NameKey] = item.Name, + [Serialization.Models.Metadata.Header.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Header.VersionKey] = item.Version, + [Serialization.Models.Metadata.Header.DateKey] = item.Date, + [Serialization.Models.Metadata.Header.AuthorKey] = item.Author, + [Serialization.Models.Metadata.Header.HomepageKey] = item.Homepage, + [Serialization.Models.Metadata.Header.CommentKey] = item.Comment, }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Game item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Game item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = item.Name, + [Serialization.Models.Metadata.Machine.NameKey] = item.Name, }; if (item.File != null && item.File.Length > 0) { - machine[Models.Metadata.Machine.RomKey] + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.File, ConvertToInternalModel); } @@ -64,17 +64,17 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(File item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(File item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.CRCKey] = item.CRC, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.DateKey] = item.Date, + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.DateKey] = item.Date, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs index deb5981f..bff92040 100644 --- a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Deserializer.cs @@ -1,38 +1,38 @@ using System; using System.Collections.Generic; -using SabreTools.Models.EverdriveSMDB; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.EverdriveSMDB; namespace SabreTools.Serialization.CrossModel { - public partial class EverdriveSMDB : IModelSerializer + public partial class EverdriveSMDB : IModelSerializer { /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj) + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; var metadataFile = new MetadataFile(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); var items = new List(); - foreach (var machine in machines ?? []) - { - items.AddRange(ConvertMachineFromInternalModel(machine)); - } + foreach (var machine in machines ?? []) + { + items.AddRange(ConvertMachineFromInternalModel(machine)); + } - metadataFile.Row = [.. items]; + metadataFile.Row = [.. items]; return metadataFile; } /// - /// Convert from to an array of + /// Convert from to an array of /// - private static Row[] ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Row[] ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms == null || roms.Length == 0) return []; @@ -40,18 +40,18 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Row ConvertFromInternalModel(Models.Metadata.Rom item) + private static Row ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var row = new Row { - SHA256 = item.ReadString(Models.Metadata.Rom.SHA256Key), - Name = item.ReadString(Models.Metadata.Rom.NameKey), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - MD5 = item.ReadString(Models.Metadata.Rom.MD5Key), - CRC32 = item.ReadString(Models.Metadata.Rom.CRCKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), + SHA256 = item.ReadString(Serialization.Models.Metadata.Rom.SHA256Key), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + MD5 = item.ReadString(Serialization.Models.Metadata.Rom.MD5Key), + CRC32 = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), }; return row; } diff --git a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs index 5735187b..793c5736 100644 --- a/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/EverdriveSMDB.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.EverdriveSMDB; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.EverdriveSMDB; namespace SabreTools.Serialization.CrossModel { - public partial class EverdriveSMDB : IModelSerializer + public partial class EverdriveSMDB : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(), }; if (obj?.Row != null && obj.Row.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(obj.Row, ConvertMachineToInternalModel); } @@ -27,42 +27,42 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel() + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel() { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.NameKey] = "Everdrive SMDB", + [Serialization.Models.Metadata.Header.NameKey] = "Everdrive SMDB", }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Row item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Row item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.RomKey] = new Models.Metadata.Rom[] { ConvertToInternalModel(item) }, + [Serialization.Models.Metadata.Machine.RomKey] = new Serialization.Models.Metadata.Rom[] { ConvertToInternalModel(item) }, }; return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(Row item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(Row item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.SHA256Key] = item.SHA256, - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.MD5Key] = item.MD5, - [Models.Metadata.Rom.CRCKey] = item.CRC32, - [Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.SHA256Key] = item.SHA256, + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC32, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs b/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs index 1d0b405f..43691aa4 100644 --- a/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs @@ -1,23 +1,23 @@ using System; using System.Collections.Generic; using SabreTools.Hashing; -using SabreTools.Models.Hashfile; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Hashfile; namespace SabreTools.Serialization.CrossModel { - public partial class Hashfile : IModelSerializer + public partial class Hashfile : IModelSerializer { /// - public Models.Hashfile.Hashfile? Deserialize(Models.Metadata.MetadataFile? obj) => Deserialize(obj, HashType.CRC32); + public SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) => Deserialize(obj, HashType.CRC32); /// - public Models.Hashfile.Hashfile? Deserialize(Models.Metadata.MetadataFile? obj, HashType hash) + public SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj, HashType hash) { if (obj == null) return null; - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines == null || machines.Length == 0) return null; @@ -62,7 +62,7 @@ namespace SabreTools.Serialization.CrossModel spamsums.AddRange(hashfile.SpamSum); } - var hashfileItem = new Models.Hashfile.Hashfile(); + var hashfileItem = new SabreTools.Serialization.Models.Hashfile.Hashfile(); if (sfvs.Count > 0) hashfileItem.SFV = [.. sfvs]; @@ -91,15 +91,15 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Hashfile.Hashfile ConvertMachineFromInternalModel(Models.Metadata.Machine item, HashType hash) + private static SabreTools.Serialization.Models.Hashfile.Hashfile ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item, HashType hash) { - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms == null) - return new Models.Hashfile.Hashfile(); + return new SabreTools.Serialization.Models.Hashfile.Hashfile(); - return new Models.Hashfile.Hashfile + return new SabreTools.Serialization.Models.Hashfile.Hashfile { SFV = hash == HashType.CRC32 ? Array.ConvertAll(roms, ConvertToSFV) @@ -138,144 +138,144 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static MD2 ConvertToMD2(Models.Metadata.Rom item) + private static MD2 ConvertToMD2(Serialization.Models.Metadata.Rom item) { var md2 = new MD2 { - Hash = item.ReadString(Models.Metadata.Rom.MD2Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.MD2Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return md2; } /// - /// Convert from to + /// Convert from to /// - private static MD4 ConvertToMD4(Models.Metadata.Rom item) + private static MD4 ConvertToMD4(Serialization.Models.Metadata.Rom item) { var md4 = new MD4 { - Hash = item.ReadString(Models.Metadata.Rom.MD4Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.MD4Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return md4; } /// - /// Convert from to + /// Convert from to /// - private static MD5 ConvertToMD5(Models.Metadata.Rom item) + private static MD5 ConvertToMD5(Serialization.Models.Metadata.Rom item) { var md5 = new MD5 { - Hash = item.ReadString(Models.Metadata.Rom.MD5Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.MD5Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return md5; } /// - /// Convert from to + /// Convert from to /// - private static RIPEMD128 ConvertToRIPEMD128(Models.Metadata.Rom item) + private static RIPEMD128 ConvertToRIPEMD128(Serialization.Models.Metadata.Rom item) { var ripemd128 = new RIPEMD128 { - Hash = item.ReadString(Models.Metadata.Rom.RIPEMD128Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.RIPEMD128Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return ripemd128; } /// - /// Convert from to + /// Convert from to /// - private static RIPEMD160 ConvertToRIPEMD160(Models.Metadata.Rom item) + private static RIPEMD160 ConvertToRIPEMD160(Serialization.Models.Metadata.Rom item) { var ripemd160 = new RIPEMD160 { - Hash = item.ReadString(Models.Metadata.Rom.RIPEMD160Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.RIPEMD160Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return ripemd160; } /// - /// Convert from to + /// Convert from to /// - private static SFV ConvertToSFV(Models.Metadata.Rom item) + private static SFV ConvertToSFV(Serialization.Models.Metadata.Rom item) { var sfv = new SFV { - File = item.ReadString(Models.Metadata.Rom.NameKey), - Hash = item.ReadString(Models.Metadata.Rom.CRCKey), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), }; return sfv; } /// - /// Convert from to + /// Convert from to /// - private static SHA1 ConvertToSHA1(Models.Metadata.Rom item) + private static SHA1 ConvertToSHA1(Serialization.Models.Metadata.Rom item) { var sha1 = new SHA1 { - Hash = item.ReadString(Models.Metadata.Rom.SHA1Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return sha1; } /// - /// Convert from to + /// Convert from to /// - private static SHA256 ConvertToSHA256(Models.Metadata.Rom item) + private static SHA256 ConvertToSHA256(Serialization.Models.Metadata.Rom item) { var sha256 = new SHA256 { - Hash = item.ReadString(Models.Metadata.Rom.SHA256Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SHA256Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return sha256; } /// - /// Convert from to + /// Convert from to /// - private static SHA384 ConvertToSHA384(Models.Metadata.Rom item) + private static SHA384 ConvertToSHA384(Serialization.Models.Metadata.Rom item) { var sha384 = new SHA384 { - Hash = item.ReadString(Models.Metadata.Rom.SHA384Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SHA384Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return sha384; } /// - /// Convert from to + /// Convert from to /// - private static SHA512 ConvertToSHA512(Models.Metadata.Rom item) + private static SHA512 ConvertToSHA512(Serialization.Models.Metadata.Rom item) { var sha512 = new SHA512 { - Hash = item.ReadString(Models.Metadata.Rom.SHA512Key), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SHA512Key), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return sha512; } /// - /// Convert from to + /// Convert from to /// - private static SpamSum ConvertToSpamSum(Models.Metadata.Rom item) + private static SpamSum ConvertToSpamSum(Serialization.Models.Metadata.Rom item) { var spamsum = new SpamSum { - Hash = item.ReadString(Models.Metadata.Rom.SpamSumKey), - File = item.ReadString(Models.Metadata.Rom.NameKey), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SpamSumKey), + File = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), }; return spamsum; } diff --git a/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs b/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs index b1be52be..03edddfc 100644 --- a/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Hashfile.Serializer.cs @@ -1,212 +1,212 @@ using System; -using SabreTools.Models.Hashfile; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Hashfile; namespace SabreTools.Serialization.CrossModel { - public partial class Hashfile : IModelSerializer + public partial class Hashfile : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(Models.Hashfile.Hashfile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(SabreTools.Serialization.Models.Hashfile.Hashfile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(), }; var machine = ConvertMachineToInternalModel(obj); - metadataFile[Models.Metadata.MetadataFile.MachineKey] = new Models.Metadata.Machine[] { machine }; + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = new Serialization.Models.Metadata.Machine[] { machine }; return metadataFile; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel() + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel() { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.NameKey] = "Hashfile", + [Serialization.Models.Metadata.Header.NameKey] = "Hashfile", }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Models.Hashfile.Hashfile item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(SabreTools.Serialization.Models.Hashfile.Hashfile item) { - var machine = new Models.Metadata.Machine(); + var machine = new Serialization.Models.Metadata.Machine(); if (item.SFV != null && item.SFV.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SFV, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SFV, ConvertToInternalModel); else if (item.MD2 != null && item.MD2.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.MD2, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.MD2, ConvertToInternalModel); else if (item.MD4 != null && item.MD4.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.MD4, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.MD4, ConvertToInternalModel); else if (item.MD5 != null && item.MD5.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.MD5, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.MD5, ConvertToInternalModel); else if (item.RIPEMD128 != null && item.RIPEMD128.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.RIPEMD128, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.RIPEMD128, ConvertToInternalModel); else if (item.RIPEMD160 != null && item.RIPEMD160.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.RIPEMD160, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.RIPEMD160, ConvertToInternalModel); else if (item.SHA1 != null && item.SHA1.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA1, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA1, ConvertToInternalModel); else if (item.SHA256 != null && item.SHA256.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA256, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA256, ConvertToInternalModel); else if (item.SHA384 != null && item.SHA384.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA384, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA384, ConvertToInternalModel); else if (item.SHA512 != null && item.SHA512.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA512, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SHA512, ConvertToInternalModel); else if (item.SpamSum != null && item.SpamSum.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SpamSum, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.SpamSum, ConvertToInternalModel); return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(MD2 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(MD2 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.MD2Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.MD2Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(MD4 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(MD4 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.MD4Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.MD4Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(MD5 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(MD5 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.MD5Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.MD5Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(RIPEMD128 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(RIPEMD128 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.RIPEMD128Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.RIPEMD128Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(RIPEMD160 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(RIPEMD160 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.RIPEMD160Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.RIPEMD160Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(SFV item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(SFV item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.File, - [Models.Metadata.Rom.CRCKey] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.CRCKey] = item.Hash, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(SHA1 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(SHA1 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.SHA1Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(SHA256 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(SHA256 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.SHA256Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.SHA256Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(SHA384 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(SHA384 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.SHA384Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.SHA384Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(SHA512 item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(SHA512 item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.SHA512Key] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.SHA512Key] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(SpamSum item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(SpamSum item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.SpamSumKey] = item.Hash, - [Models.Metadata.Rom.NameKey] = item.File, + [Serialization.Models.Metadata.Rom.SpamSumKey] = item.Hash, + [Serialization.Models.Metadata.Rom.NameKey] = item.File, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs b/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs index af65508d..eff09b7d 100644 --- a/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Listrom.Deserializer.cs @@ -1,21 +1,21 @@ using System; using System.Collections.Generic; -using SabreTools.Models.Listrom; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Listrom; namespace SabreTools.Serialization.CrossModel { - public partial class Listrom : IModelSerializer + public partial class Listrom : IModelSerializer { /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj) + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; var metadataFile = new MetadataFile(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) metadataFile.Set = Array.ConvertAll(machines, ConvertMachineFromInternalModel); @@ -23,25 +23,25 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Set ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Set ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { var set = new Set(); - if (item.ReadString(Models.Metadata.Machine.IsDeviceKey) == "yes") - set.Device = item.ReadString(Models.Metadata.Machine.NameKey); + if (item.ReadString(Serialization.Models.Metadata.Machine.IsDeviceKey) == "yes") + set.Device = item.ReadString(Serialization.Models.Metadata.Machine.NameKey); else - set.Driver = item.ReadString(Models.Metadata.Machine.NameKey); + set.Driver = item.ReadString(Serialization.Models.Metadata.Machine.NameKey); var rowItems = new List(); - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms != null) { rowItems.AddRange(Array.ConvertAll(roms, ConvertFromInternalModel)); } - var disks = item.Read(Models.Metadata.Machine.DiskKey); + var disks = item.Read(Serialization.Models.Metadata.Machine.DiskKey); if (disks != null) rowItems.AddRange(Array.ConvertAll(disks, ConvertFromInternalModel)); @@ -50,41 +50,41 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Row ConvertFromInternalModel(Models.Metadata.Disk item) + private static Row ConvertFromInternalModel(Serialization.Models.Metadata.Disk item) { var row = new Row { - Name = item.ReadString(Models.Metadata.Disk.NameKey), - MD5 = item.ReadString(Models.Metadata.Disk.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Disk.SHA1Key), + Name = item.ReadString(Serialization.Models.Metadata.Disk.NameKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Disk.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Disk.SHA1Key), }; - if (item[Models.Metadata.Disk.StatusKey] as string == "nodump") + if (item[Serialization.Models.Metadata.Disk.StatusKey] as string == "nodump") row.NoGoodDumpKnown = true; - else if (item[Models.Metadata.Disk.StatusKey] as string == "baddump") + else if (item[Serialization.Models.Metadata.Disk.StatusKey] as string == "baddump") row.Bad = true; return row; } /// - /// Convert from to + /// Convert from to /// - private static Row ConvertFromInternalModel(Models.Metadata.Rom item) + private static Row ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var row = new Row { - Name = item.ReadString(Models.Metadata.Rom.NameKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - CRC = item.ReadString(Models.Metadata.Rom.CRCKey), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + CRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), }; - if (item[Models.Metadata.Rom.StatusKey] as string == "nodump") + if (item[Serialization.Models.Metadata.Rom.StatusKey] as string == "nodump") row.NoGoodDumpKnown = true; - else if (item[Models.Metadata.Rom.StatusKey] as string == "baddump") + else if (item[Serialization.Models.Metadata.Rom.StatusKey] as string == "baddump") row.Bad = true; return row; diff --git a/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs b/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs index 838d6952..684dd663 100644 --- a/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Listrom.Serializer.cs @@ -1,26 +1,26 @@ using System; using System.Collections.Generic; -using SabreTools.Models.Listrom; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Listrom; namespace SabreTools.Serialization.CrossModel { - public partial class Listrom : IModelSerializer + public partial class Listrom : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(), }; if (obj?.Set != null && obj.Set.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(obj.Set, ConvertMachineToInternalModel); } @@ -28,90 +28,90 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel() + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel() { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.NameKey] = "MAME Listrom", + [Serialization.Models.Metadata.Header.NameKey] = "MAME Listrom", }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Set item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Set item) { - var machine = new Models.Metadata.Machine(); + var machine = new Serialization.Models.Metadata.Machine(); if (!string.IsNullOrEmpty(item.Device)) { - machine[Models.Metadata.Machine.NameKey] = item.Device; - machine[Models.Metadata.Machine.IsDeviceKey] = "yes"; + machine[Serialization.Models.Metadata.Machine.NameKey] = item.Device; + machine[Serialization.Models.Metadata.Machine.IsDeviceKey] = "yes"; } else { - machine[Models.Metadata.Machine.NameKey] = item.Driver; + machine[Serialization.Models.Metadata.Machine.NameKey] = item.Driver; } if (item.Row != null && item.Row.Length > 0) { - var disks = new List(); - var roms = new List(); + var disks = new List(); + var roms = new List(); foreach (var file in item.Row) { var datItem = ConvertToInternalModel(file); - if (datItem is Models.Metadata.Disk disk) + if (datItem is Serialization.Models.Metadata.Disk disk) disks.Add(disk); - else if (datItem is Models.Metadata.Rom rom) + else if (datItem is Serialization.Models.Metadata.Rom rom) roms.Add(rom); } - machine[Models.Metadata.Machine.DiskKey] = disks.ToArray(); - machine[Models.Metadata.Machine.RomKey] = roms.ToArray(); + machine[Serialization.Models.Metadata.Machine.DiskKey] = disks.ToArray(); + machine[Serialization.Models.Metadata.Machine.RomKey] = roms.ToArray(); } return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DatItem ConvertToInternalModel(Row item) + private static Serialization.Models.Metadata.DatItem ConvertToInternalModel(Row item) { if (item.Size == null) { - var disk = new Models.Metadata.Disk + var disk = new Serialization.Models.Metadata.Disk { - [Models.Metadata.DatItem.TypeKey] = "disk", - [Models.Metadata.Disk.NameKey] = item.Name, - [Models.Metadata.Disk.MD5Key] = item.MD5, - [Models.Metadata.Disk.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.DatItem.TypeKey] = "disk", + [Serialization.Models.Metadata.Disk.NameKey] = item.Name, + [Serialization.Models.Metadata.Disk.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Disk.SHA1Key] = item.SHA1, }; if (item.NoGoodDumpKnown) - disk[Models.Metadata.Disk.StatusKey] = "nodump"; + disk[Serialization.Models.Metadata.Disk.StatusKey] = "nodump"; else if (item.Bad) - disk[Models.Metadata.Disk.StatusKey] = "baddump"; + disk[Serialization.Models.Metadata.Disk.StatusKey] = "baddump"; return disk; } else { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.DatItem.TypeKey] = "rom", - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.CRCKey] = item.CRC, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.DatItem.TypeKey] = "rom", + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, }; if (item.NoGoodDumpKnown) - rom[Models.Metadata.Rom.StatusKey] = "nodump"; + rom[Serialization.Models.Metadata.Rom.StatusKey] = "nodump"; else if (item.Bad) - rom[Models.Metadata.Rom.StatusKey] = "baddump"; + rom[Serialization.Models.Metadata.Rom.StatusKey] = "baddump"; return rom; } diff --git a/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs index e90031e8..b4b02534 100644 --- a/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Listxml.Deserializer.cs @@ -1,21 +1,21 @@ using System; -using SabreTools.Models.Listxml; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Listxml; namespace SabreTools.Serialization.CrossModel { - public partial class Listxml : IModelSerializer + public partial class Listxml : IModelSerializer { /// - public Mame? Deserialize(Models.Metadata.MetadataFile? obj) + public Mame? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); var mame = header != null ? ConvertMameFromInternalModel(header) : new Mame(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) mame.Game = Array.ConvertAll(machines, ConvertMachineFromInternalModel); @@ -23,119 +23,119 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Mame ConvertMameFromInternalModel(Models.Metadata.Header item) + private static Mame ConvertMameFromInternalModel(Serialization.Models.Metadata.Header item) { var mame = new Mame { - Build = item.ReadString(Models.Metadata.Header.BuildKey), - Debug = item.ReadString(Models.Metadata.Header.DebugKey), - MameConfig = item.ReadString(Models.Metadata.Header.MameConfigKey), + Build = item.ReadString(Serialization.Models.Metadata.Header.BuildKey), + Debug = item.ReadString(Serialization.Models.Metadata.Header.DebugKey), + MameConfig = item.ReadString(Serialization.Models.Metadata.Header.MameConfigKey), }; return mame; } /// - /// Convert from to + /// Convert from to /// - internal static GameBase ConvertMachineFromInternalModel(Models.Metadata.Machine item) + internal static GameBase ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { var machine = new Machine { - Name = item.ReadString(Models.Metadata.Machine.NameKey), - SourceFile = item.ReadString(Models.Metadata.Machine.SourceFileKey), - IsBios = item.ReadString(Models.Metadata.Machine.IsBiosKey), - IsDevice = item.ReadString(Models.Metadata.Machine.IsDeviceKey), - IsMechanical = item.ReadString(Models.Metadata.Machine.IsMechanicalKey), - Runnable = item.ReadString(Models.Metadata.Machine.RunnableKey), - CloneOf = item.ReadString(Models.Metadata.Machine.CloneOfKey), - RomOf = item.ReadString(Models.Metadata.Machine.RomOfKey), - SampleOf = item.ReadString(Models.Metadata.Machine.SampleOfKey), - Description = item.ReadString(Models.Metadata.Machine.DescriptionKey), - Year = item.ReadString(Models.Metadata.Machine.YearKey), - Manufacturer = item.ReadString(Models.Metadata.Machine.ManufacturerKey), - History = item.ReadString(Models.Metadata.Machine.HistoryKey), + Name = item.ReadString(Serialization.Models.Metadata.Machine.NameKey), + SourceFile = item.ReadString(Serialization.Models.Metadata.Machine.SourceFileKey), + IsBios = item.ReadString(Serialization.Models.Metadata.Machine.IsBiosKey), + IsDevice = item.ReadString(Serialization.Models.Metadata.Machine.IsDeviceKey), + IsMechanical = item.ReadString(Serialization.Models.Metadata.Machine.IsMechanicalKey), + Runnable = item.ReadString(Serialization.Models.Metadata.Machine.RunnableKey), + CloneOf = item.ReadString(Serialization.Models.Metadata.Machine.CloneOfKey), + RomOf = item.ReadString(Serialization.Models.Metadata.Machine.RomOfKey), + SampleOf = item.ReadString(Serialization.Models.Metadata.Machine.SampleOfKey), + Description = item.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey), + Year = item.ReadString(Serialization.Models.Metadata.Machine.YearKey), + Manufacturer = item.ReadString(Serialization.Models.Metadata.Machine.ManufacturerKey), + History = item.ReadString(Serialization.Models.Metadata.Machine.HistoryKey), }; - var biosSets = item.Read(Models.Metadata.Machine.BiosSetKey); + var biosSets = item.Read(Serialization.Models.Metadata.Machine.BiosSetKey); if (biosSets != null && biosSets.Length > 0) machine.BiosSet = Array.ConvertAll(biosSets, ConvertFromInternalModel); - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms != null && roms.Length > 0) machine.Rom = Array.ConvertAll(roms, ConvertFromInternalModel); - var disks = item.Read(Models.Metadata.Machine.DiskKey); + var disks = item.Read(Serialization.Models.Metadata.Machine.DiskKey); if (disks != null && disks.Length > 0) machine.Disk = Array.ConvertAll(disks, ConvertFromInternalModel); - var deviceRefs = item.Read(Models.Metadata.Machine.DeviceRefKey); + var deviceRefs = item.Read(Serialization.Models.Metadata.Machine.DeviceRefKey); if (deviceRefs != null && deviceRefs.Length > 0) machine.DeviceRef = Array.ConvertAll(deviceRefs, ConvertFromInternalModel); - var samples = item.Read(Models.Metadata.Machine.SampleKey); + var samples = item.Read(Serialization.Models.Metadata.Machine.SampleKey); if (samples != null && samples.Length > 0) machine.Sample = Array.ConvertAll(samples, ConvertFromInternalModel); - var chips = item.Read(Models.Metadata.Machine.ChipKey); + var chips = item.Read(Serialization.Models.Metadata.Machine.ChipKey); if (chips != null && chips.Length > 0) machine.Chip = Array.ConvertAll(chips, ConvertFromInternalModel); - var displays = item.Read(Models.Metadata.Machine.DisplayKey); + var displays = item.Read(Serialization.Models.Metadata.Machine.DisplayKey); if (displays != null && displays.Length > 0) machine.Display = Array.ConvertAll(displays, ConvertFromInternalModel); - var videos = item.Read(Models.Metadata.Machine.VideoKey); + var videos = item.Read(Serialization.Models.Metadata.Machine.VideoKey); if (videos != null && videos.Length > 0) machine.Video = Array.ConvertAll(videos, ConvertFromInternalModel); - var sound = item.Read(Models.Metadata.Machine.SoundKey); + var sound = item.Read(Serialization.Models.Metadata.Machine.SoundKey); if (sound != null) machine.Sound = ConvertFromInternalModel(sound); - var input = item.Read(Models.Metadata.Machine.InputKey); + var input = item.Read(Serialization.Models.Metadata.Machine.InputKey); if (input != null) machine.Input = ConvertFromInternalModel(input); - var dipSwitches = item.Read(Models.Metadata.Machine.DipSwitchKey); + var dipSwitches = item.Read(Serialization.Models.Metadata.Machine.DipSwitchKey); if (dipSwitches != null && dipSwitches.Length > 0) machine.DipSwitch = Array.ConvertAll(dipSwitches, ConvertFromInternalModel); - var configurations = item.Read(Models.Metadata.Machine.ConfigurationKey); + var configurations = item.Read(Serialization.Models.Metadata.Machine.ConfigurationKey); if (configurations != null && configurations.Length > 0) machine.Configuration = Array.ConvertAll(configurations, ConvertFromInternalModel); - var ports = item.Read(Models.Metadata.Machine.PortKey); + var ports = item.Read(Serialization.Models.Metadata.Machine.PortKey); if (ports != null && ports.Length > 0) machine.Port = Array.ConvertAll(ports, ConvertFromInternalModel); - var adjusters = item.Read(Models.Metadata.Machine.AdjusterKey); + var adjusters = item.Read(Serialization.Models.Metadata.Machine.AdjusterKey); if (adjusters != null && adjusters.Length > 0) machine.Adjuster = Array.ConvertAll(adjusters, ConvertFromInternalModel); - var driver = item.Read(Models.Metadata.Machine.DriverKey); + var driver = item.Read(Serialization.Models.Metadata.Machine.DriverKey); if (driver != null) machine.Driver = ConvertFromInternalModel(driver); - var features = item.Read(Models.Metadata.Machine.FeatureKey); + var features = item.Read(Serialization.Models.Metadata.Machine.FeatureKey); if (features != null && features.Length > 0) machine.Feature = Array.ConvertAll(features, ConvertFromInternalModel); - var devices = item.Read(Models.Metadata.Machine.DeviceKey); + var devices = item.Read(Serialization.Models.Metadata.Machine.DeviceKey); if (devices != null && devices.Length > 0) machine.Device = Array.ConvertAll(devices, ConvertFromInternalModel); - var slots = item.Read(Models.Metadata.Machine.SlotKey); + var slots = item.Read(Serialization.Models.Metadata.Machine.SlotKey); if (slots != null && slots.Length > 0) machine.Slot = Array.ConvertAll(slots, ConvertFromInternalModel); - var softwareLists = item.Read(Models.Metadata.Machine.SoftwareListKey); + var softwareLists = item.Read(Serialization.Models.Metadata.Machine.SoftwareListKey); if (softwareLists != null && softwareLists.Length > 0) machine.SoftwareList = Array.ConvertAll(softwareLists, ConvertFromInternalModel); - var ramOptions = item.Read(Models.Metadata.Machine.RamOptionKey); + var ramOptions = item.Read(Serialization.Models.Metadata.Machine.RamOptionKey); if (ramOptions != null && ramOptions.Length > 0) machine.RamOption = Array.ConvertAll(ramOptions, ConvertFromInternalModel); @@ -143,17 +143,17 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Adjuster ConvertFromInternalModel(Models.Metadata.Adjuster item) + private static Adjuster ConvertFromInternalModel(Serialization.Models.Metadata.Adjuster item) { var adjuster = new Adjuster { - Name = item.ReadString(Models.Metadata.Adjuster.NameKey), - Default = item.ReadString(Models.Metadata.Adjuster.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.Adjuster.NameKey), + Default = item.ReadString(Serialization.Models.Metadata.Adjuster.DefaultKey), }; - var condition = item.Read(Models.Metadata.Adjuster.ConditionKey); + var condition = item.Read(Serialization.Models.Metadata.Adjuster.ConditionKey); if (condition != null) adjuster.Condition = ConvertFromInternalModel(condition); @@ -161,83 +161,83 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Analog ConvertFromInternalModel(Models.Metadata.Analog item) + private static Analog ConvertFromInternalModel(Serialization.Models.Metadata.Analog item) { var analog = new Analog { - Mask = item.ReadString(Models.Metadata.Analog.MaskKey), + Mask = item.ReadString(Serialization.Models.Metadata.Analog.MaskKey), }; return analog; } /// - /// Convert from to + /// Convert from to /// - private static BiosSet ConvertFromInternalModel(Models.Metadata.BiosSet item) + private static BiosSet ConvertFromInternalModel(Serialization.Models.Metadata.BiosSet item) { var biosset = new BiosSet { - Name = item.ReadString(Models.Metadata.BiosSet.NameKey), - Description = item.ReadString(Models.Metadata.BiosSet.DescriptionKey), - Default = item.ReadString(Models.Metadata.BiosSet.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.BiosSet.NameKey), + Description = item.ReadString(Serialization.Models.Metadata.BiosSet.DescriptionKey), + Default = item.ReadString(Serialization.Models.Metadata.BiosSet.DefaultKey), }; return biosset; } /// - /// Convert from to + /// Convert from to /// - private static Chip ConvertFromInternalModel(Models.Metadata.Chip item) + private static Chip ConvertFromInternalModel(Serialization.Models.Metadata.Chip item) { var chip = new Chip { - Name = item.ReadString(Models.Metadata.Chip.NameKey), - Tag = item.ReadString(Models.Metadata.Chip.TagKey), - Type = item.ReadString(Models.Metadata.Chip.ChipTypeKey), - SoundOnly = item.ReadString(Models.Metadata.Chip.SoundOnlyKey), - Clock = item.ReadString(Models.Metadata.Chip.ClockKey), + Name = item.ReadString(Serialization.Models.Metadata.Chip.NameKey), + Tag = item.ReadString(Serialization.Models.Metadata.Chip.TagKey), + Type = item.ReadString(Serialization.Models.Metadata.Chip.ChipTypeKey), + SoundOnly = item.ReadString(Serialization.Models.Metadata.Chip.SoundOnlyKey), + Clock = item.ReadString(Serialization.Models.Metadata.Chip.ClockKey), }; return chip; } /// - /// Convert from to + /// Convert from to /// - private static Condition ConvertFromInternalModel(Models.Metadata.Condition item) + private static Condition ConvertFromInternalModel(Serialization.Models.Metadata.Condition item) { var condition = new Condition { - Tag = item.ReadString(Models.Metadata.Condition.TagKey), - Mask = item.ReadString(Models.Metadata.Condition.MaskKey), - Relation = item.ReadString(Models.Metadata.Condition.RelationKey), - Value = item.ReadString(Models.Metadata.Condition.ValueKey), + Tag = item.ReadString(Serialization.Models.Metadata.Condition.TagKey), + Mask = item.ReadString(Serialization.Models.Metadata.Condition.MaskKey), + Relation = item.ReadString(Serialization.Models.Metadata.Condition.RelationKey), + Value = item.ReadString(Serialization.Models.Metadata.Condition.ValueKey), }; return condition; } /// - /// Convert from to + /// Convert from to /// - private static Configuration ConvertFromInternalModel(Models.Metadata.Configuration item) + private static Configuration ConvertFromInternalModel(Serialization.Models.Metadata.Configuration item) { var configuration = new Configuration { - Name = item.ReadString(Models.Metadata.Configuration.NameKey), - Tag = item.ReadString(Models.Metadata.Configuration.TagKey), - Mask = item.ReadString(Models.Metadata.Configuration.MaskKey), + Name = item.ReadString(Serialization.Models.Metadata.Configuration.NameKey), + Tag = item.ReadString(Serialization.Models.Metadata.Configuration.TagKey), + Mask = item.ReadString(Serialization.Models.Metadata.Configuration.MaskKey), }; - var condition = item.Read(Models.Metadata.Configuration.ConditionKey); + var condition = item.Read(Serialization.Models.Metadata.Configuration.ConditionKey); if (condition != null) configuration.Condition = ConvertFromInternalModel(condition); - var confLocations = item.Read(Models.Metadata.Configuration.ConfLocationKey); + var confLocations = item.Read(Serialization.Models.Metadata.Configuration.ConfLocationKey); if (confLocations != null && confLocations.Length > 0) configuration.ConfLocation = Array.ConvertAll(confLocations, ConvertFromInternalModel); - var confSettings = item.Read(Models.Metadata.Configuration.ConfSettingKey); + var confSettings = item.Read(Serialization.Models.Metadata.Configuration.ConfSettingKey); if (confSettings != null && confSettings.Length > 0) configuration.ConfSetting = Array.ConvertAll(confSettings, ConvertFromInternalModel); @@ -245,32 +245,32 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static ConfLocation ConvertFromInternalModel(Models.Metadata.ConfLocation item) + private static ConfLocation ConvertFromInternalModel(Serialization.Models.Metadata.ConfLocation item) { var confLocation = new ConfLocation { - Name = item.ReadString(Models.Metadata.ConfLocation.NameKey), - Number = item.ReadString(Models.Metadata.ConfLocation.NumberKey), - Inverted = item.ReadString(Models.Metadata.ConfLocation.InvertedKey), + Name = item.ReadString(Serialization.Models.Metadata.ConfLocation.NameKey), + Number = item.ReadString(Serialization.Models.Metadata.ConfLocation.NumberKey), + Inverted = item.ReadString(Serialization.Models.Metadata.ConfLocation.InvertedKey), }; return confLocation; } /// - /// Convert from to + /// Convert from to /// - private static ConfSetting ConvertFromInternalModel(Models.Metadata.ConfSetting item) + private static ConfSetting ConvertFromInternalModel(Serialization.Models.Metadata.ConfSetting item) { var confSetting = new ConfSetting { - Name = item.ReadString(Models.Metadata.ConfSetting.NameKey), - Value = item.ReadString(Models.Metadata.ConfSetting.ValueKey), - Default = item.ReadString(Models.Metadata.ConfSetting.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.ConfSetting.NameKey), + Value = item.ReadString(Serialization.Models.Metadata.ConfSetting.ValueKey), + Default = item.ReadString(Serialization.Models.Metadata.ConfSetting.DefaultKey), }; - var condition = item.Read(Models.Metadata.ConfSetting.ConditionKey); + var condition = item.Read(Serialization.Models.Metadata.ConfSetting.ConditionKey); if (condition != null) confSetting.Condition = ConvertFromInternalModel(condition); @@ -278,47 +278,47 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Control ConvertFromInternalModel(Models.Metadata.Control item) + private static Control ConvertFromInternalModel(Serialization.Models.Metadata.Control item) { var control = new Control { - Type = item.ReadString(Models.Metadata.Control.ControlTypeKey), - Player = item.ReadString(Models.Metadata.Control.PlayerKey), - Buttons = item.ReadString(Models.Metadata.Control.ButtonsKey), - ReqButtons = item.ReadString(Models.Metadata.Control.ReqButtonsKey), - Minimum = item.ReadString(Models.Metadata.Control.MinimumKey), - Maximum = item.ReadString(Models.Metadata.Control.MaximumKey), - Sensitivity = item.ReadString(Models.Metadata.Control.SensitivityKey), - KeyDelta = item.ReadString(Models.Metadata.Control.KeyDeltaKey), - Reverse = item.ReadString(Models.Metadata.Control.ReverseKey), - Ways = item.ReadString(Models.Metadata.Control.WaysKey), - Ways2 = item.ReadString(Models.Metadata.Control.Ways2Key), - Ways3 = item.ReadString(Models.Metadata.Control.Ways3Key), + Type = item.ReadString(Serialization.Models.Metadata.Control.ControlTypeKey), + Player = item.ReadString(Serialization.Models.Metadata.Control.PlayerKey), + Buttons = item.ReadString(Serialization.Models.Metadata.Control.ButtonsKey), + ReqButtons = item.ReadString(Serialization.Models.Metadata.Control.ReqButtonsKey), + Minimum = item.ReadString(Serialization.Models.Metadata.Control.MinimumKey), + Maximum = item.ReadString(Serialization.Models.Metadata.Control.MaximumKey), + Sensitivity = item.ReadString(Serialization.Models.Metadata.Control.SensitivityKey), + KeyDelta = item.ReadString(Serialization.Models.Metadata.Control.KeyDeltaKey), + Reverse = item.ReadString(Serialization.Models.Metadata.Control.ReverseKey), + Ways = item.ReadString(Serialization.Models.Metadata.Control.WaysKey), + Ways2 = item.ReadString(Serialization.Models.Metadata.Control.Ways2Key), + Ways3 = item.ReadString(Serialization.Models.Metadata.Control.Ways3Key), }; return control; } /// - /// Convert from to + /// Convert from to /// - private static Device ConvertFromInternalModel(Models.Metadata.Device item) + private static Device ConvertFromInternalModel(Serialization.Models.Metadata.Device item) { var device = new Device { - Type = item.ReadString(Models.Metadata.Device.DeviceTypeKey), - Tag = item.ReadString(Models.Metadata.Device.TagKey), - FixedImage = item.ReadString(Models.Metadata.Device.FixedImageKey), - Mandatory = item.ReadString(Models.Metadata.Device.MandatoryKey), - Interface = item.ReadString(Models.Metadata.Device.InterfaceKey), + Type = item.ReadString(Serialization.Models.Metadata.Device.DeviceTypeKey), + Tag = item.ReadString(Serialization.Models.Metadata.Device.TagKey), + FixedImage = item.ReadString(Serialization.Models.Metadata.Device.FixedImageKey), + Mandatory = item.ReadString(Serialization.Models.Metadata.Device.MandatoryKey), + Interface = item.ReadString(Serialization.Models.Metadata.Device.InterfaceKey), }; - var instance = item.Read(Models.Metadata.Device.InstanceKey); + var instance = item.Read(Serialization.Models.Metadata.Device.InstanceKey); if (instance != null) device.Instance = ConvertFromInternalModel(instance); - var extensions = item.Read(Models.Metadata.Device.ExtensionKey); + var extensions = item.Read(Serialization.Models.Metadata.Device.ExtensionKey); if (extensions != null && extensions.Length > 0) device.Extension = Array.ConvertAll(extensions, ConvertFromInternalModel); @@ -326,52 +326,52 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static DeviceRef ConvertFromInternalModel(Models.Metadata.DeviceRef item) + private static DeviceRef ConvertFromInternalModel(Serialization.Models.Metadata.DeviceRef item) { var deviceRef = new DeviceRef { - Name = item.ReadString(Models.Metadata.DeviceRef.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.DeviceRef.NameKey), }; return deviceRef; } /// - /// Convert from to + /// Convert from to /// - private static DipLocation ConvertFromInternalModel(Models.Metadata.DipLocation item) + private static DipLocation ConvertFromInternalModel(Serialization.Models.Metadata.DipLocation item) { var dipLocation = new DipLocation { - Name = item.ReadString(Models.Metadata.DipLocation.NameKey), - Number = item.ReadString(Models.Metadata.DipLocation.NumberKey), - Inverted = item.ReadString(Models.Metadata.DipLocation.InvertedKey), + Name = item.ReadString(Serialization.Models.Metadata.DipLocation.NameKey), + Number = item.ReadString(Serialization.Models.Metadata.DipLocation.NumberKey), + Inverted = item.ReadString(Serialization.Models.Metadata.DipLocation.InvertedKey), }; return dipLocation; } /// - /// Convert from to + /// Convert from to /// - private static DipSwitch ConvertFromInternalModel(Models.Metadata.DipSwitch item) + private static DipSwitch ConvertFromInternalModel(Serialization.Models.Metadata.DipSwitch item) { var dipSwitch = new DipSwitch { - Name = item.ReadString(Models.Metadata.DipSwitch.NameKey), - Tag = item.ReadString(Models.Metadata.DipSwitch.TagKey), - Mask = item.ReadString(Models.Metadata.DipSwitch.MaskKey), + Name = item.ReadString(Serialization.Models.Metadata.DipSwitch.NameKey), + Tag = item.ReadString(Serialization.Models.Metadata.DipSwitch.TagKey), + Mask = item.ReadString(Serialization.Models.Metadata.DipSwitch.MaskKey), }; - var condition = item.Read(Models.Metadata.DipSwitch.ConditionKey); + var condition = item.Read(Serialization.Models.Metadata.DipSwitch.ConditionKey); if (condition != null) dipSwitch.Condition = ConvertFromInternalModel(condition); - var dipLocations = item.Read(Models.Metadata.DipSwitch.DipLocationKey); + var dipLocations = item.Read(Serialization.Models.Metadata.DipSwitch.DipLocationKey); if (dipLocations != null && dipLocations.Length > 0) dipSwitch.DipLocation = Array.ConvertAll(dipLocations, ConvertFromInternalModel); - var dipValues = item.Read(Models.Metadata.DipSwitch.DipValueKey); + var dipValues = item.Read(Serialization.Models.Metadata.DipSwitch.DipValueKey); if (dipValues != null && dipValues.Length > 0) dipSwitch.DipValue = Array.ConvertAll(dipValues, ConvertFromInternalModel); @@ -379,18 +379,18 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static DipValue ConvertFromInternalModel(Models.Metadata.DipValue item) + private static DipValue ConvertFromInternalModel(Serialization.Models.Metadata.DipValue item) { var dipValue = new DipValue { - Name = item.ReadString(Models.Metadata.DipValue.NameKey), - Value = item.ReadString(Models.Metadata.DipValue.ValueKey), - Default = item.ReadString(Models.Metadata.DipValue.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.DipValue.NameKey), + Value = item.ReadString(Serialization.Models.Metadata.DipValue.ValueKey), + Default = item.ReadString(Serialization.Models.Metadata.DipValue.DefaultKey), }; - var condition = item.Read(Models.Metadata.DipValue.ConditionKey); + var condition = item.Read(Serialization.Models.Metadata.DipValue.ConditionKey); if (condition != null) dipValue.Condition = ConvertFromInternalModel(condition); @@ -398,117 +398,117 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Disk ConvertFromInternalModel(Models.Metadata.Disk item) + private static Disk ConvertFromInternalModel(Serialization.Models.Metadata.Disk item) { var disk = new Disk { - Name = item.ReadString(Models.Metadata.Disk.NameKey), - MD5 = item.ReadString(Models.Metadata.Disk.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Disk.SHA1Key), - Merge = item.ReadString(Models.Metadata.Disk.MergeKey), - Region = item.ReadString(Models.Metadata.Disk.RegionKey), - Index = item.ReadString(Models.Metadata.Disk.IndexKey), - Writable = item.ReadString(Models.Metadata.Disk.WritableKey), - Status = item.ReadString(Models.Metadata.Disk.StatusKey), - Optional = item.ReadString(Models.Metadata.Disk.OptionalKey), + Name = item.ReadString(Serialization.Models.Metadata.Disk.NameKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Disk.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Disk.SHA1Key), + Merge = item.ReadString(Serialization.Models.Metadata.Disk.MergeKey), + Region = item.ReadString(Serialization.Models.Metadata.Disk.RegionKey), + Index = item.ReadString(Serialization.Models.Metadata.Disk.IndexKey), + Writable = item.ReadString(Serialization.Models.Metadata.Disk.WritableKey), + Status = item.ReadString(Serialization.Models.Metadata.Disk.StatusKey), + Optional = item.ReadString(Serialization.Models.Metadata.Disk.OptionalKey), }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static Display ConvertFromInternalModel(Models.Metadata.Display item) + private static Display ConvertFromInternalModel(Serialization.Models.Metadata.Display item) { var display = new Display { - Tag = item.ReadString(Models.Metadata.Display.TagKey), - Type = item.ReadString(Models.Metadata.Display.DisplayTypeKey), - Rotate = item.ReadString(Models.Metadata.Display.RotateKey), - FlipX = item.ReadString(Models.Metadata.Display.FlipXKey), - Width = item.ReadString(Models.Metadata.Display.WidthKey), - Height = item.ReadString(Models.Metadata.Display.HeightKey), - Refresh = item.ReadString(Models.Metadata.Display.RefreshKey), - PixClock = item.ReadString(Models.Metadata.Display.PixClockKey), - HTotal = item.ReadString(Models.Metadata.Display.HTotalKey), - HBEnd = item.ReadString(Models.Metadata.Display.HBEndKey), - HBStart = item.ReadString(Models.Metadata.Display.HBStartKey), - VTotal = item.ReadString(Models.Metadata.Display.VTotalKey), - VBEnd = item.ReadString(Models.Metadata.Display.VBEndKey), - VBStart = item.ReadString(Models.Metadata.Display.VBStartKey), + Tag = item.ReadString(Serialization.Models.Metadata.Display.TagKey), + Type = item.ReadString(Serialization.Models.Metadata.Display.DisplayTypeKey), + Rotate = item.ReadString(Serialization.Models.Metadata.Display.RotateKey), + FlipX = item.ReadString(Serialization.Models.Metadata.Display.FlipXKey), + Width = item.ReadString(Serialization.Models.Metadata.Display.WidthKey), + Height = item.ReadString(Serialization.Models.Metadata.Display.HeightKey), + Refresh = item.ReadString(Serialization.Models.Metadata.Display.RefreshKey), + PixClock = item.ReadString(Serialization.Models.Metadata.Display.PixClockKey), + HTotal = item.ReadString(Serialization.Models.Metadata.Display.HTotalKey), + HBEnd = item.ReadString(Serialization.Models.Metadata.Display.HBEndKey), + HBStart = item.ReadString(Serialization.Models.Metadata.Display.HBStartKey), + VTotal = item.ReadString(Serialization.Models.Metadata.Display.VTotalKey), + VBEnd = item.ReadString(Serialization.Models.Metadata.Display.VBEndKey), + VBStart = item.ReadString(Serialization.Models.Metadata.Display.VBStartKey), }; return display; } /// - /// Convert from to + /// Convert from to /// - private static Driver ConvertFromInternalModel(Models.Metadata.Driver item) + private static Driver ConvertFromInternalModel(Serialization.Models.Metadata.Driver item) { var driver = new Driver { - Status = item.ReadString(Models.Metadata.Driver.StatusKey), - Color = item.ReadString(Models.Metadata.Driver.ColorKey), - Sound = item.ReadString(Models.Metadata.Driver.SoundKey), - PaletteSize = item.ReadString(Models.Metadata.Driver.PaletteSizeKey), - Emulation = item.ReadString(Models.Metadata.Driver.EmulationKey), - Cocktail = item.ReadString(Models.Metadata.Driver.CocktailKey), - SaveState = item.ReadString(Models.Metadata.Driver.SaveStateKey), - RequiresArtwork = item.ReadString(Models.Metadata.Driver.RequiresArtworkKey), - Unofficial = item.ReadString(Models.Metadata.Driver.UnofficialKey), - NoSoundHardware = item.ReadString(Models.Metadata.Driver.NoSoundHardwareKey), - Incomplete = item.ReadString(Models.Metadata.Driver.IncompleteKey), + Status = item.ReadString(Serialization.Models.Metadata.Driver.StatusKey), + Color = item.ReadString(Serialization.Models.Metadata.Driver.ColorKey), + Sound = item.ReadString(Serialization.Models.Metadata.Driver.SoundKey), + PaletteSize = item.ReadString(Serialization.Models.Metadata.Driver.PaletteSizeKey), + Emulation = item.ReadString(Serialization.Models.Metadata.Driver.EmulationKey), + Cocktail = item.ReadString(Serialization.Models.Metadata.Driver.CocktailKey), + SaveState = item.ReadString(Serialization.Models.Metadata.Driver.SaveStateKey), + RequiresArtwork = item.ReadString(Serialization.Models.Metadata.Driver.RequiresArtworkKey), + Unofficial = item.ReadString(Serialization.Models.Metadata.Driver.UnofficialKey), + NoSoundHardware = item.ReadString(Serialization.Models.Metadata.Driver.NoSoundHardwareKey), + Incomplete = item.ReadString(Serialization.Models.Metadata.Driver.IncompleteKey), }; return driver; } /// - /// Convert from to + /// Convert from to /// - private static Extension ConvertFromInternalModel(Models.Metadata.Extension item) + private static Extension ConvertFromInternalModel(Serialization.Models.Metadata.Extension item) { var extension = new Extension { - Name = item.ReadString(Models.Metadata.Extension.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Extension.NameKey), }; return extension; } /// - /// Convert from to + /// Convert from to /// - private static Feature ConvertFromInternalModel(Models.Metadata.Feature item) + private static Feature ConvertFromInternalModel(Serialization.Models.Metadata.Feature item) { var feature = new Feature { - Type = item.ReadString(Models.Metadata.Feature.FeatureTypeKey), - Status = item.ReadString(Models.Metadata.Feature.StatusKey), - Overall = item.ReadString(Models.Metadata.Feature.OverallKey), + Type = item.ReadString(Serialization.Models.Metadata.Feature.FeatureTypeKey), + Status = item.ReadString(Serialization.Models.Metadata.Feature.StatusKey), + Overall = item.ReadString(Serialization.Models.Metadata.Feature.OverallKey), }; return feature; } /// - /// Convert from to + /// Convert from to /// - private static Input ConvertFromInternalModel(Models.Metadata.Input item) + private static Input ConvertFromInternalModel(Serialization.Models.Metadata.Input item) { var input = new Input { - Service = item.ReadString(Models.Metadata.Input.ServiceKey), - Tilt = item.ReadString(Models.Metadata.Input.TiltKey), - Players = item.ReadString(Models.Metadata.Input.PlayersKey), - Buttons = item.ReadString(Models.Metadata.Input.ButtonsKey), - Coins = item.ReadString(Models.Metadata.Input.CoinsKey), + Service = item.ReadString(Serialization.Models.Metadata.Input.ServiceKey), + Tilt = item.ReadString(Serialization.Models.Metadata.Input.TiltKey), + Players = item.ReadString(Serialization.Models.Metadata.Input.PlayersKey), + Buttons = item.ReadString(Serialization.Models.Metadata.Input.ButtonsKey), + Coins = item.ReadString(Serialization.Models.Metadata.Input.CoinsKey), }; - var controlAttr = item.ReadString(Models.Metadata.Input.ControlKey); + var controlAttr = item.ReadString(Serialization.Models.Metadata.Input.ControlKey); if (controlAttr != null) input.ControlAttr = controlAttr; - var controls = item.Read(Models.Metadata.Input.ControlKey); + var controls = item.Read(Serialization.Models.Metadata.Input.ControlKey); if (controls != null && controls.Length > 0) input.Control = Array.ConvertAll(controls, ConvertFromInternalModel); @@ -516,29 +516,29 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Instance ConvertFromInternalModel(Models.Metadata.Instance item) + private static Instance ConvertFromInternalModel(Serialization.Models.Metadata.Instance item) { var instance = new Instance { - Name = item.ReadString(Models.Metadata.Instance.NameKey), - BriefName = item.ReadString(Models.Metadata.Instance.BriefNameKey), + Name = item.ReadString(Serialization.Models.Metadata.Instance.NameKey), + BriefName = item.ReadString(Serialization.Models.Metadata.Instance.BriefNameKey), }; return instance; } /// - /// Convert from to + /// Convert from to /// - private static Port ConvertFromInternalModel(Models.Metadata.Port item) + private static Port ConvertFromInternalModel(Serialization.Models.Metadata.Port item) { var port = new Port { - Tag = item.ReadString(Models.Metadata.Port.TagKey), + Tag = item.ReadString(Serialization.Models.Metadata.Port.TagKey), }; - var analogs = item.Read(Models.Metadata.Port.AnalogKey); + var analogs = item.Read(Serialization.Models.Metadata.Port.AnalogKey); if (analogs != null && analogs.Length > 0) port.Analog = Array.ConvertAll(analogs, ConvertFromInternalModel); @@ -546,65 +546,65 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static RamOption ConvertFromInternalModel(Models.Metadata.RamOption item) + private static RamOption ConvertFromInternalModel(Serialization.Models.Metadata.RamOption item) { var ramOption = new RamOption { - Name = item.ReadString(Models.Metadata.RamOption.NameKey), - Default = item.ReadString(Models.Metadata.RamOption.DefaultKey), - Content = item.ReadString(Models.Metadata.RamOption.ContentKey), + Name = item.ReadString(Serialization.Models.Metadata.RamOption.NameKey), + Default = item.ReadString(Serialization.Models.Metadata.RamOption.DefaultKey), + Content = item.ReadString(Serialization.Models.Metadata.RamOption.ContentKey), }; return ramOption; } /// - /// Convert from to + /// Convert from to /// - private static Rom ConvertFromInternalModel(Models.Metadata.Rom item) + private static Rom ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var rom = new Rom { - Name = item.ReadString(Models.Metadata.Rom.NameKey), - Bios = item.ReadString(Models.Metadata.Rom.BiosKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - CRC = item.ReadString(Models.Metadata.Rom.CRCKey), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - Merge = item.ReadString(Models.Metadata.Rom.MergeKey), - Region = item.ReadString(Models.Metadata.Rom.RegionKey), - Offset = item.ReadString(Models.Metadata.Rom.OffsetKey), - Status = item.ReadString(Models.Metadata.Rom.StatusKey), - Optional = item.ReadString(Models.Metadata.Rom.OptionalKey), - Dispose = item.ReadString(Models.Metadata.Rom.DisposeKey), - SoundOnly = item.ReadString(Models.Metadata.Rom.SoundOnlyKey), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Bios = item.ReadString(Serialization.Models.Metadata.Rom.BiosKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + CRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + Merge = item.ReadString(Serialization.Models.Metadata.Rom.MergeKey), + Region = item.ReadString(Serialization.Models.Metadata.Rom.RegionKey), + Offset = item.ReadString(Serialization.Models.Metadata.Rom.OffsetKey), + Status = item.ReadString(Serialization.Models.Metadata.Rom.StatusKey), + Optional = item.ReadString(Serialization.Models.Metadata.Rom.OptionalKey), + Dispose = item.ReadString(Serialization.Models.Metadata.Rom.DisposeKey), + SoundOnly = item.ReadString(Serialization.Models.Metadata.Rom.SoundOnlyKey), }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Sample ConvertFromInternalModel(Models.Metadata.Sample item) + private static Sample ConvertFromInternalModel(Serialization.Models.Metadata.Sample item) { var sample = new Sample { - Name = item.ReadString(Models.Metadata.Sample.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Sample.NameKey), }; return sample; } /// - /// Convert from to + /// Convert from to /// - private static Slot ConvertFromInternalModel(Models.Metadata.Slot item) + private static Slot ConvertFromInternalModel(Serialization.Models.Metadata.Slot item) { var slot = new Slot { - Name = item.ReadString(Models.Metadata.Slot.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Slot.NameKey), }; - var slotOptions = item.Read(Models.Metadata.Slot.SlotOptionKey); + var slotOptions = item.Read(Serialization.Models.Metadata.Slot.SlotOptionKey); if (slotOptions != null && slotOptions.Length > 0) slot.SlotOption = Array.ConvertAll(slotOptions, ConvertFromInternalModel); @@ -612,60 +612,60 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static SlotOption ConvertFromInternalModel(Models.Metadata.SlotOption item) + private static SlotOption ConvertFromInternalModel(Serialization.Models.Metadata.SlotOption item) { var slotOption = new SlotOption { - Name = item.ReadString(Models.Metadata.SlotOption.NameKey), - DevName = item.ReadString(Models.Metadata.SlotOption.DevNameKey), - Default = item.ReadString(Models.Metadata.SlotOption.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.SlotOption.NameKey), + DevName = item.ReadString(Serialization.Models.Metadata.SlotOption.DevNameKey), + Default = item.ReadString(Serialization.Models.Metadata.SlotOption.DefaultKey), }; return slotOption; } /// - /// Convert from to + /// Convert from to /// - private static Models.Listxml.SoftwareList ConvertFromInternalModel(Models.Metadata.SoftwareList item) + private static SabreTools.Serialization.Models.Listxml.SoftwareList ConvertFromInternalModel(Serialization.Models.Metadata.SoftwareList item) { - var softwareList = new Models.Listxml.SoftwareList + var softwareList = new SabreTools.Serialization.Models.Listxml.SoftwareList { - Tag = item.ReadString(Models.Metadata.SoftwareList.TagKey), - Name = item.ReadString(Models.Metadata.SoftwareList.NameKey), - Status = item.ReadString(Models.Metadata.SoftwareList.StatusKey), - Filter = item.ReadString(Models.Metadata.SoftwareList.FilterKey), + Tag = item.ReadString(Serialization.Models.Metadata.SoftwareList.TagKey), + Name = item.ReadString(Serialization.Models.Metadata.SoftwareList.NameKey), + Status = item.ReadString(Serialization.Models.Metadata.SoftwareList.StatusKey), + Filter = item.ReadString(Serialization.Models.Metadata.SoftwareList.FilterKey), }; return softwareList; } /// - /// Convert from to + /// Convert from to /// - private static Sound ConvertFromInternalModel(Models.Metadata.Sound item) + private static Sound ConvertFromInternalModel(Serialization.Models.Metadata.Sound item) { var sound = new Sound { - Channels = item.ReadString(Models.Metadata.Sound.ChannelsKey), + Channels = item.ReadString(Serialization.Models.Metadata.Sound.ChannelsKey), }; return sound; } /// - /// Convert from to + /// Convert from to /// - private static Video ConvertFromInternalModel(Models.Metadata.Video item) + private static Video ConvertFromInternalModel(Serialization.Models.Metadata.Video item) { var video = new Video { - Screen = item.ReadString(Models.Metadata.Video.ScreenKey), - Orientation = item.ReadString(Models.Metadata.Video.OrientationKey), - Width = item.ReadString(Models.Metadata.Video.WidthKey), - Height = item.ReadString(Models.Metadata.Video.HeightKey), - AspectX = item.ReadString(Models.Metadata.Video.AspectXKey), - AspectY = item.ReadString(Models.Metadata.Video.AspectYKey), - Refresh = item.ReadString(Models.Metadata.Video.RefreshKey), + Screen = item.ReadString(Serialization.Models.Metadata.Video.ScreenKey), + Orientation = item.ReadString(Serialization.Models.Metadata.Video.OrientationKey), + Width = item.ReadString(Serialization.Models.Metadata.Video.WidthKey), + Height = item.ReadString(Serialization.Models.Metadata.Video.HeightKey), + AspectX = item.ReadString(Serialization.Models.Metadata.Video.AspectXKey), + AspectY = item.ReadString(Serialization.Models.Metadata.Video.AspectYKey), + Refresh = item.ReadString(Serialization.Models.Metadata.Video.RefreshKey), }; return video; } diff --git a/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs index dfce1653..5c802018 100644 --- a/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Listxml.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.Listxml; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Listxml; namespace SabreTools.Serialization.CrossModel { - public partial class Listxml : IModelSerializer + public partial class Listxml : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(Mame? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(Mame? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; if (item?.Game != null && item.Game.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(item.Game, ConvertMachineToInternalModel); } @@ -27,149 +27,149 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Mame item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(Mame item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.BuildKey] = item.Build, - [Models.Metadata.Header.DebugKey] = item.Debug, - [Models.Metadata.Header.MameConfigKey] = item.MameConfig, + [Serialization.Models.Metadata.Header.BuildKey] = item.Build, + [Serialization.Models.Metadata.Header.DebugKey] = item.Debug, + [Serialization.Models.Metadata.Header.MameConfigKey] = item.MameConfig, }; return header; } /// - /// Convert from to + /// Convert from to /// - internal static Models.Metadata.Machine ConvertMachineToInternalModel(GameBase item) + internal static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(GameBase item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = item.Name, - [Models.Metadata.Machine.SourceFileKey] = item.SourceFile, - [Models.Metadata.Machine.IsBiosKey] = item.IsBios, - [Models.Metadata.Machine.IsDeviceKey] = item.IsDevice, - [Models.Metadata.Machine.IsMechanicalKey] = item.IsMechanical, - [Models.Metadata.Machine.RunnableKey] = item.Runnable, - [Models.Metadata.Machine.CloneOfKey] = item.CloneOf, - [Models.Metadata.Machine.RomOfKey] = item.RomOf, - [Models.Metadata.Machine.SampleOfKey] = item.SampleOf, - [Models.Metadata.Machine.DescriptionKey] = item.Description, - [Models.Metadata.Machine.YearKey] = item.Year, - [Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, - [Models.Metadata.Machine.HistoryKey] = item.History, + [Serialization.Models.Metadata.Machine.NameKey] = item.Name, + [Serialization.Models.Metadata.Machine.SourceFileKey] = item.SourceFile, + [Serialization.Models.Metadata.Machine.IsBiosKey] = item.IsBios, + [Serialization.Models.Metadata.Machine.IsDeviceKey] = item.IsDevice, + [Serialization.Models.Metadata.Machine.IsMechanicalKey] = item.IsMechanical, + [Serialization.Models.Metadata.Machine.RunnableKey] = item.Runnable, + [Serialization.Models.Metadata.Machine.CloneOfKey] = item.CloneOf, + [Serialization.Models.Metadata.Machine.RomOfKey] = item.RomOf, + [Serialization.Models.Metadata.Machine.SampleOfKey] = item.SampleOf, + [Serialization.Models.Metadata.Machine.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Machine.YearKey] = item.Year, + [Serialization.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, + [Serialization.Models.Metadata.Machine.HistoryKey] = item.History, }; if (item.BiosSet != null && item.BiosSet.Length > 0) { - machine[Models.Metadata.Machine.BiosSetKey] + machine[Serialization.Models.Metadata.Machine.BiosSetKey] = Array.ConvertAll(item.BiosSet, ConvertToInternalModel); } if (item.Rom != null && item.Rom.Length > 0) { - machine[Models.Metadata.Machine.RomKey] + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.Rom, ConvertToInternalModel); } if (item.Disk != null && item.Disk.Length > 0) { - machine[Models.Metadata.Machine.DiskKey] + machine[Serialization.Models.Metadata.Machine.DiskKey] = Array.ConvertAll(item.Disk, ConvertToInternalModel); } if (item.DeviceRef != null && item.DeviceRef.Length > 0) { - machine[Models.Metadata.Machine.DeviceRefKey] + machine[Serialization.Models.Metadata.Machine.DeviceRefKey] = Array.ConvertAll(item.DeviceRef, ConvertToInternalModel); } if (item.Sample != null && item.Sample.Length > 0) { - machine[Models.Metadata.Machine.SampleKey] + machine[Serialization.Models.Metadata.Machine.SampleKey] = Array.ConvertAll(item.Sample, ConvertToInternalModel); } if (item.Chip != null && item.Chip.Length > 0) { - machine[Models.Metadata.Machine.ChipKey] + machine[Serialization.Models.Metadata.Machine.ChipKey] = Array.ConvertAll(item.Chip, ConvertToInternalModel); } if (item.Display != null && item.Display.Length > 0) { - machine[Models.Metadata.Machine.DisplayKey] + machine[Serialization.Models.Metadata.Machine.DisplayKey] = Array.ConvertAll(item.Display, ConvertToInternalModel); } if (item.Video != null && item.Video.Length > 0) { - machine[Models.Metadata.Machine.VideoKey] + machine[Serialization.Models.Metadata.Machine.VideoKey] = Array.ConvertAll(item.Video, ConvertToInternalModel); } if (item.Sound != null) - machine[Models.Metadata.Machine.SoundKey] = ConvertToInternalModel(item.Sound); + machine[Serialization.Models.Metadata.Machine.SoundKey] = ConvertToInternalModel(item.Sound); if (item.Input != null) - machine[Models.Metadata.Machine.InputKey] = ConvertToInternalModel(item.Input); + machine[Serialization.Models.Metadata.Machine.InputKey] = ConvertToInternalModel(item.Input); if (item.DipSwitch != null && item.DipSwitch.Length > 0) { - machine[Models.Metadata.Machine.DipSwitchKey] + machine[Serialization.Models.Metadata.Machine.DipSwitchKey] = Array.ConvertAll(item.DipSwitch, ConvertToInternalModel); } if (item.Configuration != null && item.Configuration.Length > 0) { - machine[Models.Metadata.Machine.ConfigurationKey] + machine[Serialization.Models.Metadata.Machine.ConfigurationKey] = Array.ConvertAll(item.Configuration, ConvertToInternalModel); } if (item.Port != null && item.Port.Length > 0) { - machine[Models.Metadata.Machine.PortKey] + machine[Serialization.Models.Metadata.Machine.PortKey] = Array.ConvertAll(item.Port, ConvertToInternalModel); } if (item.Adjuster != null && item.Adjuster.Length > 0) { - machine[Models.Metadata.Machine.AdjusterKey] + machine[Serialization.Models.Metadata.Machine.AdjusterKey] = Array.ConvertAll(item.Adjuster, ConvertToInternalModel); } if (item.Driver != null) - machine[Models.Metadata.Machine.DriverKey] = ConvertToInternalModel(item.Driver); + machine[Serialization.Models.Metadata.Machine.DriverKey] = ConvertToInternalModel(item.Driver); if (item.Feature != null && item.Feature.Length > 0) { - machine[Models.Metadata.Machine.FeatureKey] + machine[Serialization.Models.Metadata.Machine.FeatureKey] = Array.ConvertAll(item.Feature, ConvertToInternalModel); } if (item.Device != null && item.Device.Length > 0) { - machine[Models.Metadata.Machine.DeviceKey] + machine[Serialization.Models.Metadata.Machine.DeviceKey] = Array.ConvertAll(item.Device, ConvertToInternalModel); } if (item.Slot != null && item.Slot.Length > 0) { - machine[Models.Metadata.Machine.SlotKey] + machine[Serialization.Models.Metadata.Machine.SlotKey] = Array.ConvertAll(item.Slot, ConvertToInternalModel); } if (item.SoftwareList != null && item.SoftwareList.Length > 0) { - machine[Models.Metadata.Machine.SoftwareListKey] + machine[Serialization.Models.Metadata.Machine.SoftwareListKey] = Array.ConvertAll(item.SoftwareList, ConvertToInternalModel); } if (item.RamOption != null && item.RamOption.Length > 0) { - machine[Models.Metadata.Machine.RamOptionKey] + machine[Serialization.Models.Metadata.Machine.RamOptionKey] = Array.ConvertAll(item.RamOption, ConvertToInternalModel); } @@ -177,103 +177,103 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Adjuster ConvertToInternalModel(Adjuster item) + private static Serialization.Models.Metadata.Adjuster ConvertToInternalModel(Adjuster item) { - var adjuster = new Models.Metadata.Adjuster + var adjuster = new Serialization.Models.Metadata.Adjuster { - [Models.Metadata.Adjuster.NameKey] = item.Name, - [Models.Metadata.Adjuster.DefaultKey] = item.Default, + [Serialization.Models.Metadata.Adjuster.NameKey] = item.Name, + [Serialization.Models.Metadata.Adjuster.DefaultKey] = item.Default, }; if (item.Condition != null) - adjuster[Models.Metadata.Adjuster.ConditionKey] = ConvertToInternalModel(item.Condition); + adjuster[Serialization.Models.Metadata.Adjuster.ConditionKey] = ConvertToInternalModel(item.Condition); return adjuster; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Analog ConvertToInternalModel(Analog item) + private static Serialization.Models.Metadata.Analog ConvertToInternalModel(Analog item) { - var analog = new Models.Metadata.Analog + var analog = new Serialization.Models.Metadata.Analog { - [Models.Metadata.Analog.MaskKey] = item.Mask, + [Serialization.Models.Metadata.Analog.MaskKey] = item.Mask, }; return analog; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.BiosSet ConvertToInternalModel(BiosSet item) + private static Serialization.Models.Metadata.BiosSet ConvertToInternalModel(BiosSet item) { - var biosset = new Models.Metadata.BiosSet + var biosset = new Serialization.Models.Metadata.BiosSet { - [Models.Metadata.BiosSet.NameKey] = item.Name, - [Models.Metadata.BiosSet.DescriptionKey] = item.Description, - [Models.Metadata.BiosSet.DefaultKey] = item.Default, + [Serialization.Models.Metadata.BiosSet.NameKey] = item.Name, + [Serialization.Models.Metadata.BiosSet.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.BiosSet.DefaultKey] = item.Default, }; return biosset; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Chip ConvertToInternalModel(Chip item) + private static Serialization.Models.Metadata.Chip ConvertToInternalModel(Chip item) { - var chip = new Models.Metadata.Chip + var chip = new Serialization.Models.Metadata.Chip { - [Models.Metadata.Chip.NameKey] = item.Name, - [Models.Metadata.Chip.TagKey] = item.Tag, - [Models.Metadata.Chip.ChipTypeKey] = item.Type, - [Models.Metadata.Chip.SoundOnlyKey] = item.SoundOnly, - [Models.Metadata.Chip.ClockKey] = item.Clock, + [Serialization.Models.Metadata.Chip.NameKey] = item.Name, + [Serialization.Models.Metadata.Chip.TagKey] = item.Tag, + [Serialization.Models.Metadata.Chip.ChipTypeKey] = item.Type, + [Serialization.Models.Metadata.Chip.SoundOnlyKey] = item.SoundOnly, + [Serialization.Models.Metadata.Chip.ClockKey] = item.Clock, }; return chip; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Condition ConvertToInternalModel(Condition item) + private static Serialization.Models.Metadata.Condition ConvertToInternalModel(Condition item) { - var condition = new Models.Metadata.Condition + var condition = new Serialization.Models.Metadata.Condition { - [Models.Metadata.Condition.TagKey] = item.Tag, - [Models.Metadata.Condition.MaskKey] = item.Mask, - [Models.Metadata.Condition.RelationKey] = item.Relation, - [Models.Metadata.Condition.ValueKey] = item.Value, + [Serialization.Models.Metadata.Condition.TagKey] = item.Tag, + [Serialization.Models.Metadata.Condition.MaskKey] = item.Mask, + [Serialization.Models.Metadata.Condition.RelationKey] = item.Relation, + [Serialization.Models.Metadata.Condition.ValueKey] = item.Value, }; return condition; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Configuration ConvertToInternalModel(Configuration item) + private static Serialization.Models.Metadata.Configuration ConvertToInternalModel(Configuration item) { - var configuration = new Models.Metadata.Configuration + var configuration = new Serialization.Models.Metadata.Configuration { - [Models.Metadata.Configuration.NameKey] = item.Name, - [Models.Metadata.Configuration.TagKey] = item.Tag, - [Models.Metadata.Configuration.MaskKey] = item.Mask, + [Serialization.Models.Metadata.Configuration.NameKey] = item.Name, + [Serialization.Models.Metadata.Configuration.TagKey] = item.Tag, + [Serialization.Models.Metadata.Configuration.MaskKey] = item.Mask, }; if (item.Condition != null) - configuration[Models.Metadata.Configuration.ConditionKey] = ConvertToInternalModel(item.Condition); + configuration[Serialization.Models.Metadata.Configuration.ConditionKey] = ConvertToInternalModel(item.Condition); if (item.ConfLocation != null && item.ConfLocation.Length > 0) { - configuration[Models.Metadata.Configuration.ConfLocationKey] + configuration[Serialization.Models.Metadata.Configuration.ConfLocationKey] = Array.ConvertAll(item.ConfLocation, ConvertToInternalModel); } if (item.ConfSetting != null && item.ConfSetting.Length > 0) { - configuration[Models.Metadata.Configuration.ConfSettingKey] + configuration[Serialization.Models.Metadata.Configuration.ConfSettingKey] = Array.ConvertAll(item.ConfSetting, ConvertToInternalModel); } @@ -281,80 +281,80 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.ConfLocation ConvertToInternalModel(ConfLocation item) + private static Serialization.Models.Metadata.ConfLocation ConvertToInternalModel(ConfLocation item) { - var confLocation = new Models.Metadata.ConfLocation + var confLocation = new Serialization.Models.Metadata.ConfLocation { - [Models.Metadata.ConfLocation.NameKey] = item.Name, - [Models.Metadata.ConfLocation.NumberKey] = item.Number, - [Models.Metadata.ConfLocation.InvertedKey] = item.Inverted, + [Serialization.Models.Metadata.ConfLocation.NameKey] = item.Name, + [Serialization.Models.Metadata.ConfLocation.NumberKey] = item.Number, + [Serialization.Models.Metadata.ConfLocation.InvertedKey] = item.Inverted, }; return confLocation; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.ConfSetting ConvertToInternalModel(ConfSetting item) + private static Serialization.Models.Metadata.ConfSetting ConvertToInternalModel(ConfSetting item) { - var confSetting = new Models.Metadata.ConfSetting + var confSetting = new Serialization.Models.Metadata.ConfSetting { - [Models.Metadata.ConfSetting.NameKey] = item.Name, - [Models.Metadata.ConfSetting.ValueKey] = item.Value, - [Models.Metadata.ConfSetting.DefaultKey] = item.Default, + [Serialization.Models.Metadata.ConfSetting.NameKey] = item.Name, + [Serialization.Models.Metadata.ConfSetting.ValueKey] = item.Value, + [Serialization.Models.Metadata.ConfSetting.DefaultKey] = item.Default, }; if (item.Condition != null) - confSetting[Models.Metadata.ConfSetting.ConditionKey] = ConvertToInternalModel(item.Condition); + confSetting[Serialization.Models.Metadata.ConfSetting.ConditionKey] = ConvertToInternalModel(item.Condition); return confSetting; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Control ConvertToInternalModel(Control item) + private static Serialization.Models.Metadata.Control ConvertToInternalModel(Control item) { - var control = new Models.Metadata.Control + var control = new Serialization.Models.Metadata.Control { - [Models.Metadata.Control.ControlTypeKey] = item.Type, - [Models.Metadata.Control.PlayerKey] = item.Player, - [Models.Metadata.Control.ButtonsKey] = item.Buttons, - [Models.Metadata.Control.ReqButtonsKey] = item.ReqButtons, - [Models.Metadata.Control.MinimumKey] = item.Minimum, - [Models.Metadata.Control.MaximumKey] = item.Maximum, - [Models.Metadata.Control.SensitivityKey] = item.Sensitivity, - [Models.Metadata.Control.KeyDeltaKey] = item.KeyDelta, - [Models.Metadata.Control.ReverseKey] = item.Reverse, - [Models.Metadata.Control.WaysKey] = item.Ways, - [Models.Metadata.Control.Ways2Key] = item.Ways2, - [Models.Metadata.Control.Ways3Key] = item.Ways3, + [Serialization.Models.Metadata.Control.ControlTypeKey] = item.Type, + [Serialization.Models.Metadata.Control.PlayerKey] = item.Player, + [Serialization.Models.Metadata.Control.ButtonsKey] = item.Buttons, + [Serialization.Models.Metadata.Control.ReqButtonsKey] = item.ReqButtons, + [Serialization.Models.Metadata.Control.MinimumKey] = item.Minimum, + [Serialization.Models.Metadata.Control.MaximumKey] = item.Maximum, + [Serialization.Models.Metadata.Control.SensitivityKey] = item.Sensitivity, + [Serialization.Models.Metadata.Control.KeyDeltaKey] = item.KeyDelta, + [Serialization.Models.Metadata.Control.ReverseKey] = item.Reverse, + [Serialization.Models.Metadata.Control.WaysKey] = item.Ways, + [Serialization.Models.Metadata.Control.Ways2Key] = item.Ways2, + [Serialization.Models.Metadata.Control.Ways3Key] = item.Ways3, }; return control; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Device ConvertToInternalModel(Device item) + private static Serialization.Models.Metadata.Device ConvertToInternalModel(Device item) { - var device = new Models.Metadata.Device + var device = new Serialization.Models.Metadata.Device { - [Models.Metadata.Device.DeviceTypeKey] = item.Type, - [Models.Metadata.Device.TagKey] = item.Tag, - [Models.Metadata.Device.FixedImageKey] = item.FixedImage, - [Models.Metadata.Device.MandatoryKey] = item.Mandatory, - [Models.Metadata.Device.InterfaceKey] = item.Interface, + [Serialization.Models.Metadata.Device.DeviceTypeKey] = item.Type, + [Serialization.Models.Metadata.Device.TagKey] = item.Tag, + [Serialization.Models.Metadata.Device.FixedImageKey] = item.FixedImage, + [Serialization.Models.Metadata.Device.MandatoryKey] = item.Mandatory, + [Serialization.Models.Metadata.Device.InterfaceKey] = item.Interface, }; if (item.Instance != null) - device[Models.Metadata.Device.InstanceKey] = ConvertToInternalModel(item.Instance); + device[Serialization.Models.Metadata.Device.InstanceKey] = ConvertToInternalModel(item.Instance); if (item.Extension != null && item.Extension.Length > 0) { - device[Models.Metadata.Device.ExtensionKey] + device[Serialization.Models.Metadata.Device.ExtensionKey] = Array.ConvertAll(item.Extension, ConvertToInternalModel); } @@ -362,55 +362,55 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DeviceRef ConvertToInternalModel(DeviceRef item) + private static Serialization.Models.Metadata.DeviceRef ConvertToInternalModel(DeviceRef item) { - var deviceRef = new Models.Metadata.DeviceRef + var deviceRef = new Serialization.Models.Metadata.DeviceRef { - [Models.Metadata.DeviceRef.NameKey] = item.Name, + [Serialization.Models.Metadata.DeviceRef.NameKey] = item.Name, }; return deviceRef; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DipLocation ConvertToInternalModel(DipLocation item) + private static Serialization.Models.Metadata.DipLocation ConvertToInternalModel(DipLocation item) { - var dipLocation = new Models.Metadata.DipLocation + var dipLocation = new Serialization.Models.Metadata.DipLocation { - [Models.Metadata.DipLocation.NameKey] = item.Name, - [Models.Metadata.DipLocation.NumberKey] = item.Number, - [Models.Metadata.DipLocation.InvertedKey] = item.Inverted, + [Serialization.Models.Metadata.DipLocation.NameKey] = item.Name, + [Serialization.Models.Metadata.DipLocation.NumberKey] = item.Number, + [Serialization.Models.Metadata.DipLocation.InvertedKey] = item.Inverted, }; return dipLocation; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DipSwitch ConvertToInternalModel(DipSwitch item) + private static Serialization.Models.Metadata.DipSwitch ConvertToInternalModel(DipSwitch item) { - var dipSwitch = new Models.Metadata.DipSwitch + var dipSwitch = new Serialization.Models.Metadata.DipSwitch { - [Models.Metadata.DipSwitch.NameKey] = item.Name, - [Models.Metadata.DipSwitch.TagKey] = item.Tag, - [Models.Metadata.DipSwitch.MaskKey] = item.Mask, + [Serialization.Models.Metadata.DipSwitch.NameKey] = item.Name, + [Serialization.Models.Metadata.DipSwitch.TagKey] = item.Tag, + [Serialization.Models.Metadata.DipSwitch.MaskKey] = item.Mask, }; if (item.Condition != null) - dipSwitch[Models.Metadata.DipSwitch.ConditionKey] = ConvertToInternalModel(item.Condition); + dipSwitch[Serialization.Models.Metadata.DipSwitch.ConditionKey] = ConvertToInternalModel(item.Condition); if (item.DipLocation != null && item.DipLocation.Length > 0) { - dipSwitch[Models.Metadata.DipSwitch.DipLocationKey] + dipSwitch[Serialization.Models.Metadata.DipSwitch.DipLocationKey] = Array.ConvertAll(item.DipLocation, ConvertToInternalModel); } if (item.DipValue != null && item.DipValue.Length > 0) { - dipSwitch[Models.Metadata.DipSwitch.DipValueKey] + dipSwitch[Serialization.Models.Metadata.DipSwitch.DipValueKey] = Array.ConvertAll(item.DipValue, ConvertToInternalModel); } @@ -418,134 +418,134 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DipValue ConvertToInternalModel(DipValue item) + private static Serialization.Models.Metadata.DipValue ConvertToInternalModel(DipValue item) { - var dipValue = new Models.Metadata.DipValue + var dipValue = new Serialization.Models.Metadata.DipValue { - [Models.Metadata.DipValue.NameKey] = item.Name, - [Models.Metadata.DipValue.ValueKey] = item.Value, - [Models.Metadata.DipValue.DefaultKey] = item.Default, + [Serialization.Models.Metadata.DipValue.NameKey] = item.Name, + [Serialization.Models.Metadata.DipValue.ValueKey] = item.Value, + [Serialization.Models.Metadata.DipValue.DefaultKey] = item.Default, }; if (item.Condition != null) - dipValue[Models.Metadata.DipValue.ConditionKey] = ConvertToInternalModel(item.Condition); + dipValue[Serialization.Models.Metadata.DipValue.ConditionKey] = ConvertToInternalModel(item.Condition); return dipValue; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Disk ConvertToInternalModel(Disk item) + private static Serialization.Models.Metadata.Disk ConvertToInternalModel(Disk item) { - var disk = new Models.Metadata.Disk + var disk = new Serialization.Models.Metadata.Disk { - [Models.Metadata.Disk.NameKey] = item.Name, - [Models.Metadata.Disk.MD5Key] = item.MD5, - [Models.Metadata.Disk.SHA1Key] = item.SHA1, - [Models.Metadata.Disk.MergeKey] = item.Merge, - [Models.Metadata.Disk.RegionKey] = item.Region, - [Models.Metadata.Disk.IndexKey] = item.Index, - [Models.Metadata.Disk.WritableKey] = item.Writable, - [Models.Metadata.Disk.StatusKey] = item.Status, - [Models.Metadata.Disk.OptionalKey] = item.Optional, + [Serialization.Models.Metadata.Disk.NameKey] = item.Name, + [Serialization.Models.Metadata.Disk.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Disk.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Disk.MergeKey] = item.Merge, + [Serialization.Models.Metadata.Disk.RegionKey] = item.Region, + [Serialization.Models.Metadata.Disk.IndexKey] = item.Index, + [Serialization.Models.Metadata.Disk.WritableKey] = item.Writable, + [Serialization.Models.Metadata.Disk.StatusKey] = item.Status, + [Serialization.Models.Metadata.Disk.OptionalKey] = item.Optional, }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Display ConvertToInternalModel(Display item) + private static Serialization.Models.Metadata.Display ConvertToInternalModel(Display item) { - var display = new Models.Metadata.Display + var display = new Serialization.Models.Metadata.Display { - [Models.Metadata.Display.TagKey] = item.Tag, - [Models.Metadata.Display.DisplayTypeKey] = item.Type, - [Models.Metadata.Display.RotateKey] = item.Rotate, - [Models.Metadata.Display.FlipXKey] = item.FlipX, - [Models.Metadata.Display.WidthKey] = item.Width, - [Models.Metadata.Display.HeightKey] = item.Height, - [Models.Metadata.Display.RefreshKey] = item.Refresh, - [Models.Metadata.Display.PixClockKey] = item.PixClock, - [Models.Metadata.Display.HTotalKey] = item.HTotal, - [Models.Metadata.Display.HBEndKey] = item.HBEnd, - [Models.Metadata.Display.HBStartKey] = item.HBStart, - [Models.Metadata.Display.VTotalKey] = item.VTotal, - [Models.Metadata.Display.VBEndKey] = item.VBEnd, - [Models.Metadata.Display.VBStartKey] = item.VBStart, + [Serialization.Models.Metadata.Display.TagKey] = item.Tag, + [Serialization.Models.Metadata.Display.DisplayTypeKey] = item.Type, + [Serialization.Models.Metadata.Display.RotateKey] = item.Rotate, + [Serialization.Models.Metadata.Display.FlipXKey] = item.FlipX, + [Serialization.Models.Metadata.Display.WidthKey] = item.Width, + [Serialization.Models.Metadata.Display.HeightKey] = item.Height, + [Serialization.Models.Metadata.Display.RefreshKey] = item.Refresh, + [Serialization.Models.Metadata.Display.PixClockKey] = item.PixClock, + [Serialization.Models.Metadata.Display.HTotalKey] = item.HTotal, + [Serialization.Models.Metadata.Display.HBEndKey] = item.HBEnd, + [Serialization.Models.Metadata.Display.HBStartKey] = item.HBStart, + [Serialization.Models.Metadata.Display.VTotalKey] = item.VTotal, + [Serialization.Models.Metadata.Display.VBEndKey] = item.VBEnd, + [Serialization.Models.Metadata.Display.VBStartKey] = item.VBStart, }; return display; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Driver ConvertToInternalModel(Driver item) + private static Serialization.Models.Metadata.Driver ConvertToInternalModel(Driver item) { - var driver = new Models.Metadata.Driver + var driver = new Serialization.Models.Metadata.Driver { - [Models.Metadata.Driver.StatusKey] = item.Status, - [Models.Metadata.Driver.ColorKey] = item.Color, - [Models.Metadata.Driver.SoundKey] = item.Sound, - [Models.Metadata.Driver.PaletteSizeKey] = item.PaletteSize, - [Models.Metadata.Driver.EmulationKey] = item.Emulation, - [Models.Metadata.Driver.CocktailKey] = item.Cocktail, - [Models.Metadata.Driver.SaveStateKey] = item.SaveState, - [Models.Metadata.Driver.RequiresArtworkKey] = item.RequiresArtwork, - [Models.Metadata.Driver.UnofficialKey] = item.Unofficial, - [Models.Metadata.Driver.NoSoundHardwareKey] = item.NoSoundHardware, - [Models.Metadata.Driver.IncompleteKey] = item.Incomplete, + [Serialization.Models.Metadata.Driver.StatusKey] = item.Status, + [Serialization.Models.Metadata.Driver.ColorKey] = item.Color, + [Serialization.Models.Metadata.Driver.SoundKey] = item.Sound, + [Serialization.Models.Metadata.Driver.PaletteSizeKey] = item.PaletteSize, + [Serialization.Models.Metadata.Driver.EmulationKey] = item.Emulation, + [Serialization.Models.Metadata.Driver.CocktailKey] = item.Cocktail, + [Serialization.Models.Metadata.Driver.SaveStateKey] = item.SaveState, + [Serialization.Models.Metadata.Driver.RequiresArtworkKey] = item.RequiresArtwork, + [Serialization.Models.Metadata.Driver.UnofficialKey] = item.Unofficial, + [Serialization.Models.Metadata.Driver.NoSoundHardwareKey] = item.NoSoundHardware, + [Serialization.Models.Metadata.Driver.IncompleteKey] = item.Incomplete, }; return driver; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Extension ConvertToInternalModel(Extension item) + private static Serialization.Models.Metadata.Extension ConvertToInternalModel(Extension item) { - var extension = new Models.Metadata.Extension + var extension = new Serialization.Models.Metadata.Extension { - [Models.Metadata.Extension.NameKey] = item.Name, + [Serialization.Models.Metadata.Extension.NameKey] = item.Name, }; return extension; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Feature ConvertToInternalModel(Feature item) + private static Serialization.Models.Metadata.Feature ConvertToInternalModel(Feature item) { - var feature = new Models.Metadata.Feature + var feature = new Serialization.Models.Metadata.Feature { - [Models.Metadata.Feature.FeatureTypeKey] = item.Type, - [Models.Metadata.Feature.StatusKey] = item.Status, - [Models.Metadata.Feature.OverallKey] = item.Overall, + [Serialization.Models.Metadata.Feature.FeatureTypeKey] = item.Type, + [Serialization.Models.Metadata.Feature.StatusKey] = item.Status, + [Serialization.Models.Metadata.Feature.OverallKey] = item.Overall, }; return feature; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Input ConvertToInternalModel(Input item) + private static Serialization.Models.Metadata.Input ConvertToInternalModel(Input item) { - var input = new Models.Metadata.Input + var input = new Serialization.Models.Metadata.Input { - [Models.Metadata.Input.ServiceKey] = item.Service, - [Models.Metadata.Input.TiltKey] = item.Tilt, - [Models.Metadata.Input.PlayersKey] = item.Players, - [Models.Metadata.Input.ControlKey] = item.ControlAttr, - [Models.Metadata.Input.ButtonsKey] = item.Buttons, - [Models.Metadata.Input.CoinsKey] = item.Coins, + [Serialization.Models.Metadata.Input.ServiceKey] = item.Service, + [Serialization.Models.Metadata.Input.TiltKey] = item.Tilt, + [Serialization.Models.Metadata.Input.PlayersKey] = item.Players, + [Serialization.Models.Metadata.Input.ControlKey] = item.ControlAttr, + [Serialization.Models.Metadata.Input.ButtonsKey] = item.Buttons, + [Serialization.Models.Metadata.Input.CoinsKey] = item.Coins, }; if (item.Control != null && item.Control.Length > 0) { - input[Models.Metadata.Input.ControlKey] + input[Serialization.Models.Metadata.Input.ControlKey] = Array.ConvertAll(item.Control, ConvertToInternalModel); } @@ -553,31 +553,31 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Instance ConvertToInternalModel(Instance item) + private static Serialization.Models.Metadata.Instance ConvertToInternalModel(Instance item) { - var instance = new Models.Metadata.Instance + var instance = new Serialization.Models.Metadata.Instance { - [Models.Metadata.Instance.NameKey] = item.Name, - [Models.Metadata.Instance.BriefNameKey] = item.BriefName, + [Serialization.Models.Metadata.Instance.NameKey] = item.Name, + [Serialization.Models.Metadata.Instance.BriefNameKey] = item.BriefName, }; return instance; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Port ConvertToInternalModel(Port item) + private static Serialization.Models.Metadata.Port ConvertToInternalModel(Port item) { - var port = new Models.Metadata.Port + var port = new Serialization.Models.Metadata.Port { - [Models.Metadata.Port.TagKey] = item.Tag, + [Serialization.Models.Metadata.Port.TagKey] = item.Tag, }; if (item.Analog != null && item.Analog.Length > 0) { - port[Models.Metadata.Port.AnalogKey] + port[Serialization.Models.Metadata.Port.AnalogKey] = Array.ConvertAll(item.Analog, ConvertToInternalModel); } @@ -585,67 +585,67 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.RamOption ConvertToInternalModel(RamOption item) + private static Serialization.Models.Metadata.RamOption ConvertToInternalModel(RamOption item) { - var ramOption = new Models.Metadata.RamOption + var ramOption = new Serialization.Models.Metadata.RamOption { - [Models.Metadata.RamOption.NameKey] = item.Name, - [Models.Metadata.RamOption.DefaultKey] = item.Default, - [Models.Metadata.RamOption.ContentKey] = item.Content, + [Serialization.Models.Metadata.RamOption.NameKey] = item.Name, + [Serialization.Models.Metadata.RamOption.DefaultKey] = item.Default, + [Serialization.Models.Metadata.RamOption.ContentKey] = item.Content, }; return ramOption; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(Rom item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(Rom item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.BiosKey] = item.Bios, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.CRCKey] = item.CRC, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.MergeKey] = item.Merge, - [Models.Metadata.Rom.RegionKey] = item.Region, - [Models.Metadata.Rom.OffsetKey] = item.Offset, - [Models.Metadata.Rom.StatusKey] = item.Status, - [Models.Metadata.Rom.OptionalKey] = item.Optional, - [Models.Metadata.Rom.DisposeKey] = item.Dispose, - [Models.Metadata.Rom.SoundOnlyKey] = item.SoundOnly, + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.BiosKey] = item.Bios, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.MergeKey] = item.Merge, + [Serialization.Models.Metadata.Rom.RegionKey] = item.Region, + [Serialization.Models.Metadata.Rom.OffsetKey] = item.Offset, + [Serialization.Models.Metadata.Rom.StatusKey] = item.Status, + [Serialization.Models.Metadata.Rom.OptionalKey] = item.Optional, + [Serialization.Models.Metadata.Rom.DisposeKey] = item.Dispose, + [Serialization.Models.Metadata.Rom.SoundOnlyKey] = item.SoundOnly, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Sample ConvertToInternalModel(Sample item) + private static Serialization.Models.Metadata.Sample ConvertToInternalModel(Sample item) { - var sample = new Models.Metadata.Sample + var sample = new Serialization.Models.Metadata.Sample { - [Models.Metadata.Sample.NameKey] = item.Name, + [Serialization.Models.Metadata.Sample.NameKey] = item.Name, }; return sample; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Slot ConvertToInternalModel(Slot item) + private static Serialization.Models.Metadata.Slot ConvertToInternalModel(Slot item) { - var slot = new Models.Metadata.Slot + var slot = new Serialization.Models.Metadata.Slot { - [Models.Metadata.Slot.NameKey] = item.Name, + [Serialization.Models.Metadata.Slot.NameKey] = item.Name, }; if (item.SlotOption != null && item.SlotOption.Length > 0) { - slot[Models.Metadata.Slot.SlotOptionKey] + slot[Serialization.Models.Metadata.Slot.SlotOptionKey] = Array.ConvertAll(item.SlotOption, ConvertToInternalModel); } @@ -653,60 +653,60 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.SlotOption ConvertToInternalModel(SlotOption item) + private static Serialization.Models.Metadata.SlotOption ConvertToInternalModel(SlotOption item) { - var slotOption = new Models.Metadata.SlotOption + var slotOption = new Serialization.Models.Metadata.SlotOption { - [Models.Metadata.SlotOption.NameKey] = item.Name, - [Models.Metadata.SlotOption.DevNameKey] = item.DevName, - [Models.Metadata.SlotOption.DefaultKey] = item.Default, + [Serialization.Models.Metadata.SlotOption.NameKey] = item.Name, + [Serialization.Models.Metadata.SlotOption.DevNameKey] = item.DevName, + [Serialization.Models.Metadata.SlotOption.DefaultKey] = item.Default, }; return slotOption; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.SoftwareList ConvertToInternalModel(Models.Listxml.SoftwareList item) + private static Serialization.Models.Metadata.SoftwareList ConvertToInternalModel(SabreTools.Serialization.Models.Listxml.SoftwareList item) { - var softwareList = new Models.Metadata.SoftwareList + var softwareList = new Serialization.Models.Metadata.SoftwareList { - [Models.Metadata.SoftwareList.TagKey] = item.Tag, - [Models.Metadata.SoftwareList.NameKey] = item.Name, - [Models.Metadata.SoftwareList.StatusKey] = item.Status, - [Models.Metadata.SoftwareList.FilterKey] = item.Filter, + [Serialization.Models.Metadata.SoftwareList.TagKey] = item.Tag, + [Serialization.Models.Metadata.SoftwareList.NameKey] = item.Name, + [Serialization.Models.Metadata.SoftwareList.StatusKey] = item.Status, + [Serialization.Models.Metadata.SoftwareList.FilterKey] = item.Filter, }; return softwareList; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Sound ConvertToInternalModel(Sound item) + private static Serialization.Models.Metadata.Sound ConvertToInternalModel(Sound item) { - var sound = new Models.Metadata.Sound + var sound = new Serialization.Models.Metadata.Sound { - [Models.Metadata.Sound.ChannelsKey] = item.Channels, + [Serialization.Models.Metadata.Sound.ChannelsKey] = item.Channels, }; return sound; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Video ConvertToInternalModel(Video item) + private static Serialization.Models.Metadata.Video ConvertToInternalModel(Video item) { - var video = new Models.Metadata.Video + var video = new Serialization.Models.Metadata.Video { - [Models.Metadata.Video.ScreenKey] = item.Screen, - [Models.Metadata.Video.OrientationKey] = item.Orientation, - [Models.Metadata.Video.WidthKey] = item.Width, - [Models.Metadata.Video.HeightKey] = item.Height, - [Models.Metadata.Video.AspectXKey] = item.AspectX, - [Models.Metadata.Video.AspectYKey] = item.AspectY, - [Models.Metadata.Video.RefreshKey] = item.Refresh, + [Serialization.Models.Metadata.Video.ScreenKey] = item.Screen, + [Serialization.Models.Metadata.Video.OrientationKey] = item.Orientation, + [Serialization.Models.Metadata.Video.WidthKey] = item.Width, + [Serialization.Models.Metadata.Video.HeightKey] = item.Height, + [Serialization.Models.Metadata.Video.AspectXKey] = item.AspectX, + [Serialization.Models.Metadata.Video.AspectYKey] = item.AspectY, + [Serialization.Models.Metadata.Video.RefreshKey] = item.Refresh, }; return video; } diff --git a/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs b/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs index d5a04192..e5e79367 100644 --- a/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Logiqx.Deserializer.cs @@ -1,32 +1,32 @@ using System; -using SabreTools.Models.Logiqx; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Logiqx; namespace SabreTools.Serialization.CrossModel { - public partial class Logiqx : IModelSerializer + public partial class Logiqx : IModelSerializer { /// - public Datafile? Deserialize(Models.Metadata.MetadataFile? obj) => Deserialize(obj, false); + public Datafile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) => Deserialize(obj, false); /// - public Datafile? Deserialize(Models.Metadata.MetadataFile? obj, bool game) + public Datafile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj, bool game) { if (obj == null) return null; var datafile = new Datafile(); - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); if (header != null) { - datafile.Build = header.ReadString(Models.Metadata.Header.BuildKey); - datafile.Debug = header.ReadString(Models.Metadata.Header.DebugKey); - datafile.SchemaLocation = header.ReadString(Models.Metadata.Header.SchemaLocationKey); + datafile.Build = header.ReadString(Serialization.Models.Metadata.Header.BuildKey); + datafile.Debug = header.ReadString(Serialization.Models.Metadata.Header.DebugKey); + datafile.SchemaLocation = header.ReadString(Serialization.Models.Metadata.Header.SchemaLocationKey); datafile.Header = ConvertHeaderFromInternalModel(header); } - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) datafile.Game = Array.ConvertAll(machines, m => ConvertMachineFromInternalModel(m, game)); @@ -34,38 +34,38 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Header ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static Header ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { var header = new Header { - Id = item.ReadString(Models.Metadata.Header.IdKey), - Name = item.ReadString(Models.Metadata.Header.NameKey), - Description = item.ReadString(Models.Metadata.Header.DescriptionKey), - RootDir = item.ReadString(Models.Metadata.Header.RootDirKey), - Category = item.ReadString(Models.Metadata.Header.CategoryKey), - Version = item.ReadString(Models.Metadata.Header.VersionKey), - Date = item.ReadString(Models.Metadata.Header.DateKey), - Author = item.ReadString(Models.Metadata.Header.AuthorKey), - Email = item.ReadString(Models.Metadata.Header.EmailKey), - Homepage = item.ReadString(Models.Metadata.Header.HomepageKey), - Url = item.ReadString(Models.Metadata.Header.UrlKey), - Comment = item.ReadString(Models.Metadata.Header.CommentKey), - Type = item.ReadString(Models.Metadata.Header.TypeKey), + Id = item.ReadString(Serialization.Models.Metadata.Header.IdKey), + Name = item.ReadString(Serialization.Models.Metadata.Header.NameKey), + Description = item.ReadString(Serialization.Models.Metadata.Header.DescriptionKey), + RootDir = item.ReadString(Serialization.Models.Metadata.Header.RootDirKey), + Category = item.ReadString(Serialization.Models.Metadata.Header.CategoryKey), + Version = item.ReadString(Serialization.Models.Metadata.Header.VersionKey), + Date = item.ReadString(Serialization.Models.Metadata.Header.DateKey), + Author = item.ReadString(Serialization.Models.Metadata.Header.AuthorKey), + Email = item.ReadString(Serialization.Models.Metadata.Header.EmailKey), + Homepage = item.ReadString(Serialization.Models.Metadata.Header.HomepageKey), + Url = item.ReadString(Serialization.Models.Metadata.Header.UrlKey), + Comment = item.ReadString(Serialization.Models.Metadata.Header.CommentKey), + Type = item.ReadString(Serialization.Models.Metadata.Header.TypeKey), }; - string? headerVal = item.ReadString(Models.Metadata.Header.HeaderKey); - string? forceMerging = item.ReadString(Models.Metadata.Header.ForceMergingKey); - string? forceNodump = item.ReadString(Models.Metadata.Header.ForceNodumpKey); - string? forceUnpacking = item.ReadString(Models.Metadata.Header.ForcePackingKey); + string? headerVal = item.ReadString(Serialization.Models.Metadata.Header.HeaderKey); + string? forceMerging = item.ReadString(Serialization.Models.Metadata.Header.ForceMergingKey); + string? forceNodump = item.ReadString(Serialization.Models.Metadata.Header.ForceNodumpKey); + string? forceUnpacking = item.ReadString(Serialization.Models.Metadata.Header.ForcePackingKey); if (headerVal != null || forceMerging != null || forceNodump != null || forceUnpacking != null) { - header.ClrMamePro = new Models.Logiqx.ClrMamePro(); + header.ClrMamePro = new SabreTools.Serialization.Models.Logiqx.ClrMamePro(); if (headerVal != null) header.ClrMamePro.Header = headerVal; if (forceMerging != null) @@ -76,13 +76,13 @@ namespace SabreTools.Serialization.CrossModel header.ClrMamePro.ForcePacking = forceUnpacking; } - string? plugin = item.ReadString(Models.Metadata.Header.PluginKey); - string? romMode = item.ReadString(Models.Metadata.Header.RomModeKey); - string? biosMode = item.ReadString(Models.Metadata.Header.BiosModeKey); - string? sampleMode = item.ReadString(Models.Metadata.Header.SampleModeKey); - string? lockRomMode = item.ReadString(Models.Metadata.Header.LockRomModeKey); - string? lockBiosMode = item.ReadString(Models.Metadata.Header.LockBiosModeKey); - string? lockSampleMode = item.ReadString(Models.Metadata.Header.LockSampleModeKey); + string? plugin = item.ReadString(Serialization.Models.Metadata.Header.PluginKey); + string? romMode = item.ReadString(Serialization.Models.Metadata.Header.RomModeKey); + string? biosMode = item.ReadString(Serialization.Models.Metadata.Header.BiosModeKey); + string? sampleMode = item.ReadString(Serialization.Models.Metadata.Header.SampleModeKey); + string? lockRomMode = item.ReadString(Serialization.Models.Metadata.Header.LockRomModeKey); + string? lockBiosMode = item.ReadString(Serialization.Models.Metadata.Header.LockBiosModeKey); + string? lockSampleMode = item.ReadString(Serialization.Models.Metadata.Header.LockSampleModeKey); if (plugin != null || romMode != null @@ -92,7 +92,7 @@ namespace SabreTools.Serialization.CrossModel || lockBiosMode != null || lockSampleMode != null) { - header.RomCenter = new Models.Logiqx.RomCenter(); + header.RomCenter = new SabreTools.Serialization.Models.Logiqx.RomCenter(); if (plugin != null) header.RomCenter.Plugin = plugin; if (romMode != null) @@ -113,73 +113,73 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static GameBase ConvertMachineFromInternalModel(Models.Metadata.Machine item, bool game = false) + private static GameBase ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item, bool game = false) { GameBase gameBase = game ? new Game() : new Machine(); - gameBase.Name = item.ReadString(Models.Metadata.Machine.NameKey); - gameBase.SourceFile = item.ReadString(Models.Metadata.Machine.SourceFileKey); - gameBase.IsBios = item.ReadString(Models.Metadata.Machine.IsBiosKey); - gameBase.IsDevice = item.ReadString(Models.Metadata.Machine.IsDeviceKey); - gameBase.IsMechanical = item.ReadString(Models.Metadata.Machine.IsMechanicalKey); - gameBase.CloneOf = item.ReadString(Models.Metadata.Machine.CloneOfKey); - gameBase.RomOf = item.ReadString(Models.Metadata.Machine.RomOfKey); - gameBase.SampleOf = item.ReadString(Models.Metadata.Machine.SampleOfKey); - gameBase.Board = item.ReadString(Models.Metadata.Machine.BoardKey); - gameBase.RebuildTo = item.ReadString(Models.Metadata.Machine.RebuildToKey); - gameBase.Id = item.ReadString(Models.Metadata.Machine.IdKey); - gameBase.CloneOfId = item.ReadString(Models.Metadata.Machine.CloneOfIdKey); - gameBase.Runnable = item.ReadString(Models.Metadata.Machine.RunnableKey); - gameBase.Comment = item.ReadStringArray(Models.Metadata.Machine.CommentKey); - gameBase.Description = item.ReadString(Models.Metadata.Machine.DescriptionKey); - gameBase.Year = item.ReadString(Models.Metadata.Machine.YearKey); - gameBase.Manufacturer = item.ReadString(Models.Metadata.Machine.ManufacturerKey); - gameBase.Publisher = item.ReadString(Models.Metadata.Machine.PublisherKey); - gameBase.Category = item.ReadStringArray(Models.Metadata.Machine.CategoryKey); + gameBase.Name = item.ReadString(Serialization.Models.Metadata.Machine.NameKey); + gameBase.SourceFile = item.ReadString(Serialization.Models.Metadata.Machine.SourceFileKey); + gameBase.IsBios = item.ReadString(Serialization.Models.Metadata.Machine.IsBiosKey); + gameBase.IsDevice = item.ReadString(Serialization.Models.Metadata.Machine.IsDeviceKey); + gameBase.IsMechanical = item.ReadString(Serialization.Models.Metadata.Machine.IsMechanicalKey); + gameBase.CloneOf = item.ReadString(Serialization.Models.Metadata.Machine.CloneOfKey); + gameBase.RomOf = item.ReadString(Serialization.Models.Metadata.Machine.RomOfKey); + gameBase.SampleOf = item.ReadString(Serialization.Models.Metadata.Machine.SampleOfKey); + gameBase.Board = item.ReadString(Serialization.Models.Metadata.Machine.BoardKey); + gameBase.RebuildTo = item.ReadString(Serialization.Models.Metadata.Machine.RebuildToKey); + gameBase.Id = item.ReadString(Serialization.Models.Metadata.Machine.IdKey); + gameBase.CloneOfId = item.ReadString(Serialization.Models.Metadata.Machine.CloneOfIdKey); + gameBase.Runnable = item.ReadString(Serialization.Models.Metadata.Machine.RunnableKey); + gameBase.Comment = item.ReadStringArray(Serialization.Models.Metadata.Machine.CommentKey); + gameBase.Description = item.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey); + gameBase.Year = item.ReadString(Serialization.Models.Metadata.Machine.YearKey); + gameBase.Manufacturer = item.ReadString(Serialization.Models.Metadata.Machine.ManufacturerKey); + gameBase.Publisher = item.ReadString(Serialization.Models.Metadata.Machine.PublisherKey); + gameBase.Category = item.ReadStringArray(Serialization.Models.Metadata.Machine.CategoryKey); - var trurip = item.Read(Models.Metadata.Machine.TruripKey); + var trurip = item.Read(Serialization.Models.Metadata.Machine.TruripKey); if (trurip != null) gameBase.Trurip = trurip; - var releases = item.Read(Models.Metadata.Machine.ReleaseKey); + var releases = item.Read(Serialization.Models.Metadata.Machine.ReleaseKey); if (releases != null && releases.Length > 0) gameBase.Release = Array.ConvertAll(releases, ConvertFromInternalModel); - var biosSets = item.Read(Models.Metadata.Machine.BiosSetKey); + var biosSets = item.Read(Serialization.Models.Metadata.Machine.BiosSetKey); if (biosSets != null && biosSets.Length > 0) gameBase.BiosSet = Array.ConvertAll(biosSets, ConvertFromInternalModel); - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms != null && roms.Length > 0) gameBase.Rom = Array.ConvertAll(roms, ConvertFromInternalModel); - var disks = item.Read(Models.Metadata.Machine.DiskKey); + var disks = item.Read(Serialization.Models.Metadata.Machine.DiskKey); if (disks != null && disks.Length > 0) gameBase.Disk = Array.ConvertAll(disks, ConvertFromInternalModel); - var medias = item.Read(Models.Metadata.Machine.MediaKey); + var medias = item.Read(Serialization.Models.Metadata.Machine.MediaKey); if (medias != null && medias.Length > 0) gameBase.Media = Array.ConvertAll(medias, ConvertFromInternalModel); - var deviceRefs = item.Read(Models.Metadata.Machine.DeviceRefKey); + var deviceRefs = item.Read(Serialization.Models.Metadata.Machine.DeviceRefKey); if (deviceRefs != null && deviceRefs.Length > 0) gameBase.DeviceRef = Array.ConvertAll(deviceRefs, ConvertFromInternalModel); - var samples = item.Read(Models.Metadata.Machine.SampleKey); + var samples = item.Read(Serialization.Models.Metadata.Machine.SampleKey); if (samples != null && samples.Length > 0) gameBase.Sample = Array.ConvertAll(samples, ConvertFromInternalModel); - var archives = item.Read(Models.Metadata.Machine.ArchiveKey); + var archives = item.Read(Serialization.Models.Metadata.Machine.ArchiveKey); if (archives != null && archives.Length > 0) gameBase.Archive = Array.ConvertAll(archives, ConvertFromInternalModel); - var driver = item.Read(Models.Metadata.Machine.DriverKey); + var driver = item.Read(Serialization.Models.Metadata.Machine.DriverKey); if (driver != null) gameBase.Driver = ConvertFromInternalModel(driver); - var softwareLists = item.Read(Models.Metadata.Machine.SoftwareListKey); + var softwareLists = item.Read(Serialization.Models.Metadata.Machine.SoftwareListKey); if (softwareLists != null && softwareLists.Length > 0) gameBase.SoftwareList = Array.ConvertAll(softwareLists, ConvertFromInternalModel); @@ -187,167 +187,167 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Archive ConvertFromInternalModel(Models.Metadata.Archive item) + private static Archive ConvertFromInternalModel(Serialization.Models.Metadata.Archive item) { var archive = new Archive { - Name = item.ReadString(Models.Metadata.Archive.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Archive.NameKey), }; return archive; } /// - /// Convert from to + /// Convert from to /// - private static BiosSet ConvertFromInternalModel(Models.Metadata.BiosSet item) + private static BiosSet ConvertFromInternalModel(Serialization.Models.Metadata.BiosSet item) { var biosset = new BiosSet { - Name = item.ReadString(Models.Metadata.BiosSet.NameKey), - Description = item.ReadString(Models.Metadata.BiosSet.DescriptionKey), - Default = item.ReadString(Models.Metadata.BiosSet.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.BiosSet.NameKey), + Description = item.ReadString(Serialization.Models.Metadata.BiosSet.DescriptionKey), + Default = item.ReadString(Serialization.Models.Metadata.BiosSet.DefaultKey), }; return biosset; } /// - /// Convert from to + /// Convert from to /// - private static DeviceRef ConvertFromInternalModel(Models.Metadata.DeviceRef item) + private static DeviceRef ConvertFromInternalModel(Serialization.Models.Metadata.DeviceRef item) { var deviceRef = new DeviceRef { - Name = item.ReadString(Models.Metadata.DipSwitch.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.DipSwitch.NameKey), }; return deviceRef; } /// - /// Convert from to + /// Convert from to /// - private static Disk ConvertFromInternalModel(Models.Metadata.Disk item) + private static Disk ConvertFromInternalModel(Serialization.Models.Metadata.Disk item) { var disk = new Disk { - Name = item.ReadString(Models.Metadata.Disk.NameKey), - MD5 = item.ReadString(Models.Metadata.Disk.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Disk.SHA1Key), - Merge = item.ReadString(Models.Metadata.Disk.MergeKey), - Status = item.ReadString(Models.Metadata.Disk.StatusKey), - Region = item.ReadString(Models.Metadata.Disk.RegionKey), + Name = item.ReadString(Serialization.Models.Metadata.Disk.NameKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Disk.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Disk.SHA1Key), + Merge = item.ReadString(Serialization.Models.Metadata.Disk.MergeKey), + Status = item.ReadString(Serialization.Models.Metadata.Disk.StatusKey), + Region = item.ReadString(Serialization.Models.Metadata.Disk.RegionKey), }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static Driver ConvertFromInternalModel(Models.Metadata.Driver item) + private static Driver ConvertFromInternalModel(Serialization.Models.Metadata.Driver item) { var driver = new Driver { - Status = item.ReadString(Models.Metadata.Driver.StatusKey), - Emulation = item.ReadString(Models.Metadata.Driver.EmulationKey), - Cocktail = item.ReadString(Models.Metadata.Driver.CocktailKey), - SaveState = item.ReadString(Models.Metadata.Driver.SaveStateKey), - RequiresArtwork = item.ReadString(Models.Metadata.Driver.RequiresArtworkKey), - Unofficial = item.ReadString(Models.Metadata.Driver.UnofficialKey), - NoSoundHardware = item.ReadString(Models.Metadata.Driver.NoSoundHardwareKey), - Incomplete = item.ReadString(Models.Metadata.Driver.IncompleteKey), + Status = item.ReadString(Serialization.Models.Metadata.Driver.StatusKey), + Emulation = item.ReadString(Serialization.Models.Metadata.Driver.EmulationKey), + Cocktail = item.ReadString(Serialization.Models.Metadata.Driver.CocktailKey), + SaveState = item.ReadString(Serialization.Models.Metadata.Driver.SaveStateKey), + RequiresArtwork = item.ReadString(Serialization.Models.Metadata.Driver.RequiresArtworkKey), + Unofficial = item.ReadString(Serialization.Models.Metadata.Driver.UnofficialKey), + NoSoundHardware = item.ReadString(Serialization.Models.Metadata.Driver.NoSoundHardwareKey), + Incomplete = item.ReadString(Serialization.Models.Metadata.Driver.IncompleteKey), }; return driver; } /// - /// Convert from to + /// Convert from to /// - private static Media ConvertFromInternalModel(Models.Metadata.Media item) + private static Media ConvertFromInternalModel(Serialization.Models.Metadata.Media item) { var media = new Media { - Name = item.ReadString(Models.Metadata.Media.NameKey), - MD5 = item.ReadString(Models.Metadata.Media.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Media.SHA1Key), - SHA256 = item.ReadString(Models.Metadata.Media.SHA256Key), - SpamSum = item.ReadString(Models.Metadata.Media.SpamSumKey), + Name = item.ReadString(Serialization.Models.Metadata.Media.NameKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Media.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Media.SHA1Key), + SHA256 = item.ReadString(Serialization.Models.Metadata.Media.SHA256Key), + SpamSum = item.ReadString(Serialization.Models.Metadata.Media.SpamSumKey), }; return media; } /// - /// Convert from to + /// Convert from to /// - private static Release ConvertFromInternalModel(Models.Metadata.Release item) + private static Release ConvertFromInternalModel(Serialization.Models.Metadata.Release item) { var release = new Release { - Name = item.ReadString(Models.Metadata.Release.NameKey), - Region = item.ReadString(Models.Metadata.Release.RegionKey), - Language = item.ReadString(Models.Metadata.Release.LanguageKey), - Date = item.ReadString(Models.Metadata.Release.DateKey), - Default = item.ReadString(Models.Metadata.Release.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.Release.NameKey), + Region = item.ReadString(Serialization.Models.Metadata.Release.RegionKey), + Language = item.ReadString(Serialization.Models.Metadata.Release.LanguageKey), + Date = item.ReadString(Serialization.Models.Metadata.Release.DateKey), + Default = item.ReadString(Serialization.Models.Metadata.Release.DefaultKey), }; return release; } /// - /// Convert from to + /// Convert from to /// - private static Rom ConvertFromInternalModel(Models.Metadata.Rom item) + private static Rom ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var rom = new Rom { - Name = item.ReadString(Models.Metadata.Rom.NameKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - CRC = item.ReadString(Models.Metadata.Rom.CRCKey), - MD2 = item.ReadString(Models.Metadata.Rom.MD2Key), - MD4 = item.ReadString(Models.Metadata.Rom.MD4Key), - MD5 = item.ReadString(Models.Metadata.Rom.MD5Key), - RIPEMD128 = item.ReadString(Models.Metadata.Rom.RIPEMD128Key), - RIPEMD160 = item.ReadString(Models.Metadata.Rom.RIPEMD160Key), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - SHA256 = item.ReadString(Models.Metadata.Rom.SHA256Key), - SHA384 = item.ReadString(Models.Metadata.Rom.SHA384Key), - SHA512 = item.ReadString(Models.Metadata.Rom.SHA512Key), - SpamSum = item.ReadString(Models.Metadata.Rom.SpamSumKey), - xxHash364 = item.ReadString(Models.Metadata.Rom.xxHash364Key), - xxHash3128 = item.ReadString(Models.Metadata.Rom.xxHash3128Key), - Merge = item.ReadString(Models.Metadata.Rom.MergeKey), - Status = item.ReadString(Models.Metadata.Rom.StatusKey), - Serial = item.ReadString(Models.Metadata.Rom.SerialKey), - Header = item.ReadString(Models.Metadata.Rom.HeaderKey), - Date = item.ReadString(Models.Metadata.Rom.DateKey), - Inverted = item.ReadString(Models.Metadata.Rom.InvertedKey), - MIA = item.ReadString(Models.Metadata.Rom.MIAKey), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + CRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + MD2 = item.ReadString(Serialization.Models.Metadata.Rom.MD2Key), + MD4 = item.ReadString(Serialization.Models.Metadata.Rom.MD4Key), + MD5 = item.ReadString(Serialization.Models.Metadata.Rom.MD5Key), + RIPEMD128 = item.ReadString(Serialization.Models.Metadata.Rom.RIPEMD128Key), + RIPEMD160 = item.ReadString(Serialization.Models.Metadata.Rom.RIPEMD160Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + SHA256 = item.ReadString(Serialization.Models.Metadata.Rom.SHA256Key), + SHA384 = item.ReadString(Serialization.Models.Metadata.Rom.SHA384Key), + SHA512 = item.ReadString(Serialization.Models.Metadata.Rom.SHA512Key), + SpamSum = item.ReadString(Serialization.Models.Metadata.Rom.SpamSumKey), + xxHash364 = item.ReadString(Serialization.Models.Metadata.Rom.xxHash364Key), + xxHash3128 = item.ReadString(Serialization.Models.Metadata.Rom.xxHash3128Key), + Merge = item.ReadString(Serialization.Models.Metadata.Rom.MergeKey), + Status = item.ReadString(Serialization.Models.Metadata.Rom.StatusKey), + Serial = item.ReadString(Serialization.Models.Metadata.Rom.SerialKey), + Header = item.ReadString(Serialization.Models.Metadata.Rom.HeaderKey), + Date = item.ReadString(Serialization.Models.Metadata.Rom.DateKey), + Inverted = item.ReadString(Serialization.Models.Metadata.Rom.InvertedKey), + MIA = item.ReadString(Serialization.Models.Metadata.Rom.MIAKey), }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Sample ConvertFromInternalModel(Models.Metadata.Sample item) + private static Sample ConvertFromInternalModel(Serialization.Models.Metadata.Sample item) { var sample = new Sample { - Name = item.ReadString(Models.Metadata.Sample.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.Sample.NameKey), }; return sample; } /// - /// Convert from to + /// Convert from to /// - private static Models.Logiqx.SoftwareList ConvertFromInternalModel(Models.Metadata.SoftwareList item) + private static SabreTools.Serialization.Models.Logiqx.SoftwareList ConvertFromInternalModel(Serialization.Models.Metadata.SoftwareList item) { - var softwareList = new Models.Logiqx.SoftwareList + var softwareList = new SabreTools.Serialization.Models.Logiqx.SoftwareList { - Tag = item.ReadString(Models.Metadata.SoftwareList.TagKey), - Name = item.ReadString(Models.Metadata.SoftwareList.NameKey), - Status = item.ReadString(Models.Metadata.SoftwareList.StatusKey), - Filter = item.ReadString(Models.Metadata.SoftwareList.FilterKey), + Tag = item.ReadString(Serialization.Models.Metadata.SoftwareList.TagKey), + Name = item.ReadString(Serialization.Models.Metadata.SoftwareList.NameKey), + Status = item.ReadString(Serialization.Models.Metadata.SoftwareList.StatusKey), + Filter = item.ReadString(Serialization.Models.Metadata.SoftwareList.FilterKey), }; return softwareList; } diff --git a/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs b/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs index f361b180..03c01526 100644 --- a/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Logiqx.Serializer.cs @@ -1,23 +1,23 @@ using System; using System.Collections.Generic; -using SabreTools.Models.Logiqx; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.Logiqx; namespace SabreTools.Serialization.CrossModel { - public partial class Logiqx : IModelSerializer + public partial class Logiqx : IModelSerializer { - public Models.Metadata.MetadataFile? Serialize(Datafile? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(Datafile? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; - var machines = new List(); + var machines = new List(); if (item.Game != null && item.Game.Length > 0) machines.AddRange(Array.ConvertAll(item.Game, g => ConvertMachineToInternalModel(g))); @@ -28,73 +28,73 @@ namespace SabreTools.Serialization.CrossModel } if (machines.Count > 0) - metadataFile[Models.Metadata.MetadataFile.MachineKey] = machines.ToArray(); + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = machines.ToArray(); return metadataFile; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Datafile item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(Datafile item) { - var header = item.Header != null ? ConvertHeaderToInternalModel(item.Header) : new Models.Metadata.Header(); + var header = item.Header != null ? ConvertHeaderToInternalModel(item.Header) : new Serialization.Models.Metadata.Header(); - header[Models.Metadata.Header.BuildKey] = item.Build; - header[Models.Metadata.Header.DebugKey] = item.Debug; - header[Models.Metadata.Header.SchemaLocationKey] = item.SchemaLocation; + header[Serialization.Models.Metadata.Header.BuildKey] = item.Build; + header[Serialization.Models.Metadata.Header.DebugKey] = item.Debug; + header[Serialization.Models.Metadata.Header.SchemaLocationKey] = item.SchemaLocation; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Header item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(Header item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.IdKey] = item.Id, - [Models.Metadata.Header.NameKey] = item.Name, - [Models.Metadata.Header.DescriptionKey] = item.Description, - [Models.Metadata.Header.RootDirKey] = item.RootDir, - [Models.Metadata.Header.CategoryKey] = item.Category, - [Models.Metadata.Header.VersionKey] = item.Version, - [Models.Metadata.Header.DateKey] = item.Date, - [Models.Metadata.Header.AuthorKey] = item.Author, - [Models.Metadata.Header.EmailKey] = item.Email, - [Models.Metadata.Header.HomepageKey] = item.Homepage, - [Models.Metadata.Header.UrlKey] = item.Url, - [Models.Metadata.Header.CommentKey] = item.Comment, - [Models.Metadata.Header.TypeKey] = item.Type, + [Serialization.Models.Metadata.Header.IdKey] = item.Id, + [Serialization.Models.Metadata.Header.NameKey] = item.Name, + [Serialization.Models.Metadata.Header.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Header.RootDirKey] = item.RootDir, + [Serialization.Models.Metadata.Header.CategoryKey] = item.Category, + [Serialization.Models.Metadata.Header.VersionKey] = item.Version, + [Serialization.Models.Metadata.Header.DateKey] = item.Date, + [Serialization.Models.Metadata.Header.AuthorKey] = item.Author, + [Serialization.Models.Metadata.Header.EmailKey] = item.Email, + [Serialization.Models.Metadata.Header.HomepageKey] = item.Homepage, + [Serialization.Models.Metadata.Header.UrlKey] = item.Url, + [Serialization.Models.Metadata.Header.CommentKey] = item.Comment, + [Serialization.Models.Metadata.Header.TypeKey] = item.Type, }; if (item.ClrMamePro != null) { - header[Models.Metadata.Header.HeaderKey] = item.ClrMamePro.Header; - header[Models.Metadata.Header.ForceMergingKey] = item.ClrMamePro.ForceMerging; - header[Models.Metadata.Header.ForceNodumpKey] = item.ClrMamePro.ForceNodump; - header[Models.Metadata.Header.ForcePackingKey] = item.ClrMamePro.ForcePacking; + header[Serialization.Models.Metadata.Header.HeaderKey] = item.ClrMamePro.Header; + header[Serialization.Models.Metadata.Header.ForceMergingKey] = item.ClrMamePro.ForceMerging; + header[Serialization.Models.Metadata.Header.ForceNodumpKey] = item.ClrMamePro.ForceNodump; + header[Serialization.Models.Metadata.Header.ForcePackingKey] = item.ClrMamePro.ForcePacking; } if (item.RomCenter != null) { - header[Models.Metadata.Header.PluginKey] = item.RomCenter.Plugin; - header[Models.Metadata.Header.RomModeKey] = item.RomCenter.RomMode; - header[Models.Metadata.Header.BiosModeKey] = item.RomCenter.BiosMode; - header[Models.Metadata.Header.SampleModeKey] = item.RomCenter.SampleMode; - header[Models.Metadata.Header.LockRomModeKey] = item.RomCenter.LockRomMode; - header[Models.Metadata.Header.LockBiosModeKey] = item.RomCenter.LockBiosMode; - header[Models.Metadata.Header.LockSampleModeKey] = item.RomCenter.LockSampleMode; + header[Serialization.Models.Metadata.Header.PluginKey] = item.RomCenter.Plugin; + header[Serialization.Models.Metadata.Header.RomModeKey] = item.RomCenter.RomMode; + header[Serialization.Models.Metadata.Header.BiosModeKey] = item.RomCenter.BiosMode; + header[Serialization.Models.Metadata.Header.SampleModeKey] = item.RomCenter.SampleMode; + header[Serialization.Models.Metadata.Header.LockRomModeKey] = item.RomCenter.LockRomMode; + header[Serialization.Models.Metadata.Header.LockBiosModeKey] = item.RomCenter.LockBiosMode; + header[Serialization.Models.Metadata.Header.LockSampleModeKey] = item.RomCenter.LockSampleMode; } return header; } /// - /// Convert from to an array of + /// Convert from to an array of /// - private static Models.Metadata.Machine[] ConvertDirToInternalModel(Dir item, string? parent = null) + private static Serialization.Models.Metadata.Machine[] ConvertDirToInternalModel(Dir item, string? parent = null) { // Get the directory name string? dirName = item.Name; @@ -102,12 +102,12 @@ namespace SabreTools.Serialization.CrossModel dirName = $"{parent}\\{item.Name}"; // Handle machine items - Models.Metadata.Machine[] machines = []; + Serialization.Models.Metadata.Machine[] machines = []; if (item.Game != null && item.Game.Length > 0) machines = Array.ConvertAll(item.Game, g => ConvertMachineToInternalModel(g, dirName)); // Handle dir items - List dirs = []; + List dirs = []; foreach (var subdir in item.Subdir ?? []) { dirs.AddRange(ConvertDirToInternalModel(subdir, dirName)); @@ -117,233 +117,233 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(GameBase item, string? dir = null) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(GameBase item, string? dir = null) { string? machineName = item.Name; if (machineName != null && dir != null) machineName = $"{dir}\\{machineName}"; - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = machineName, - [Models.Metadata.Machine.SourceFileKey] = item.SourceFile, - [Models.Metadata.Machine.IsBiosKey] = item.IsBios, - [Models.Metadata.Machine.IsDeviceKey] = item.IsDevice, - [Models.Metadata.Machine.IsMechanicalKey] = item.IsMechanical, - [Models.Metadata.Machine.CloneOfKey] = item.CloneOf, - [Models.Metadata.Machine.RomOfKey] = item.RomOf, - [Models.Metadata.Machine.SampleOfKey] = item.SampleOf, - [Models.Metadata.Machine.BoardKey] = item.Board, - [Models.Metadata.Machine.RebuildToKey] = item.RebuildTo, - [Models.Metadata.Machine.IdKey] = item.Id, - [Models.Metadata.Machine.CloneOfIdKey] = item.CloneOfId, - [Models.Metadata.Machine.RunnableKey] = item.Runnable, - [Models.Metadata.Machine.CommentKey] = item.Comment, - [Models.Metadata.Machine.DescriptionKey] = item.Description, - [Models.Metadata.Machine.YearKey] = item.Year, - [Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, - [Models.Metadata.Machine.PublisherKey] = item.Publisher, - [Models.Metadata.Machine.CategoryKey] = item.Category, - [Models.Metadata.Machine.TruripKey] = item.Trurip, + [Serialization.Models.Metadata.Machine.NameKey] = machineName, + [Serialization.Models.Metadata.Machine.SourceFileKey] = item.SourceFile, + [Serialization.Models.Metadata.Machine.IsBiosKey] = item.IsBios, + [Serialization.Models.Metadata.Machine.IsDeviceKey] = item.IsDevice, + [Serialization.Models.Metadata.Machine.IsMechanicalKey] = item.IsMechanical, + [Serialization.Models.Metadata.Machine.CloneOfKey] = item.CloneOf, + [Serialization.Models.Metadata.Machine.RomOfKey] = item.RomOf, + [Serialization.Models.Metadata.Machine.SampleOfKey] = item.SampleOf, + [Serialization.Models.Metadata.Machine.BoardKey] = item.Board, + [Serialization.Models.Metadata.Machine.RebuildToKey] = item.RebuildTo, + [Serialization.Models.Metadata.Machine.IdKey] = item.Id, + [Serialization.Models.Metadata.Machine.CloneOfIdKey] = item.CloneOfId, + [Serialization.Models.Metadata.Machine.RunnableKey] = item.Runnable, + [Serialization.Models.Metadata.Machine.CommentKey] = item.Comment, + [Serialization.Models.Metadata.Machine.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Machine.YearKey] = item.Year, + [Serialization.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer, + [Serialization.Models.Metadata.Machine.PublisherKey] = item.Publisher, + [Serialization.Models.Metadata.Machine.CategoryKey] = item.Category, + [Serialization.Models.Metadata.Machine.TruripKey] = item.Trurip, }; if (item.Release != null && item.Release.Length > 0) - machine[Models.Metadata.Machine.ReleaseKey] = Array.ConvertAll(item.Release, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.ReleaseKey] = Array.ConvertAll(item.Release, ConvertToInternalModel); if (item.BiosSet != null && item.BiosSet.Length > 0) - machine[Models.Metadata.Machine.BiosSetKey] = Array.ConvertAll(item.BiosSet, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.BiosSetKey] = Array.ConvertAll(item.BiosSet, ConvertToInternalModel); if (item.Rom != null && item.Rom.Length > 0) - machine[Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.Rom, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.Rom, ConvertToInternalModel); if (item.Disk != null && item.Disk.Length > 0) - machine[Models.Metadata.Machine.DiskKey] = Array.ConvertAll(item.Disk, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.DiskKey] = Array.ConvertAll(item.Disk, ConvertToInternalModel); if (item.Media != null && item.Media.Length > 0) - machine[Models.Metadata.Machine.MediaKey] = Array.ConvertAll(item.Media, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.MediaKey] = Array.ConvertAll(item.Media, ConvertToInternalModel); if (item.DeviceRef != null && item.DeviceRef.Length > 0) - machine[Models.Metadata.Machine.DeviceRefKey] = Array.ConvertAll(item.DeviceRef, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.DeviceRefKey] = Array.ConvertAll(item.DeviceRef, ConvertToInternalModel); if (item.Sample != null && item.Sample.Length > 0) - machine[Models.Metadata.Machine.SampleKey] = Array.ConvertAll(item.Sample, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.SampleKey] = Array.ConvertAll(item.Sample, ConvertToInternalModel); if (item.Archive != null && item.Archive.Length > 0) - machine[Models.Metadata.Machine.ArchiveKey] = Array.ConvertAll(item.Archive, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.ArchiveKey] = Array.ConvertAll(item.Archive, ConvertToInternalModel); if (item.Driver != null) - machine[Models.Metadata.Machine.DriverKey] = ConvertToInternalModel(item.Driver); + machine[Serialization.Models.Metadata.Machine.DriverKey] = ConvertToInternalModel(item.Driver); if (item.SoftwareList != null && item.SoftwareList.Length > 0) - machine[Models.Metadata.Machine.SoftwareListKey] = Array.ConvertAll(item.SoftwareList, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.SoftwareListKey] = Array.ConvertAll(item.SoftwareList, ConvertToInternalModel); return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Archive ConvertToInternalModel(Archive item) + private static Serialization.Models.Metadata.Archive ConvertToInternalModel(Archive item) { - var archive = new Models.Metadata.Archive + var archive = new Serialization.Models.Metadata.Archive { - [Models.Metadata.Archive.NameKey] = item.Name, + [Serialization.Models.Metadata.Archive.NameKey] = item.Name, }; return archive; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.BiosSet ConvertToInternalModel(BiosSet item) + private static Serialization.Models.Metadata.BiosSet ConvertToInternalModel(BiosSet item) { - var biosset = new Models.Metadata.BiosSet + var biosset = new Serialization.Models.Metadata.BiosSet { - [Models.Metadata.BiosSet.NameKey] = item.Name, - [Models.Metadata.BiosSet.DescriptionKey] = item.Description, - [Models.Metadata.BiosSet.DefaultKey] = item.Default, + [Serialization.Models.Metadata.BiosSet.NameKey] = item.Name, + [Serialization.Models.Metadata.BiosSet.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.BiosSet.DefaultKey] = item.Default, }; return biosset; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DeviceRef ConvertToInternalModel(DeviceRef item) + private static Serialization.Models.Metadata.DeviceRef ConvertToInternalModel(DeviceRef item) { - var deviceRef = new Models.Metadata.DeviceRef + var deviceRef = new Serialization.Models.Metadata.DeviceRef { - [Models.Metadata.DeviceRef.NameKey] = item.Name, + [Serialization.Models.Metadata.DeviceRef.NameKey] = item.Name, }; return deviceRef; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Disk ConvertToInternalModel(Disk item) + private static Serialization.Models.Metadata.Disk ConvertToInternalModel(Disk item) { - var disk = new Models.Metadata.Disk + var disk = new Serialization.Models.Metadata.Disk { - [Models.Metadata.Disk.NameKey] = item.Name, - [Models.Metadata.Disk.MD5Key] = item.MD5, - [Models.Metadata.Disk.SHA1Key] = item.SHA1, - [Models.Metadata.Disk.MergeKey] = item.Merge, - [Models.Metadata.Disk.StatusKey] = item.Status, - [Models.Metadata.Disk.RegionKey] = item.Region, + [Serialization.Models.Metadata.Disk.NameKey] = item.Name, + [Serialization.Models.Metadata.Disk.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Disk.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Disk.MergeKey] = item.Merge, + [Serialization.Models.Metadata.Disk.StatusKey] = item.Status, + [Serialization.Models.Metadata.Disk.RegionKey] = item.Region, }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Driver ConvertToInternalModel(Driver item) + private static Serialization.Models.Metadata.Driver ConvertToInternalModel(Driver item) { - var driver = new Models.Metadata.Driver + var driver = new Serialization.Models.Metadata.Driver { - [Models.Metadata.Driver.StatusKey] = item.Status, - [Models.Metadata.Driver.EmulationKey] = item.Emulation, - [Models.Metadata.Driver.CocktailKey] = item.Cocktail, - [Models.Metadata.Driver.SaveStateKey] = item.SaveState, - [Models.Metadata.Driver.RequiresArtworkKey] = item.RequiresArtwork, - [Models.Metadata.Driver.UnofficialKey] = item.Unofficial, - [Models.Metadata.Driver.NoSoundHardwareKey] = item.NoSoundHardware, - [Models.Metadata.Driver.IncompleteKey] = item.Incomplete, + [Serialization.Models.Metadata.Driver.StatusKey] = item.Status, + [Serialization.Models.Metadata.Driver.EmulationKey] = item.Emulation, + [Serialization.Models.Metadata.Driver.CocktailKey] = item.Cocktail, + [Serialization.Models.Metadata.Driver.SaveStateKey] = item.SaveState, + [Serialization.Models.Metadata.Driver.RequiresArtworkKey] = item.RequiresArtwork, + [Serialization.Models.Metadata.Driver.UnofficialKey] = item.Unofficial, + [Serialization.Models.Metadata.Driver.NoSoundHardwareKey] = item.NoSoundHardware, + [Serialization.Models.Metadata.Driver.IncompleteKey] = item.Incomplete, }; return driver; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Media ConvertToInternalModel(Media item) + private static Serialization.Models.Metadata.Media ConvertToInternalModel(Media item) { - var media = new Models.Metadata.Media + var media = new Serialization.Models.Metadata.Media { - [Models.Metadata.Media.NameKey] = item.Name, - [Models.Metadata.Media.MD5Key] = item.MD5, - [Models.Metadata.Media.SHA1Key] = item.SHA1, - [Models.Metadata.Media.SHA256Key] = item.SHA256, - [Models.Metadata.Media.SpamSumKey] = item.SpamSum, + [Serialization.Models.Metadata.Media.NameKey] = item.Name, + [Serialization.Models.Metadata.Media.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Media.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Media.SHA256Key] = item.SHA256, + [Serialization.Models.Metadata.Media.SpamSumKey] = item.SpamSum, }; return media; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Release ConvertToInternalModel(Release item) + private static Serialization.Models.Metadata.Release ConvertToInternalModel(Release item) { - var release = new Models.Metadata.Release + var release = new Serialization.Models.Metadata.Release { - [Models.Metadata.Release.NameKey] = item.Name, - [Models.Metadata.Release.RegionKey] = item.Region, - [Models.Metadata.Release.LanguageKey] = item.Language, - [Models.Metadata.Release.DateKey] = item.Date, - [Models.Metadata.Release.DefaultKey] = item.Default, + [Serialization.Models.Metadata.Release.NameKey] = item.Name, + [Serialization.Models.Metadata.Release.RegionKey] = item.Region, + [Serialization.Models.Metadata.Release.LanguageKey] = item.Language, + [Serialization.Models.Metadata.Release.DateKey] = item.Date, + [Serialization.Models.Metadata.Release.DefaultKey] = item.Default, }; return release; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(Rom item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(Rom item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.CRCKey] = item.CRC, - [Models.Metadata.Rom.MD2Key] = item.MD2, - [Models.Metadata.Rom.MD4Key] = item.MD4, - [Models.Metadata.Rom.MD5Key] = item.MD5, - [Models.Metadata.Rom.RIPEMD128Key] = item.RIPEMD128, - [Models.Metadata.Rom.RIPEMD160Key] = item.RIPEMD160, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.SHA256Key] = item.SHA256, - [Models.Metadata.Rom.SHA384Key] = item.SHA384, - [Models.Metadata.Rom.SHA512Key] = item.SHA512, - [Models.Metadata.Rom.SpamSumKey] = item.SpamSum, - [Models.Metadata.Rom.xxHash364Key] = item.xxHash364, - [Models.Metadata.Rom.xxHash3128Key] = item.xxHash3128, - [Models.Metadata.Rom.MergeKey] = item.Merge, - [Models.Metadata.Rom.StatusKey] = item.Status, - [Models.Metadata.Rom.SerialKey] = item.Serial, - [Models.Metadata.Rom.HeaderKey] = item.Header, - [Models.Metadata.Rom.DateKey] = item.Date, - [Models.Metadata.Rom.InvertedKey] = item.Inverted, - [Models.Metadata.Rom.MIAKey] = item.MIA, + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC, + [Serialization.Models.Metadata.Rom.MD2Key] = item.MD2, + [Serialization.Models.Metadata.Rom.MD4Key] = item.MD4, + [Serialization.Models.Metadata.Rom.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Rom.RIPEMD128Key] = item.RIPEMD128, + [Serialization.Models.Metadata.Rom.RIPEMD160Key] = item.RIPEMD160, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.SHA256Key] = item.SHA256, + [Serialization.Models.Metadata.Rom.SHA384Key] = item.SHA384, + [Serialization.Models.Metadata.Rom.SHA512Key] = item.SHA512, + [Serialization.Models.Metadata.Rom.SpamSumKey] = item.SpamSum, + [Serialization.Models.Metadata.Rom.xxHash364Key] = item.xxHash364, + [Serialization.Models.Metadata.Rom.xxHash3128Key] = item.xxHash3128, + [Serialization.Models.Metadata.Rom.MergeKey] = item.Merge, + [Serialization.Models.Metadata.Rom.StatusKey] = item.Status, + [Serialization.Models.Metadata.Rom.SerialKey] = item.Serial, + [Serialization.Models.Metadata.Rom.HeaderKey] = item.Header, + [Serialization.Models.Metadata.Rom.DateKey] = item.Date, + [Serialization.Models.Metadata.Rom.InvertedKey] = item.Inverted, + [Serialization.Models.Metadata.Rom.MIAKey] = item.MIA, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Sample ConvertToInternalModel(Sample item) + private static Serialization.Models.Metadata.Sample ConvertToInternalModel(Sample item) { - var sample = new Models.Metadata.Sample + var sample = new Serialization.Models.Metadata.Sample { - [Models.Metadata.Sample.NameKey] = item.Name, + [Serialization.Models.Metadata.Sample.NameKey] = item.Name, }; return sample; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.SoftwareList ConvertToInternalModel(Models.Logiqx.SoftwareList item) + private static Serialization.Models.Metadata.SoftwareList ConvertToInternalModel(SabreTools.Serialization.Models.Logiqx.SoftwareList item) { - var softwareList = new Models.Metadata.SoftwareList + var softwareList = new Serialization.Models.Metadata.SoftwareList { - [Models.Metadata.SoftwareList.TagKey] = item.Tag, - [Models.Metadata.SoftwareList.NameKey] = item.Name, - [Models.Metadata.SoftwareList.StatusKey] = item.Status, - [Models.Metadata.SoftwareList.FilterKey] = item.Filter, + [Serialization.Models.Metadata.SoftwareList.TagKey] = item.Tag, + [Serialization.Models.Metadata.SoftwareList.NameKey] = item.Name, + [Serialization.Models.Metadata.SoftwareList.StatusKey] = item.Status, + [Serialization.Models.Metadata.SoftwareList.FilterKey] = item.Filter, }; return softwareList; } diff --git a/SabreTools.Serialization/CrossModel/M1.Deserializer.cs b/SabreTools.Serialization/CrossModel/M1.Deserializer.cs index d6c85a80..599fb300 100644 --- a/SabreTools.Serialization/CrossModel/M1.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/M1.Deserializer.cs @@ -3,18 +3,18 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class M1 : IModelSerializer + public partial class M1 : IModelSerializer { /// - public Models.Listxml.M1? Deserialize(Models.Metadata.MetadataFile? obj) + public SabreTools.Serialization.Models.Listxml.M1? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); - var m1 = header != null ? ConvertM1FromInternalModel(header) : new Models.Listxml.M1(); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); + var m1 = header != null ? ConvertM1FromInternalModel(header) : new SabreTools.Serialization.Models.Listxml.M1(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) m1.Game = Array.ConvertAll(machines, Listxml.ConvertMachineFromInternalModel); @@ -22,13 +22,13 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Listxml.M1 ConvertM1FromInternalModel(Models.Metadata.Header item) + private static SabreTools.Serialization.Models.Listxml.M1 ConvertM1FromInternalModel(Serialization.Models.Metadata.Header item) { - var m1 = new Models.Listxml.M1 + var m1 = new SabreTools.Serialization.Models.Listxml.M1 { - Version = item.ReadString(Models.Metadata.Header.VersionKey), + Version = item.ReadString(Serialization.Models.Metadata.Header.VersionKey), }; return m1; } diff --git a/SabreTools.Serialization/CrossModel/M1.Serializer.cs b/SabreTools.Serialization/CrossModel/M1.Serializer.cs index 6a460480..24db1189 100644 --- a/SabreTools.Serialization/CrossModel/M1.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/M1.Serializer.cs @@ -3,22 +3,22 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class M1 : IModelSerializer + public partial class M1 : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(Models.Listxml.M1? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(SabreTools.Serialization.Models.Listxml.M1? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; if (item?.Game != null && item.Game.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(item.Game, Listxml.ConvertMachineToInternalModel); } @@ -26,13 +26,13 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Models.Listxml.M1 item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(SabreTools.Serialization.Models.Listxml.M1 item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.VersionKey] = item.Version, + [Serialization.Models.Metadata.Header.VersionKey] = item.Version, }; return header; } diff --git a/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs b/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs index 2156fac5..eec397e7 100644 --- a/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Mess.Deserializer.cs @@ -3,18 +3,18 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Mess : IModelSerializer + public partial class Mess : IModelSerializer { /// - public Models.Listxml.Mess? Deserialize(Models.Metadata.MetadataFile? obj) + public SabreTools.Serialization.Models.Listxml.Mess? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); - var m1 = header != null ? ConvertMessFromInternalModel(header) : new Models.Listxml.Mess(); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); + var m1 = header != null ? ConvertMessFromInternalModel(header) : new SabreTools.Serialization.Models.Listxml.Mess(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) m1.Game = Array.ConvertAll(machines, Listxml.ConvertMachineFromInternalModel); @@ -22,13 +22,13 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Listxml.Mess ConvertMessFromInternalModel(Models.Metadata.Header item) + private static SabreTools.Serialization.Models.Listxml.Mess ConvertMessFromInternalModel(Serialization.Models.Metadata.Header item) { - var m1 = new Models.Listxml.Mess + var m1 = new SabreTools.Serialization.Models.Listxml.Mess { - Version = item.ReadString(Models.Metadata.Header.VersionKey), + Version = item.ReadString(Serialization.Models.Metadata.Header.VersionKey), }; return m1; } diff --git a/SabreTools.Serialization/CrossModel/Mess.Serializer.cs b/SabreTools.Serialization/CrossModel/Mess.Serializer.cs index 4afcb57f..1cc19e79 100644 --- a/SabreTools.Serialization/CrossModel/Mess.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/Mess.Serializer.cs @@ -3,22 +3,22 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class Mess : IModelSerializer + public partial class Mess : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(Models.Listxml.Mess? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(SabreTools.Serialization.Models.Listxml.Mess? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; if (item?.Game != null && item.Game.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(item.Game, Listxml.ConvertMachineToInternalModel); } @@ -26,13 +26,13 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Models.Listxml.Mess item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(SabreTools.Serialization.Models.Listxml.Mess item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.VersionKey] = item.Version, + [Serialization.Models.Metadata.Header.VersionKey] = item.Version, }; return header; } diff --git a/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs b/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs index 490a75c5..599fab22 100644 --- a/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/OfflineList.Deserializer.cs @@ -1,21 +1,21 @@ using System; -using SabreTools.Models.OfflineList; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.OfflineList; namespace SabreTools.Serialization.CrossModel { - public partial class OfflineList : IModelSerializer + public partial class OfflineList : IModelSerializer { /// - public Dat? Deserialize(Models.Metadata.MetadataFile? obj) + public Dat? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); var dat = header != null ? ConvertHeaderFromInternalModel(header) : new Dat(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) { dat.Games = new Games @@ -28,48 +28,48 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Dat ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static Dat ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { var dat = new Dat { - NoNamespaceSchemaLocation = item.ReadString(Models.Metadata.Header.SchemaLocationKey), + NoNamespaceSchemaLocation = item.ReadString(Serialization.Models.Metadata.Header.SchemaLocationKey), }; - if (item.ContainsKey(Models.Metadata.Header.NameKey) - || item.ContainsKey(Models.Metadata.Header.ImFolderKey) - || item.ContainsKey(Models.Metadata.Header.DatVersionKey) - || item.ContainsKey(Models.Metadata.Header.SystemKey) - || item.ContainsKey(Models.Metadata.Header.ScreenshotsWidthKey) - || item.ContainsKey(Models.Metadata.Header.ScreenshotsHeightKey) - || item.ContainsKey(Models.Metadata.Header.InfosKey) - || item.ContainsKey(Models.Metadata.Header.CanOpenKey) - || item.ContainsKey(Models.Metadata.Header.NewDatKey) - || item.ContainsKey(Models.Metadata.Header.SearchKey) - || item.ContainsKey(Models.Metadata.Header.RomTitleKey)) + if (item.ContainsKey(Serialization.Models.Metadata.Header.NameKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.ImFolderKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.DatVersionKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.SystemKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.ScreenshotsWidthKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.ScreenshotsHeightKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.InfosKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.CanOpenKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.NewDatKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.SearchKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.RomTitleKey)) { dat.Configuration = new Configuration { - DatName = item.ReadString(Models.Metadata.Header.NameKey), - ImFolder = item.ReadString(Models.Metadata.Header.ImFolderKey), - DatVersion = item.ReadString(Models.Metadata.Header.DatVersionKey), - System = item.ReadString(Models.Metadata.Header.SystemKey), - ScreenshotsWidth = item.ReadString(Models.Metadata.Header.ScreenshotsWidthKey), - ScreenshotsHeight = item.ReadString(Models.Metadata.Header.ScreenshotsHeightKey), - Infos = item.Read(Models.Metadata.Header.InfosKey), - CanOpen = item.Read(Models.Metadata.Header.CanOpenKey), - NewDat = item.Read(Models.Metadata.Header.NewDatKey), - Search = item.Read(Models.Metadata.Header.SearchKey), - RomTitle = item.ReadString(Models.Metadata.Header.RomTitleKey), + DatName = item.ReadString(Serialization.Models.Metadata.Header.NameKey), + ImFolder = item.ReadString(Serialization.Models.Metadata.Header.ImFolderKey), + DatVersion = item.ReadString(Serialization.Models.Metadata.Header.DatVersionKey), + System = item.ReadString(Serialization.Models.Metadata.Header.SystemKey), + ScreenshotsWidth = item.ReadString(Serialization.Models.Metadata.Header.ScreenshotsWidthKey), + ScreenshotsHeight = item.ReadString(Serialization.Models.Metadata.Header.ScreenshotsHeightKey), + Infos = item.Read(Serialization.Models.Metadata.Header.InfosKey), + CanOpen = item.Read(Serialization.Models.Metadata.Header.CanOpenKey), + NewDat = item.Read(Serialization.Models.Metadata.Header.NewDatKey), + Search = item.Read(Serialization.Models.Metadata.Header.SearchKey), + RomTitle = item.ReadString(Serialization.Models.Metadata.Header.RomTitleKey), }; } - if (item.ContainsKey(Models.Metadata.Header.ImagesKey)) + if (item.ContainsKey(Serialization.Models.Metadata.Header.ImagesKey)) { dat.GUI = new GUI { - Images = item.Read(Models.Metadata.Header.ImagesKey), + Images = item.Read(Serialization.Models.Metadata.Header.ImagesKey), }; } @@ -77,30 +77,30 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Game ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Game ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { var game = new Game { - ImageNumber = item.ReadString(Models.Metadata.Machine.ImageNumberKey), - ReleaseNumber = item.ReadString(Models.Metadata.Machine.ReleaseNumberKey), - Title = item.ReadString(Models.Metadata.Machine.NameKey), - SaveType = item.ReadString(Models.Metadata.Machine.SaveTypeKey), - Publisher = item.ReadString(Models.Metadata.Machine.PublisherKey), - Location = item.ReadString(Models.Metadata.Machine.LocationKey), - SourceRom = item.ReadString(Models.Metadata.Machine.SourceRomKey), - Language = item.ReadString(Models.Metadata.Machine.LanguageKey), - Im1CRC = item.ReadString(Models.Metadata.Machine.Im1CRCKey), - Im2CRC = item.ReadString(Models.Metadata.Machine.Im2CRCKey), - Comment = item.ReadString(Models.Metadata.Machine.CommentKey), - DuplicateID = item.ReadString(Models.Metadata.Machine.DuplicateIDKey), + ImageNumber = item.ReadString(Serialization.Models.Metadata.Machine.ImageNumberKey), + ReleaseNumber = item.ReadString(Serialization.Models.Metadata.Machine.ReleaseNumberKey), + Title = item.ReadString(Serialization.Models.Metadata.Machine.NameKey), + SaveType = item.ReadString(Serialization.Models.Metadata.Machine.SaveTypeKey), + Publisher = item.ReadString(Serialization.Models.Metadata.Machine.PublisherKey), + Location = item.ReadString(Serialization.Models.Metadata.Machine.LocationKey), + SourceRom = item.ReadString(Serialization.Models.Metadata.Machine.SourceRomKey), + Language = item.ReadString(Serialization.Models.Metadata.Machine.LanguageKey), + Im1CRC = item.ReadString(Serialization.Models.Metadata.Machine.Im1CRCKey), + Im2CRC = item.ReadString(Serialization.Models.Metadata.Machine.Im2CRCKey), + Comment = item.ReadString(Serialization.Models.Metadata.Machine.CommentKey), + DuplicateID = item.ReadString(Serialization.Models.Metadata.Machine.DuplicateIDKey), }; - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms != null && roms.Length > 0) { - var romSizes = Array.ConvertAll(roms, r => r.ReadLong(Models.Metadata.Rom.SizeKey) ?? -1); + var romSizes = Array.ConvertAll(roms, r => r.ReadLong(Serialization.Models.Metadata.Rom.SizeKey) ?? -1); game.RomSize = Array.Find(romSizes, s => s > -1).ToString(); var romCRCs = Array.ConvertAll(roms, ConvertFromInternalModel); @@ -111,14 +111,14 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static FileRomCRC ConvertFromInternalModel(Models.Metadata.Rom item) + private static FileRomCRC ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var fileRomCRC = new FileRomCRC { - Extension = item.ReadString(Models.Metadata.Rom.ExtensionKey), - Content = item.ReadString(Models.Metadata.Rom.CRCKey), + Extension = item.ReadString(Serialization.Models.Metadata.Rom.ExtensionKey), + Content = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), }; return fileRomCRC; } diff --git a/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs b/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs index 7dc9a331..d4e102ea 100644 --- a/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/OfflineList.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.OfflineList; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.OfflineList; namespace SabreTools.Serialization.CrossModel { - public partial class OfflineList : IModelSerializer + public partial class OfflineList : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(Dat? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(Dat? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; if (item?.Games?.Game != null && item.Games.Game.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(item.Games.Game, ConvertMachineToInternalModel); } @@ -27,66 +27,66 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Dat item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(Dat item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.SchemaLocationKey] = item.NoNamespaceSchemaLocation, + [Serialization.Models.Metadata.Header.SchemaLocationKey] = item.NoNamespaceSchemaLocation, }; if (item.Configuration != null) { - header[Models.Metadata.Header.NameKey] = item.Configuration.DatName; - header[Models.Metadata.Header.ImFolderKey] = item.Configuration.ImFolder; - header[Models.Metadata.Header.DatVersionKey] = item.Configuration.DatVersion; - header[Models.Metadata.Header.SystemKey] = item.Configuration.System; - header[Models.Metadata.Header.ScreenshotsWidthKey] = item.Configuration.ScreenshotsWidth; - header[Models.Metadata.Header.ScreenshotsHeightKey] = item.Configuration.ScreenshotsHeight; - header[Models.Metadata.Header.InfosKey] = item.Configuration.Infos; - header[Models.Metadata.Header.CanOpenKey] = item.Configuration.CanOpen; - header[Models.Metadata.Header.NewDatKey] = item.Configuration.NewDat; - header[Models.Metadata.Header.SearchKey] = item.Configuration.Search; - header[Models.Metadata.Header.RomTitleKey] = item.Configuration.RomTitle; + header[Serialization.Models.Metadata.Header.NameKey] = item.Configuration.DatName; + header[Serialization.Models.Metadata.Header.ImFolderKey] = item.Configuration.ImFolder; + header[Serialization.Models.Metadata.Header.DatVersionKey] = item.Configuration.DatVersion; + header[Serialization.Models.Metadata.Header.SystemKey] = item.Configuration.System; + header[Serialization.Models.Metadata.Header.ScreenshotsWidthKey] = item.Configuration.ScreenshotsWidth; + header[Serialization.Models.Metadata.Header.ScreenshotsHeightKey] = item.Configuration.ScreenshotsHeight; + header[Serialization.Models.Metadata.Header.InfosKey] = item.Configuration.Infos; + header[Serialization.Models.Metadata.Header.CanOpenKey] = item.Configuration.CanOpen; + header[Serialization.Models.Metadata.Header.NewDatKey] = item.Configuration.NewDat; + header[Serialization.Models.Metadata.Header.SearchKey] = item.Configuration.Search; + header[Serialization.Models.Metadata.Header.RomTitleKey] = item.Configuration.RomTitle; } if (item.GUI != null) { - header[Models.Metadata.Header.ImagesKey] = item.GUI.Images; + header[Serialization.Models.Metadata.Header.ImagesKey] = item.GUI.Images; } return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Game item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Game item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.ImageNumberKey] = item.ImageNumber, - [Models.Metadata.Machine.ReleaseNumberKey] = item.ReleaseNumber, - [Models.Metadata.Machine.NameKey] = item.Title, - [Models.Metadata.Machine.SaveTypeKey] = item.SaveType, - [Models.Metadata.Machine.PublisherKey] = item.Publisher, - [Models.Metadata.Machine.LocationKey] = item.Location, - [Models.Metadata.Machine.SourceRomKey] = item.SourceRom, - [Models.Metadata.Machine.LanguageKey] = item.Language, - [Models.Metadata.Machine.Im1CRCKey] = item.Im1CRC, - [Models.Metadata.Machine.Im2CRCKey] = item.Im2CRC, - [Models.Metadata.Machine.CommentKey] = item.Comment, - [Models.Metadata.Machine.DuplicateIDKey] = item.DuplicateID, + [Serialization.Models.Metadata.Machine.ImageNumberKey] = item.ImageNumber, + [Serialization.Models.Metadata.Machine.ReleaseNumberKey] = item.ReleaseNumber, + [Serialization.Models.Metadata.Machine.NameKey] = item.Title, + [Serialization.Models.Metadata.Machine.SaveTypeKey] = item.SaveType, + [Serialization.Models.Metadata.Machine.PublisherKey] = item.Publisher, + [Serialization.Models.Metadata.Machine.LocationKey] = item.Location, + [Serialization.Models.Metadata.Machine.SourceRomKey] = item.SourceRom, + [Serialization.Models.Metadata.Machine.LanguageKey] = item.Language, + [Serialization.Models.Metadata.Machine.Im1CRCKey] = item.Im1CRC, + [Serialization.Models.Metadata.Machine.Im2CRCKey] = item.Im2CRC, + [Serialization.Models.Metadata.Machine.CommentKey] = item.Comment, + [Serialization.Models.Metadata.Machine.DuplicateIDKey] = item.DuplicateID, }; if (item.Files?.RomCRC != null && item.Files.RomCRC.Length > 0) { - machine[Models.Metadata.Machine.RomKey] + machine[Serialization.Models.Metadata.Machine.RomKey] = Array.ConvertAll(item.Files.RomCRC, romCRC => { var rom = ConvertToInternalModel(romCRC); - rom[Models.Metadata.Rom.SizeKey] = item.RomSize; + rom[Serialization.Models.Metadata.Rom.SizeKey] = item.RomSize; return rom; }); } @@ -95,14 +95,14 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(FileRomCRC item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(FileRomCRC item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.ExtensionKey] = item.Extension, - [Models.Metadata.Rom.CRCKey] = item.Content, + [Serialization.Models.Metadata.Rom.ExtensionKey] = item.Extension, + [Serialization.Models.Metadata.Rom.CRCKey] = item.Content, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs b/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs index f18e8af7..afb77639 100644 --- a/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/OpenMSX.Deserializer.cs @@ -1,21 +1,21 @@ using System; -using SabreTools.Models.OpenMSX; +using SabreTools.Serialization.Models.OpenMSX; using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.CrossModel { - public partial class OpenMSX : IModelSerializer + public partial class OpenMSX : IModelSerializer { /// - public SoftwareDb? Deserialize(Models.Metadata.MetadataFile? obj) + public SoftwareDb? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); var softwareDb = header != null ? ConvertHeaderFromInternalModel(header) : new SoftwareDb(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) softwareDb.Software = Array.ConvertAll(machines, ConvertMachineFromInternalModel); @@ -23,33 +23,33 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static SoftwareDb ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static SoftwareDb ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { var softwareDb = new SoftwareDb { - Timestamp = item.ReadString(Models.Metadata.Header.TimestampKey), + Timestamp = item.ReadString(Serialization.Models.Metadata.Header.TimestampKey), }; return softwareDb; } /// - /// Convert from to + /// Convert from to /// - private static Software ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Software ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { var game = new Software { - Title = item.ReadString(Models.Metadata.Machine.NameKey), - GenMSXID = item.ReadString(Models.Metadata.Machine.GenMSXIDKey), - System = item.ReadString(Models.Metadata.Machine.SystemKey), - Company = item.ReadString(Models.Metadata.Machine.CompanyKey), - Year = item.ReadString(Models.Metadata.Machine.YearKey), - Country = item.ReadString(Models.Metadata.Machine.CountryKey), + Title = item.ReadString(Serialization.Models.Metadata.Machine.NameKey), + GenMSXID = item.ReadString(Serialization.Models.Metadata.Machine.GenMSXIDKey), + System = item.ReadString(Serialization.Models.Metadata.Machine.SystemKey), + Company = item.ReadString(Serialization.Models.Metadata.Machine.CompanyKey), + Year = item.ReadString(Serialization.Models.Metadata.Machine.YearKey), + Country = item.ReadString(Serialization.Models.Metadata.Machine.CountryKey), }; - var dumps = item.Read(Models.Metadata.Machine.DumpKey); + var dumps = item.Read(Serialization.Models.Metadata.Machine.DumpKey); if (dumps != null && dumps.Length > 0) game.Dump = Array.ConvertAll(dumps, ConvertFromInternalModel); @@ -57,25 +57,25 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Dump ConvertFromInternalModel(Models.Metadata.Dump item) + private static Dump ConvertFromInternalModel(Serialization.Models.Metadata.Dump item) { var dump = new Dump(); - var original = item.Read(Models.Metadata.Dump.OriginalKey); + var original = item.Read(Serialization.Models.Metadata.Dump.OriginalKey); if (original != null) dump.Original = ConvertFromInternalModel(original); - var rom = item.Read(Models.Metadata.Dump.RomKey); + var rom = item.Read(Serialization.Models.Metadata.Dump.RomKey); if (rom != null) dump.Rom = ConvertRomFromInternalModel(rom); - var megaRom = item.Read(Models.Metadata.Dump.MegaRomKey); + var megaRom = item.Read(Serialization.Models.Metadata.Dump.MegaRomKey); if (megaRom != null) dump.Rom = ConvertMegaRomFromInternalModel(megaRom); - var sccPlusCart = item.Read(Models.Metadata.Dump.SCCPlusCartKey); + var sccPlusCart = item.Read(Serialization.Models.Metadata.Dump.SCCPlusCartKey); if (sccPlusCart != null) dump.Rom = ConvertSCCPlusCartFromInternalModel(sccPlusCart); @@ -83,59 +83,59 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static MegaRom ConvertMegaRomFromInternalModel(Models.Metadata.Rom item) + private static MegaRom ConvertMegaRomFromInternalModel(Serialization.Models.Metadata.Rom item) { var megaRom = new MegaRom { - Start = item.ReadString(Models.Metadata.Rom.StartKey), - Type = item.ReadString(Models.Metadata.Rom.OpenMSXType), - Hash = item.ReadString(Models.Metadata.Rom.SHA1Key), - Remark = item.ReadString(Models.Metadata.Rom.RemarkKey), + Start = item.ReadString(Serialization.Models.Metadata.Rom.StartKey), + Type = item.ReadString(Serialization.Models.Metadata.Rom.OpenMSXType), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + Remark = item.ReadString(Serialization.Models.Metadata.Rom.RemarkKey), }; return megaRom; } /// - /// Convert from to + /// Convert from to /// - private static Original ConvertFromInternalModel(Models.Metadata.Original item) + private static Original ConvertFromInternalModel(Serialization.Models.Metadata.Original item) { var original = new Original { - Value = item.ReadString(Models.Metadata.Original.ValueKey), - Content = item.ReadString(Models.Metadata.Original.ContentKey), + Value = item.ReadString(Serialization.Models.Metadata.Original.ValueKey), + Content = item.ReadString(Serialization.Models.Metadata.Original.ContentKey), }; return original; } /// - /// Convert from to + /// Convert from to /// - private static Rom ConvertRomFromInternalModel(Models.Metadata.Rom item) + private static Rom ConvertRomFromInternalModel(Serialization.Models.Metadata.Rom item) { var rom = new Rom { - Start = item.ReadString(Models.Metadata.Rom.StartKey), - Type = item.ReadString(Models.Metadata.Rom.OpenMSXType), - Hash = item.ReadString(Models.Metadata.Rom.SHA1Key), - Remark = item.ReadString(Models.Metadata.Rom.RemarkKey), + Start = item.ReadString(Serialization.Models.Metadata.Rom.StartKey), + Type = item.ReadString(Serialization.Models.Metadata.Rom.OpenMSXType), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + Remark = item.ReadString(Serialization.Models.Metadata.Rom.RemarkKey), }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static SCCPlusCart ConvertSCCPlusCartFromInternalModel(Models.Metadata.Rom item) + private static SCCPlusCart ConvertSCCPlusCartFromInternalModel(Serialization.Models.Metadata.Rom item) { var sccPlusCart = new SCCPlusCart { - Start = item.ReadString(Models.Metadata.Rom.StartKey), - Type = item.ReadString(Models.Metadata.Rom.OpenMSXType), - Hash = item.ReadString(Models.Metadata.Rom.SHA1Key), - Remark = item.ReadString(Models.Metadata.Rom.RemarkKey), + Start = item.ReadString(Serialization.Models.Metadata.Rom.StartKey), + Type = item.ReadString(Serialization.Models.Metadata.Rom.OpenMSXType), + Hash = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + Remark = item.ReadString(Serialization.Models.Metadata.Rom.RemarkKey), }; return sccPlusCart; } diff --git a/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs b/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs index ddeec8d2..319b49b9 100644 --- a/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/OpenMSX.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.OpenMSX; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.OpenMSX; namespace SabreTools.Serialization.CrossModel { - public partial class OpenMSX : IModelSerializer + public partial class OpenMSX : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(SoftwareDb? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(SoftwareDb? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; if (item?.Software != null && item.Software.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(item.Software, ConvertMachineToInternalModel); } @@ -27,35 +27,35 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - public static Models.Metadata.Header ConvertHeaderToInternalModel(SoftwareDb item) + public static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(SoftwareDb item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.TimestampKey] = item.Timestamp, + [Serialization.Models.Metadata.Header.TimestampKey] = item.Timestamp, }; return header; } /// - /// Convert from to + /// Convert from to /// - public static Models.Metadata.Machine ConvertMachineToInternalModel(Software item) + public static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Software item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = item.Title, - [Models.Metadata.Machine.GenMSXIDKey] = item.GenMSXID, - [Models.Metadata.Machine.SystemKey] = item.System, - [Models.Metadata.Machine.CompanyKey] = item.Company, - [Models.Metadata.Machine.YearKey] = item.Year, - [Models.Metadata.Machine.CountryKey] = item.Country, + [Serialization.Models.Metadata.Machine.NameKey] = item.Title, + [Serialization.Models.Metadata.Machine.GenMSXIDKey] = item.GenMSXID, + [Serialization.Models.Metadata.Machine.SystemKey] = item.System, + [Serialization.Models.Metadata.Machine.CompanyKey] = item.Company, + [Serialization.Models.Metadata.Machine.YearKey] = item.Year, + [Serialization.Models.Metadata.Machine.CountryKey] = item.Country, }; if (item.Dump != null && item.Dump.Length > 0) { - machine[Models.Metadata.Machine.DumpKey] + machine[Serialization.Models.Metadata.Machine.DumpKey] = Array.ConvertAll(item.Dump, ConvertToInternalModel); } @@ -63,29 +63,29 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - public static Models.Metadata.Dump ConvertToInternalModel(Dump item) + public static Serialization.Models.Metadata.Dump ConvertToInternalModel(Dump item) { - var dump = new Models.Metadata.Dump(); + var dump = new Serialization.Models.Metadata.Dump(); if (item.Original != null) - dump[Models.Metadata.Dump.OriginalKey] = ConvertToInternalModel(item.Original); + dump[Serialization.Models.Metadata.Dump.OriginalKey] = ConvertToInternalModel(item.Original); if (item.Rom != null) { switch (item.Rom) { case Rom rom: - dump[Models.Metadata.Dump.RomKey] = ConvertToInternalModel(rom); + dump[Serialization.Models.Metadata.Dump.RomKey] = ConvertToInternalModel(rom); break; case MegaRom megaRom: - dump[Models.Metadata.Dump.MegaRomKey] = ConvertToInternalModel(megaRom); + dump[Serialization.Models.Metadata.Dump.MegaRomKey] = ConvertToInternalModel(megaRom); break; case SCCPlusCart sccPlusCart: - dump[Models.Metadata.Dump.SCCPlusCartKey] = ConvertToInternalModel(sccPlusCart); + dump[Serialization.Models.Metadata.Dump.SCCPlusCartKey] = ConvertToInternalModel(sccPlusCart); break; } } @@ -94,29 +94,29 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - public static Models.Metadata.Original ConvertToInternalModel(Original item) + public static Serialization.Models.Metadata.Original ConvertToInternalModel(Original item) { - var original = new Models.Metadata.Original + var original = new Serialization.Models.Metadata.Original { - [Models.Metadata.Original.ValueKey] = item.Value, - [Models.Metadata.Original.ContentKey] = item.Content, + [Serialization.Models.Metadata.Original.ValueKey] = item.Value, + [Serialization.Models.Metadata.Original.ContentKey] = item.Content, }; return original; } /// - /// Convert from to + /// Convert from to /// - public static Models.Metadata.Rom ConvertToInternalModel(RomBase item) + public static Serialization.Models.Metadata.Rom ConvertToInternalModel(RomBase item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.StartKey] = item.Start, - [Models.Metadata.Rom.OpenMSXType] = item.Type, - [Models.Metadata.Rom.SHA1Key] = item.Hash, - [Models.Metadata.Rom.RemarkKey] = item.Remark, + [Serialization.Models.Metadata.Rom.StartKey] = item.Start, + [Serialization.Models.Metadata.Rom.OpenMSXType] = item.Type, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.Hash, + [Serialization.Models.Metadata.Rom.RemarkKey] = item.Remark, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs b/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs index ab7ca394..3b1bd2e3 100644 --- a/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/RomCenter.Deserializer.cs @@ -1,22 +1,22 @@ using System; using System.Collections.Generic; -using SabreTools.Models.RomCenter; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.RomCenter; namespace SabreTools.Serialization.CrossModel { - public partial class RomCenter : IModelSerializer + public partial class RomCenter : IModelSerializer { /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj) + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); var metadataFile = header != null ? ConvertHeaderFromInternalModel(header) : new MetadataFile(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); var items = new List(); foreach (var machine in machines ?? []) { @@ -28,52 +28,52 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static MetadataFile ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static MetadataFile ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { var metadataFile = new MetadataFile(); - if (item.ContainsKey(Models.Metadata.Header.AuthorKey) - || item.ContainsKey(Models.Metadata.Header.VersionKey) - || item.ContainsKey(Models.Metadata.Header.EmailKey) - || item.ContainsKey(Models.Metadata.Header.HomepageKey) - || item.ContainsKey(Models.Metadata.Header.UrlKey) - || item.ContainsKey(Models.Metadata.Header.DateKey) - || item.ContainsKey(Models.Metadata.Header.CommentKey)) + if (item.ContainsKey(Serialization.Models.Metadata.Header.AuthorKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.VersionKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.EmailKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.HomepageKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.UrlKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.DateKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.CommentKey)) { metadataFile.Credits = new Credits { - Author = item.ReadString(Models.Metadata.Header.AuthorKey), - Version = item.ReadString(Models.Metadata.Header.VersionKey), - Email = item.ReadString(Models.Metadata.Header.EmailKey), - Homepage = item.ReadString(Models.Metadata.Header.HomepageKey), - Url = item.ReadString(Models.Metadata.Header.UrlKey), - Date = item.ReadString(Models.Metadata.Header.DateKey), - Comment = item.ReadString(Models.Metadata.Header.CommentKey), + Author = item.ReadString(Serialization.Models.Metadata.Header.AuthorKey), + Version = item.ReadString(Serialization.Models.Metadata.Header.VersionKey), + Email = item.ReadString(Serialization.Models.Metadata.Header.EmailKey), + Homepage = item.ReadString(Serialization.Models.Metadata.Header.HomepageKey), + Url = item.ReadString(Serialization.Models.Metadata.Header.UrlKey), + Date = item.ReadString(Serialization.Models.Metadata.Header.DateKey), + Comment = item.ReadString(Serialization.Models.Metadata.Header.CommentKey), }; } - if (item.ContainsKey(Models.Metadata.Header.DatVersionKey) - || item.ContainsKey(Models.Metadata.Header.PluginKey) - || item.ContainsKey(Models.Metadata.Header.ForceMergingKey)) + if (item.ContainsKey(Serialization.Models.Metadata.Header.DatVersionKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.PluginKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.ForceMergingKey)) { metadataFile.Dat = new Dat { - Version = item.ReadString(Models.Metadata.Header.DatVersionKey), - Plugin = item.ReadString(Models.Metadata.Header.PluginKey), - Split = item.ReadString(Models.Metadata.Header.ForceMergingKey) == "split" ? "yes" : "no", - Merge = item.ReadString(Models.Metadata.Header.ForceMergingKey) == "merge" ? "yes" : "no", + Version = item.ReadString(Serialization.Models.Metadata.Header.DatVersionKey), + Plugin = item.ReadString(Serialization.Models.Metadata.Header.PluginKey), + Split = item.ReadString(Serialization.Models.Metadata.Header.ForceMergingKey) == "split" ? "yes" : "no", + Merge = item.ReadString(Serialization.Models.Metadata.Header.ForceMergingKey) == "merge" ? "yes" : "no", }; } - if (item.ContainsKey(Models.Metadata.Header.RefNameKey) - || item.ContainsKey(Models.Metadata.Header.EmulatorVersionKey)) + if (item.ContainsKey(Serialization.Models.Metadata.Header.RefNameKey) + || item.ContainsKey(Serialization.Models.Metadata.Header.EmulatorVersionKey)) { metadataFile.Emulator = new Emulator { - RefName = item.ReadString(Models.Metadata.Header.RefNameKey), - Version = item.ReadString(Models.Metadata.Header.EmulatorVersionKey), + RefName = item.ReadString(Serialization.Models.Metadata.Header.RefNameKey), + Version = item.ReadString(Serialization.Models.Metadata.Header.EmulatorVersionKey), }; } @@ -81,11 +81,11 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to an array of + /// Convert from to an array of /// - private static Rom[] ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Rom[] ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms == null) return []; @@ -93,21 +93,21 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Rom ConvertFromInternalModel(Models.Metadata.Rom item, Models.Metadata.Machine parent) + private static Rom ConvertFromInternalModel(Serialization.Models.Metadata.Rom item, Serialization.Models.Metadata.Machine parent) { var row = new Rom { - ParentName = parent.ReadString(Models.Metadata.Machine.CloneOfKey), - //ParentDescription = parent.ReadString(Models.Metadata.Machine.ParentDescriptionKey), // This is unmappable - GameName = parent.ReadString(Models.Metadata.Machine.NameKey), - GameDescription = parent.ReadString(Models.Metadata.Machine.DescriptionKey), - RomName = item.ReadString(Models.Metadata.Rom.NameKey), - RomCRC = item.ReadString(Models.Metadata.Rom.CRCKey), - RomSize = item.ReadString(Models.Metadata.Rom.SizeKey), - RomOf = parent.ReadString(Models.Metadata.Machine.RomOfKey), - MergeName = item.ReadString(Models.Metadata.Rom.MergeKey), + ParentName = parent.ReadString(Serialization.Models.Metadata.Machine.CloneOfKey), + //ParentDescription = parent.ReadString(Serialization.Models.Metadata.Machine.ParentDescriptionKey), // This is unmappable + GameName = parent.ReadString(Serialization.Models.Metadata.Machine.NameKey), + GameDescription = parent.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey), + RomName = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + RomCRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + RomSize = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + RomOf = parent.ReadString(Serialization.Models.Metadata.Machine.RomOfKey), + MergeName = item.ReadString(Serialization.Models.Metadata.Rom.MergeKey), }; return row; } diff --git a/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs b/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs index 196aacb2..35885201 100644 --- a/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/RomCenter.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.RomCenter; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.RomCenter; namespace SabreTools.Serialization.CrossModel { - public partial class RomCenter : IModelSerializer + public partial class RomCenter : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj), }; if (obj?.Games?.Rom != null && obj.Games.Rom.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(obj.Games.Rom, ConvertMachineToInternalModel); } @@ -27,72 +27,72 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(MetadataFile item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(MetadataFile item) { - var header = new Models.Metadata.Header(); + var header = new Serialization.Models.Metadata.Header(); if (item.Credits != null) { - header[Models.Metadata.Header.AuthorKey] = item.Credits.Author; - header[Models.Metadata.Header.VersionKey] = item.Credits.Version; - header[Models.Metadata.Header.EmailKey] = item.Credits.Email; - header[Models.Metadata.Header.HomepageKey] = item.Credits.Homepage; - header[Models.Metadata.Header.UrlKey] = item.Credits.Url; - header[Models.Metadata.Header.DateKey] = item.Credits.Date; - header[Models.Metadata.Header.CommentKey] = item.Credits.Comment; + header[Serialization.Models.Metadata.Header.AuthorKey] = item.Credits.Author; + header[Serialization.Models.Metadata.Header.VersionKey] = item.Credits.Version; + header[Serialization.Models.Metadata.Header.EmailKey] = item.Credits.Email; + header[Serialization.Models.Metadata.Header.HomepageKey] = item.Credits.Homepage; + header[Serialization.Models.Metadata.Header.UrlKey] = item.Credits.Url; + header[Serialization.Models.Metadata.Header.DateKey] = item.Credits.Date; + header[Serialization.Models.Metadata.Header.CommentKey] = item.Credits.Comment; } if (item.Dat != null) { - header[Models.Metadata.Header.DatVersionKey] = item.Dat.Version; - header[Models.Metadata.Header.PluginKey] = item.Dat.Plugin; + header[Serialization.Models.Metadata.Header.DatVersionKey] = item.Dat.Version; + header[Serialization.Models.Metadata.Header.PluginKey] = item.Dat.Plugin; if (item.Dat.Split == "yes" || item.Dat.Split == "1") - header[Models.Metadata.Header.ForceMergingKey] = "split"; + header[Serialization.Models.Metadata.Header.ForceMergingKey] = "split"; else if (item.Dat.Merge == "yes" || item.Dat.Merge == "1") - header[Models.Metadata.Header.ForceMergingKey] = "merge"; + header[Serialization.Models.Metadata.Header.ForceMergingKey] = "merge"; } if (item.Emulator != null) { - header[Models.Metadata.Header.RefNameKey] = item.Emulator.RefName; - header[Models.Metadata.Header.EmulatorVersionKey] = item.Emulator.Version; + header[Serialization.Models.Metadata.Header.RefNameKey] = item.Emulator.RefName; + header[Serialization.Models.Metadata.Header.EmulatorVersionKey] = item.Emulator.Version; } return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Rom item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Rom item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.RomOfKey] = item.RomOf, - [Models.Metadata.Machine.CloneOfKey] = item.ParentName, - //[Models.Metadata.Machine.ParentDescriptionKey] = item.ParentDescription, // This is unmappable - [Models.Metadata.Machine.NameKey] = item.GameName, - [Models.Metadata.Machine.DescriptionKey] = item.GameDescription, - [Models.Metadata.Machine.RomKey] = new Models.Metadata.Rom[] { ConvertToInternalModel(item) }, + [Serialization.Models.Metadata.Machine.RomOfKey] = item.RomOf, + [Serialization.Models.Metadata.Machine.CloneOfKey] = item.ParentName, + //[Serialization.Models.Metadata.Machine.ParentDescriptionKey] = item.ParentDescription, // This is unmappable + [Serialization.Models.Metadata.Machine.NameKey] = item.GameName, + [Serialization.Models.Metadata.Machine.DescriptionKey] = item.GameDescription, + [Serialization.Models.Metadata.Machine.RomKey] = new Serialization.Models.Metadata.Rom[] { ConvertToInternalModel(item) }, }; return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(Rom item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(Rom item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.RomName, - [Models.Metadata.Rom.CRCKey] = item.RomCRC, - [Models.Metadata.Rom.SizeKey] = item.RomSize, - [Models.Metadata.Rom.MergeKey] = item.MergeName, + [Serialization.Models.Metadata.Rom.NameKey] = item.RomName, + [Serialization.Models.Metadata.Rom.CRCKey] = item.RomCRC, + [Serialization.Models.Metadata.Rom.SizeKey] = item.RomSize, + [Serialization.Models.Metadata.Rom.MergeKey] = item.MergeName, }; return rom; } diff --git a/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs b/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs index b0eb4c16..856300e3 100644 --- a/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/SeparatedValue.Deserializer.cs @@ -1,22 +1,22 @@ using System; using System.Collections.Generic; -using SabreTools.Models.SeparatedValue; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.SeparatedValue; namespace SabreTools.Serialization.CrossModel { - public partial class SeparatedValue : IModelSerializer + public partial class SeparatedValue : IModelSerializer { /// - public MetadataFile? Deserialize(Models.Metadata.MetadataFile? obj) + public MetadataFile? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); var metadataFile = header != null ? ConvertHeaderFromInternalModel(header) : new MetadataFile(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); var items = new List(); foreach (var machine in machines ?? []) { @@ -28,39 +28,39 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static MetadataFile ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static MetadataFile ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { var metadataFile = new MetadataFile { - Header = item.ReadStringArray(Models.Metadata.Header.HeaderKey), + Header = item.ReadStringArray(Serialization.Models.Metadata.Header.HeaderKey), }; return metadataFile; } /// - /// Convert from to an array of + /// Convert from to an array of /// - private static Row[] ConvertMachineFromInternalModel(Models.Metadata.Machine item, Models.Metadata.Header? header) + private static Row[] ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item, Serialization.Models.Metadata.Header? header) { var rowItems = new List(); - var roms = item.Read(Models.Metadata.Machine.RomKey); + var roms = item.Read(Serialization.Models.Metadata.Machine.RomKey); if (roms != null && roms.Length > 0) { rowItems.AddRange( Array.ConvertAll(roms, r => ConvertFromInternalModel(r, item, header))); } - var disks = item.Read(Models.Metadata.Machine.DiskKey); + var disks = item.Read(Serialization.Models.Metadata.Machine.DiskKey); if (disks != null && disks.Length > 0) { rowItems.AddRange( Array.ConvertAll(disks, d => ConvertFromInternalModel(d, item, header))); } - var media = item.Read(Models.Metadata.Machine.MediaKey); + var media = item.Read(Serialization.Models.Metadata.Machine.MediaKey); if (media != null && media.Length > 0) { rowItems.AddRange( @@ -71,84 +71,84 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Row ConvertFromInternalModel(Models.Metadata.Disk item, Models.Metadata.Machine parent, Models.Metadata.Header? header) + private static Row ConvertFromInternalModel(Serialization.Models.Metadata.Disk item, Serialization.Models.Metadata.Machine parent, Serialization.Models.Metadata.Header? header) { var row = new Row { FileName = header?.ReadString("FILENAME"), // TODO: Make this an actual key to retrieve - InternalName = header?.ReadString(Models.Metadata.Header.NameKey), - Description = header?.ReadString(Models.Metadata.Header.DescriptionKey), - GameName = parent.ReadString(Models.Metadata.Machine.NameKey), - GameDescription = parent.ReadString(Models.Metadata.Machine.DescriptionKey), + InternalName = header?.ReadString(Serialization.Models.Metadata.Header.NameKey), + Description = header?.ReadString(Serialization.Models.Metadata.Header.DescriptionKey), + GameName = parent.ReadString(Serialization.Models.Metadata.Machine.NameKey), + GameDescription = parent.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey), Type = "disk", RomName = null, - DiskName = item.ReadString(Models.Metadata.Disk.NameKey), + DiskName = item.ReadString(Serialization.Models.Metadata.Disk.NameKey), Size = null, CRC = null, - MD5 = item.ReadString(Models.Metadata.Disk.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Disk.SHA1Key), + MD5 = item.ReadString(Serialization.Models.Metadata.Disk.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Disk.SHA1Key), SHA256 = null, SHA384 = null, SHA512 = null, SpamSum = null, - Status = item.ReadString(Models.Metadata.Disk.StatusKey), + Status = item.ReadString(Serialization.Models.Metadata.Disk.StatusKey), }; return row; } /// - /// Convert from to + /// Convert from to /// - private static Row ConvertFromInternalModel(Models.Metadata.Media item, Models.Metadata.Machine parent, Models.Metadata.Header? header) + private static Row ConvertFromInternalModel(Serialization.Models.Metadata.Media item, Serialization.Models.Metadata.Machine parent, Serialization.Models.Metadata.Header? header) { var row = new Row { FileName = header?.ReadString("FILENAME"), // TODO: Make this an actual key to retrieve on an item -- OriginalFilename - InternalName = header?.ReadString(Models.Metadata.Header.NameKey), - Description = header?.ReadString(Models.Metadata.Header.DescriptionKey), - GameName = parent.ReadString(Models.Metadata.Machine.NameKey), - GameDescription = parent.ReadString(Models.Metadata.Machine.DescriptionKey), + InternalName = header?.ReadString(Serialization.Models.Metadata.Header.NameKey), + Description = header?.ReadString(Serialization.Models.Metadata.Header.DescriptionKey), + GameName = parent.ReadString(Serialization.Models.Metadata.Machine.NameKey), + GameDescription = parent.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey), Type = "media", RomName = null, - DiskName = item.ReadString(Models.Metadata.Media.NameKey), + DiskName = item.ReadString(Serialization.Models.Metadata.Media.NameKey), Size = null, CRC = null, - MD5 = item.ReadString(Models.Metadata.Media.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Media.SHA1Key), - SHA256 = item.ReadString(Models.Metadata.Media.SHA256Key), + MD5 = item.ReadString(Serialization.Models.Metadata.Media.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Media.SHA1Key), + SHA256 = item.ReadString(Serialization.Models.Metadata.Media.SHA256Key), SHA384 = null, SHA512 = null, - SpamSum = item.ReadString(Models.Metadata.Media.SpamSumKey), + SpamSum = item.ReadString(Serialization.Models.Metadata.Media.SpamSumKey), }; return row; } /// - /// Convert from to + /// Convert from to /// - private static Row ConvertFromInternalModel(Models.Metadata.Rom item, Models.Metadata.Machine parent, Models.Metadata.Header? header) + private static Row ConvertFromInternalModel(Serialization.Models.Metadata.Rom item, Serialization.Models.Metadata.Machine parent, Serialization.Models.Metadata.Header? header) { var row = new Row { FileName = header?.ReadString("FILENAME"), // TODO: Make this an actual key to retrieve - InternalName = header?.ReadString(Models.Metadata.Header.NameKey), - Description = header?.ReadString(Models.Metadata.Header.DescriptionKey), - GameName = parent.ReadString(Models.Metadata.Machine.NameKey), - GameDescription = parent.ReadString(Models.Metadata.Machine.DescriptionKey), + InternalName = header?.ReadString(Serialization.Models.Metadata.Header.NameKey), + Description = header?.ReadString(Serialization.Models.Metadata.Header.DescriptionKey), + GameName = parent.ReadString(Serialization.Models.Metadata.Machine.NameKey), + GameDescription = parent.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey), Type = "rom", - RomName = item.ReadString(Models.Metadata.Rom.NameKey), + RomName = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), DiskName = null, - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - CRC = item.ReadString(Models.Metadata.Rom.CRCKey), - MD5 = item.ReadString(Models.Metadata.Rom.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - SHA256 = item.ReadString(Models.Metadata.Rom.SHA256Key), - SHA384 = item.ReadString(Models.Metadata.Rom.SHA384Key), - SHA512 = item.ReadString(Models.Metadata.Rom.SHA512Key), - SpamSum = item.ReadString(Models.Metadata.Rom.SpamSumKey), - Status = item.ReadString(Models.Metadata.Rom.StatusKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + CRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Rom.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + SHA256 = item.ReadString(Serialization.Models.Metadata.Rom.SHA256Key), + SHA384 = item.ReadString(Serialization.Models.Metadata.Rom.SHA384Key), + SHA512 = item.ReadString(Serialization.Models.Metadata.Rom.SHA512Key), + SpamSum = item.ReadString(Serialization.Models.Metadata.Rom.SpamSumKey), + Status = item.ReadString(Serialization.Models.Metadata.Rom.StatusKey), }; return row; } diff --git a/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs b/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs index cbfd03a4..bbf51fdb 100644 --- a/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/SeparatedValue.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.SeparatedValue; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.SeparatedValue; namespace SabreTools.Serialization.CrossModel { - public partial class SeparatedValue : IModelSerializer + public partial class SeparatedValue : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) + public Serialization.Models.Metadata.MetadataFile? Serialize(MetadataFile? obj) { if (obj == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(obj), }; if (obj?.Row != null && obj.Row.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(obj.Row, ConvertMachineToInternalModel); } @@ -27,50 +27,50 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(MetadataFile item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(MetadataFile item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.HeaderKey] = item.Header, + [Serialization.Models.Metadata.Header.HeaderKey] = item.Header, }; if (item.Row != null && item.Row.Length > 0) { var first = item.Row[0]; header["FILENAME"] = first.FileName; // TODO: Make this an actual key to retrieve on an item -- OriginalFilename - header[Models.Metadata.Header.NameKey] = first.FileName; - header[Models.Metadata.Header.DescriptionKey] = first.Description; + header[Serialization.Models.Metadata.Header.NameKey] = first.FileName; + header[Serialization.Models.Metadata.Header.DescriptionKey] = first.Description; } return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Row item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Row item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = item.GameName, - [Models.Metadata.Machine.DescriptionKey] = item.GameDescription, + [Serialization.Models.Metadata.Machine.NameKey] = item.GameName, + [Serialization.Models.Metadata.Machine.DescriptionKey] = item.GameDescription, }; var datItem = ConvertToInternalModel(item); switch (datItem) { - case Models.Metadata.Disk disk: - machine[Models.Metadata.Machine.DiskKey] = new Models.Metadata.Disk[] { disk }; + case Serialization.Models.Metadata.Disk disk: + machine[Serialization.Models.Metadata.Machine.DiskKey] = new Serialization.Models.Metadata.Disk[] { disk }; break; - case Models.Metadata.Media media: - machine[Models.Metadata.Machine.MediaKey] = new Models.Metadata.Media[] { media }; + case Serialization.Models.Metadata.Media media: + machine[Serialization.Models.Metadata.Machine.MediaKey] = new Serialization.Models.Metadata.Media[] { media }; break; - case Models.Metadata.Rom rom: - machine[Models.Metadata.Machine.RomKey] = new Models.Metadata.Rom[] { rom }; + case Serialization.Models.Metadata.Rom rom: + machine[Serialization.Models.Metadata.Machine.RomKey] = new Serialization.Models.Metadata.Rom[] { rom }; break; } @@ -78,39 +78,39 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DatItem? ConvertToInternalModel(Row item) + private static Serialization.Models.Metadata.DatItem? ConvertToInternalModel(Row item) { return item.Type switch { - "disk" => new Models.Metadata.Disk + "disk" => new Serialization.Models.Metadata.Disk { - [Models.Metadata.Disk.NameKey] = item.DiskName, - [Models.Metadata.Disk.MD5Key] = item.MD5, - [Models.Metadata.Disk.SHA1Key] = item.SHA1, - [Models.Metadata.Disk.StatusKey] = item.Status, + [Serialization.Models.Metadata.Disk.NameKey] = item.DiskName, + [Serialization.Models.Metadata.Disk.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Disk.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Disk.StatusKey] = item.Status, }, - "media" => new Models.Metadata.Media + "media" => new Serialization.Models.Metadata.Media { - [Models.Metadata.Media.NameKey] = item.DiskName, - [Models.Metadata.Media.MD5Key] = item.MD5, - [Models.Metadata.Media.SHA1Key] = item.SHA1, - [Models.Metadata.Media.SHA256Key] = item.SHA256, - [Models.Metadata.Media.SpamSumKey] = item.SpamSum, + [Serialization.Models.Metadata.Media.NameKey] = item.DiskName, + [Serialization.Models.Metadata.Media.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Media.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Media.SHA256Key] = item.SHA256, + [Serialization.Models.Metadata.Media.SpamSumKey] = item.SpamSum, }, - "rom" => new Models.Metadata.Rom + "rom" => new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.RomName, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.CRCKey] = item.CRC, - [Models.Metadata.Rom.MD5Key] = item.MD5, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.SHA256Key] = item.SHA256, - [Models.Metadata.Rom.SHA384Key] = item.SHA384, - [Models.Metadata.Rom.SHA512Key] = item.SHA512, - [Models.Metadata.Rom.SpamSumKey] = item.SpamSum, - [Models.Metadata.Rom.StatusKey] = item.Status, + [Serialization.Models.Metadata.Rom.NameKey] = item.RomName, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC, + [Serialization.Models.Metadata.Rom.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.SHA256Key] = item.SHA256, + [Serialization.Models.Metadata.Rom.SHA384Key] = item.SHA384, + [Serialization.Models.Metadata.Rom.SHA512Key] = item.SHA512, + [Serialization.Models.Metadata.Rom.SpamSumKey] = item.SpamSum, + [Serialization.Models.Metadata.Rom.StatusKey] = item.Status, }, _ => null, }; diff --git a/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs b/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs index d0deffa4..ebbe6421 100644 --- a/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/SoftwareList.Deserializer.cs @@ -1,21 +1,21 @@ using System; -using SabreTools.Models.SoftwareList; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.SoftwareList; namespace SabreTools.Serialization.CrossModel { - public partial class SoftwareList : IModelSerializer + public partial class SoftwareList : IModelSerializer { /// - public Models.SoftwareList.SoftwareList? Deserialize(Models.Metadata.MetadataFile? obj) + public SabreTools.Serialization.Models.SoftwareList.SoftwareList? Deserialize(Serialization.Models.Metadata.MetadataFile? obj) { if (obj == null) return null; - var header = obj.Read(Models.Metadata.MetadataFile.HeaderKey); - var metadataFile = header != null ? ConvertHeaderFromInternalModel(header) : new Models.SoftwareList.SoftwareList(); + var header = obj.Read(Serialization.Models.Metadata.MetadataFile.HeaderKey); + var metadataFile = header != null ? ConvertHeaderFromInternalModel(header) : new SabreTools.Serialization.Models.SoftwareList.SoftwareList(); - var machines = obj.Read(Models.Metadata.MetadataFile.MachineKey); + var machines = obj.Read(Serialization.Models.Metadata.MetadataFile.MachineKey); if (machines != null && machines.Length > 0) metadataFile.Software = Array.ConvertAll(machines, ConvertMachineFromInternalModel); @@ -23,44 +23,44 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.SoftwareList.SoftwareList ConvertHeaderFromInternalModel(Models.Metadata.Header item) + private static SabreTools.Serialization.Models.SoftwareList.SoftwareList ConvertHeaderFromInternalModel(Serialization.Models.Metadata.Header item) { - var softwareList = new Models.SoftwareList.SoftwareList + var softwareList = new SabreTools.Serialization.Models.SoftwareList.SoftwareList { - Name = item.ReadString(Models.Metadata.Header.NameKey), - Description = item.ReadString(Models.Metadata.Header.DescriptionKey), - Notes = item.ReadString(Models.Metadata.Header.NotesKey), + Name = item.ReadString(Serialization.Models.Metadata.Header.NameKey), + Description = item.ReadString(Serialization.Models.Metadata.Header.DescriptionKey), + Notes = item.ReadString(Serialization.Models.Metadata.Header.NotesKey), }; return softwareList; } /// - /// Convert from to + /// Convert from to /// - private static Software ConvertMachineFromInternalModel(Models.Metadata.Machine item) + private static Software ConvertMachineFromInternalModel(Serialization.Models.Metadata.Machine item) { var software = new Software { - Name = item.ReadString(Models.Metadata.Machine.NameKey), - CloneOf = item.ReadString(Models.Metadata.Machine.CloneOfKey), - Supported = item.ReadString(Models.Metadata.Machine.SupportedKey), - Description = item.ReadString(Models.Metadata.Machine.DescriptionKey), - Year = item.ReadString(Models.Metadata.Machine.YearKey), - Publisher = item.ReadString(Models.Metadata.Machine.PublisherKey), - Notes = item.ReadString(Models.Metadata.Machine.NotesKey), + Name = item.ReadString(Serialization.Models.Metadata.Machine.NameKey), + CloneOf = item.ReadString(Serialization.Models.Metadata.Machine.CloneOfKey), + Supported = item.ReadString(Serialization.Models.Metadata.Machine.SupportedKey), + Description = item.ReadString(Serialization.Models.Metadata.Machine.DescriptionKey), + Year = item.ReadString(Serialization.Models.Metadata.Machine.YearKey), + Publisher = item.ReadString(Serialization.Models.Metadata.Machine.PublisherKey), + Notes = item.ReadString(Serialization.Models.Metadata.Machine.NotesKey), }; - var infos = item.Read(Models.Metadata.Machine.InfoKey); + var infos = item.Read(Serialization.Models.Metadata.Machine.InfoKey); if (infos != null && infos.Length > 0) software.Info = Array.ConvertAll(infos, ConvertFromInternalModel); - var sharedFeats = item.Read(Models.Metadata.Machine.SharedFeatKey); + var sharedFeats = item.Read(Serialization.Models.Metadata.Machine.SharedFeatKey); if (sharedFeats != null && sharedFeats.Length > 0) software.SharedFeat = Array.ConvertAll(sharedFeats, ConvertFromInternalModel); - var parts = item.Read(Models.Metadata.Machine.PartKey); + var parts = item.Read(Serialization.Models.Metadata.Machine.PartKey); if (parts != null && parts.Length > 0) software.Part = Array.ConvertAll(parts, ConvertFromInternalModel); @@ -68,19 +68,19 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static DataArea ConvertFromInternalModel(Models.Metadata.DataArea item) + private static DataArea ConvertFromInternalModel(Serialization.Models.Metadata.DataArea item) { var dataArea = new DataArea { - Name = item.ReadString(Models.Metadata.DataArea.NameKey), - Size = item.ReadString(Models.Metadata.DataArea.SizeKey), - Width = item.ReadString(Models.Metadata.DataArea.WidthKey), - Endianness = item.ReadString(Models.Metadata.DataArea.EndiannessKey), + Name = item.ReadString(Serialization.Models.Metadata.DataArea.NameKey), + Size = item.ReadString(Serialization.Models.Metadata.DataArea.SizeKey), + Width = item.ReadString(Serialization.Models.Metadata.DataArea.WidthKey), + Endianness = item.ReadString(Serialization.Models.Metadata.DataArea.EndiannessKey), }; - var roms = item.Read(Models.Metadata.DataArea.RomKey); + var roms = item.Read(Serialization.Models.Metadata.DataArea.RomKey); if (roms != null && roms.Length > 0) dataArea.Rom = Array.ConvertAll(roms, ConvertFromInternalModel); @@ -88,18 +88,18 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static DipSwitch ConvertFromInternalModel(Models.Metadata.DipSwitch item) + private static DipSwitch ConvertFromInternalModel(Serialization.Models.Metadata.DipSwitch item) { var dipSwitch = new DipSwitch { - Name = item.ReadString(Models.Metadata.DipSwitch.NameKey), - Tag = item.ReadString(Models.Metadata.DipSwitch.TagKey), - Mask = item.ReadString(Models.Metadata.DipSwitch.MaskKey), + Name = item.ReadString(Serialization.Models.Metadata.DipSwitch.NameKey), + Tag = item.ReadString(Serialization.Models.Metadata.DipSwitch.TagKey), + Mask = item.ReadString(Serialization.Models.Metadata.DipSwitch.MaskKey), }; - var dipValues = item.Read(Models.Metadata.DipSwitch.DipValueKey); + var dipValues = item.Read(Serialization.Models.Metadata.DipSwitch.DipValueKey); if (dipValues != null && dipValues.Length > 0) dipSwitch.DipValue = Array.ConvertAll(dipValues, ConvertFromInternalModel); @@ -107,46 +107,46 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static DipValue ConvertFromInternalModel(Models.Metadata.DipValue item) + private static DipValue ConvertFromInternalModel(Serialization.Models.Metadata.DipValue item) { var dipValue = new DipValue { - Name = item.ReadString(Models.Metadata.DipValue.NameKey), - Value = item.ReadString(Models.Metadata.DipValue.ValueKey), - Default = item.ReadString(Models.Metadata.DipValue.DefaultKey), + Name = item.ReadString(Serialization.Models.Metadata.DipValue.NameKey), + Value = item.ReadString(Serialization.Models.Metadata.DipValue.ValueKey), + Default = item.ReadString(Serialization.Models.Metadata.DipValue.DefaultKey), }; return dipValue; } /// - /// Convert from to + /// Convert from to /// - private static Disk ConvertFromInternalModel(Models.Metadata.Disk item) + private static Disk ConvertFromInternalModel(Serialization.Models.Metadata.Disk item) { var disk = new Disk { - Name = item.ReadString(Models.Metadata.Disk.NameKey), - MD5 = item.ReadString(Models.Metadata.Disk.MD5Key), - SHA1 = item.ReadString(Models.Metadata.Disk.SHA1Key), - Status = item.ReadString(Models.Metadata.Disk.StatusKey), - Writeable = item.ReadString(Models.Metadata.Disk.WritableKey), + Name = item.ReadString(Serialization.Models.Metadata.Disk.NameKey), + MD5 = item.ReadString(Serialization.Models.Metadata.Disk.MD5Key), + SHA1 = item.ReadString(Serialization.Models.Metadata.Disk.SHA1Key), + Status = item.ReadString(Serialization.Models.Metadata.Disk.StatusKey), + Writeable = item.ReadString(Serialization.Models.Metadata.Disk.WritableKey), }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static DiskArea ConvertFromInternalModel(Models.Metadata.DiskArea item) + private static DiskArea ConvertFromInternalModel(Serialization.Models.Metadata.DiskArea item) { var diskArea = new DiskArea { - Name = item.ReadString(Models.Metadata.DiskArea.NameKey), + Name = item.ReadString(Serialization.Models.Metadata.DiskArea.NameKey), }; - var disks = item.Read(Models.Metadata.DiskArea.DiskKey); + var disks = item.Read(Serialization.Models.Metadata.DiskArea.DiskKey); if (disks != null && disks.Length > 0) diskArea.Disk = Array.ConvertAll(disks, ConvertFromInternalModel); @@ -154,55 +154,55 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Feature ConvertFromInternalModel(Models.Metadata.Feature item) + private static Feature ConvertFromInternalModel(Serialization.Models.Metadata.Feature item) { var feature = new Feature { - Name = item.ReadString(Models.Metadata.Feature.NameKey), - Value = item.ReadString(Models.Metadata.Feature.ValueKey), + Name = item.ReadString(Serialization.Models.Metadata.Feature.NameKey), + Value = item.ReadString(Serialization.Models.Metadata.Feature.ValueKey), }; return feature; } /// - /// Convert from to + /// Convert from to /// - private static Info ConvertFromInternalModel(Models.Metadata.Info item) + private static Info ConvertFromInternalModel(Serialization.Models.Metadata.Info item) { var info = new Info { - Name = item.ReadString(Models.Metadata.Info.NameKey), - Value = item.ReadString(Models.Metadata.Info.ValueKey), + Name = item.ReadString(Serialization.Models.Metadata.Info.NameKey), + Value = item.ReadString(Serialization.Models.Metadata.Info.ValueKey), }; return info; } /// - /// Convert from to + /// Convert from to /// - private static Part ConvertFromInternalModel(Models.Metadata.Part item) + private static Part ConvertFromInternalModel(Serialization.Models.Metadata.Part item) { var part = new Part { - Name = item.ReadString(Models.Metadata.Part.NameKey), - Interface = item.ReadString(Models.Metadata.Part.InterfaceKey), + Name = item.ReadString(Serialization.Models.Metadata.Part.NameKey), + Interface = item.ReadString(Serialization.Models.Metadata.Part.InterfaceKey), }; - var features = item.Read(Models.Metadata.Part.FeatureKey); + var features = item.Read(Serialization.Models.Metadata.Part.FeatureKey); if (features != null && features.Length > 0) part.Feature = Array.ConvertAll(features, ConvertFromInternalModel); - var dataAreas = item.Read(Models.Metadata.Part.DataAreaKey); + var dataAreas = item.Read(Serialization.Models.Metadata.Part.DataAreaKey); if (dataAreas != null && dataAreas.Length > 0) part.DataArea = Array.ConvertAll(dataAreas, ConvertFromInternalModel); - var diskAreas = item.Read(Models.Metadata.Part.DiskAreaKey); + var diskAreas = item.Read(Serialization.Models.Metadata.Part.DiskAreaKey); if (diskAreas != null && diskAreas.Length > 0) part.DiskArea = Array.ConvertAll(diskAreas, ConvertFromInternalModel); - var dipSwitches = item.Read(Models.Metadata.Part.DipSwitchKey); + var dipSwitches = item.Read(Serialization.Models.Metadata.Part.DipSwitchKey); if (dipSwitches != null && dipSwitches.Length > 0) part.DipSwitch = Array.ConvertAll(dipSwitches, ConvertFromInternalModel); @@ -210,34 +210,34 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Rom ConvertFromInternalModel(Models.Metadata.Rom item) + private static Rom ConvertFromInternalModel(Serialization.Models.Metadata.Rom item) { var rom = new Rom { - Name = item.ReadString(Models.Metadata.Rom.NameKey), - Size = item.ReadString(Models.Metadata.Rom.SizeKey), - Length = item.ReadString(Models.Metadata.Rom.LengthKey), - CRC = item.ReadString(Models.Metadata.Rom.CRCKey), - SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key), - Offset = item.ReadString(Models.Metadata.Rom.OffsetKey), - Value = item.ReadString(Models.Metadata.Rom.ValueKey), - Status = item.ReadString(Models.Metadata.Rom.StatusKey), - LoadFlag = item.ReadString(Models.Metadata.Rom.LoadFlagKey), + Name = item.ReadString(Serialization.Models.Metadata.Rom.NameKey), + Size = item.ReadString(Serialization.Models.Metadata.Rom.SizeKey), + Length = item.ReadString(Serialization.Models.Metadata.Rom.LengthKey), + CRC = item.ReadString(Serialization.Models.Metadata.Rom.CRCKey), + SHA1 = item.ReadString(Serialization.Models.Metadata.Rom.SHA1Key), + Offset = item.ReadString(Serialization.Models.Metadata.Rom.OffsetKey), + Value = item.ReadString(Serialization.Models.Metadata.Rom.ValueKey), + Status = item.ReadString(Serialization.Models.Metadata.Rom.StatusKey), + LoadFlag = item.ReadString(Serialization.Models.Metadata.Rom.LoadFlagKey), }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static SharedFeat ConvertFromInternalModel(Models.Metadata.SharedFeat item) + private static SharedFeat ConvertFromInternalModel(Serialization.Models.Metadata.SharedFeat item) { var sharedFeat = new SharedFeat { - Name = item.ReadString(Models.Metadata.SharedFeat.NameKey), - Value = item.ReadString(Models.Metadata.SharedFeat.ValueKey), + Name = item.ReadString(Serialization.Models.Metadata.SharedFeat.NameKey), + Value = item.ReadString(Serialization.Models.Metadata.SharedFeat.ValueKey), }; return sharedFeat; } diff --git a/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs b/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs index 6fa528cd..b69eb7bd 100644 --- a/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs +++ b/SabreTools.Serialization/CrossModel/SoftwareList.Serializer.cs @@ -1,25 +1,25 @@ using System; -using SabreTools.Models.SoftwareList; using SabreTools.Serialization.Interfaces; +using SabreTools.Serialization.Models.SoftwareList; namespace SabreTools.Serialization.CrossModel { - public partial class SoftwareList : IModelSerializer + public partial class SoftwareList : IModelSerializer { /// - public Models.Metadata.MetadataFile? Serialize(Models.SoftwareList.SoftwareList? item) + public Serialization.Models.Metadata.MetadataFile? Serialize(SabreTools.Serialization.Models.SoftwareList.SoftwareList? item) { if (item == null) return null; - var metadataFile = new Models.Metadata.MetadataFile + var metadataFile = new Serialization.Models.Metadata.MetadataFile { - [Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), + [Serialization.Models.Metadata.MetadataFile.HeaderKey] = ConvertHeaderToInternalModel(item), }; if (item?.Software != null && item.Software.Length > 0) { - metadataFile[Models.Metadata.MetadataFile.MachineKey] + metadataFile[Serialization.Models.Metadata.MetadataFile.MachineKey] = Array.ConvertAll(item.Software, ConvertMachineToInternalModel); } @@ -27,211 +27,211 @@ namespace SabreTools.Serialization.CrossModel } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Header ConvertHeaderToInternalModel(Models.SoftwareList.SoftwareList item) + private static Serialization.Models.Metadata.Header ConvertHeaderToInternalModel(SabreTools.Serialization.Models.SoftwareList.SoftwareList item) { - var header = new Models.Metadata.Header + var header = new Serialization.Models.Metadata.Header { - [Models.Metadata.Header.NameKey] = item.Name, - [Models.Metadata.Header.DescriptionKey] = item.Description, - [Models.Metadata.Header.NotesKey] = item.Notes, + [Serialization.Models.Metadata.Header.NameKey] = item.Name, + [Serialization.Models.Metadata.Header.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Header.NotesKey] = item.Notes, }; return header; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Machine ConvertMachineToInternalModel(Software item) + private static Serialization.Models.Metadata.Machine ConvertMachineToInternalModel(Software item) { - var machine = new Models.Metadata.Machine + var machine = new Serialization.Models.Metadata.Machine { - [Models.Metadata.Machine.NameKey] = item.Name, - [Models.Metadata.Machine.CloneOfKey] = item.CloneOf, - [Models.Metadata.Machine.SupportedKey] = item.Supported, - [Models.Metadata.Machine.DescriptionKey] = item.Description, - [Models.Metadata.Machine.YearKey] = item.Year, - [Models.Metadata.Machine.PublisherKey] = item.Publisher, - [Models.Metadata.Machine.NotesKey] = item.Notes, + [Serialization.Models.Metadata.Machine.NameKey] = item.Name, + [Serialization.Models.Metadata.Machine.CloneOfKey] = item.CloneOf, + [Serialization.Models.Metadata.Machine.SupportedKey] = item.Supported, + [Serialization.Models.Metadata.Machine.DescriptionKey] = item.Description, + [Serialization.Models.Metadata.Machine.YearKey] = item.Year, + [Serialization.Models.Metadata.Machine.PublisherKey] = item.Publisher, + [Serialization.Models.Metadata.Machine.NotesKey] = item.Notes, }; if (item.Info != null && item.Info.Length > 0) - machine[Models.Metadata.Machine.InfoKey] = Array.ConvertAll(item.Info, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.InfoKey] = Array.ConvertAll(item.Info, ConvertToInternalModel); if (item.SharedFeat != null && item.SharedFeat.Length > 0) - machine[Models.Metadata.Machine.SharedFeatKey] = Array.ConvertAll(item.SharedFeat, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.SharedFeatKey] = Array.ConvertAll(item.SharedFeat, ConvertToInternalModel); if (item.Part != null && item.Part.Length > 0) - machine[Models.Metadata.Machine.PartKey] = Array.ConvertAll(item.Part, ConvertToInternalModel); + machine[Serialization.Models.Metadata.Machine.PartKey] = Array.ConvertAll(item.Part, ConvertToInternalModel); return machine; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DataArea ConvertToInternalModel(DataArea item) + private static Serialization.Models.Metadata.DataArea ConvertToInternalModel(DataArea item) { - var dataArea = new Models.Metadata.DataArea + var dataArea = new Serialization.Models.Metadata.DataArea { - [Models.Metadata.DataArea.NameKey] = item.Name, - [Models.Metadata.DataArea.SizeKey] = item.Size, - [Models.Metadata.DataArea.WidthKey] = item.Width, - [Models.Metadata.DataArea.EndiannessKey] = item.Endianness, + [Serialization.Models.Metadata.DataArea.NameKey] = item.Name, + [Serialization.Models.Metadata.DataArea.SizeKey] = item.Size, + [Serialization.Models.Metadata.DataArea.WidthKey] = item.Width, + [Serialization.Models.Metadata.DataArea.EndiannessKey] = item.Endianness, }; if (item.Rom != null && item.Rom.Length > 0) - dataArea[Models.Metadata.DataArea.RomKey] = Array.ConvertAll(item.Rom, ConvertToInternalModel); + dataArea[Serialization.Models.Metadata.DataArea.RomKey] = Array.ConvertAll(item.Rom, ConvertToInternalModel); return dataArea; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DipSwitch ConvertToInternalModel(DipSwitch item) + private static Serialization.Models.Metadata.DipSwitch ConvertToInternalModel(DipSwitch item) { - var dipSwitch = new Models.Metadata.DipSwitch + var dipSwitch = new Serialization.Models.Metadata.DipSwitch { - [Models.Metadata.DipSwitch.NameKey] = item.Name, - [Models.Metadata.DipSwitch.TagKey] = item.Tag, - [Models.Metadata.DipSwitch.MaskKey] = item.Mask, + [Serialization.Models.Metadata.DipSwitch.NameKey] = item.Name, + [Serialization.Models.Metadata.DipSwitch.TagKey] = item.Tag, + [Serialization.Models.Metadata.DipSwitch.MaskKey] = item.Mask, }; if (item.DipValue != null && item.DipValue.Length > 0) - dipSwitch[Models.Metadata.DipSwitch.DipValueKey] = Array.ConvertAll(item.DipValue, ConvertToInternalModel); + dipSwitch[Serialization.Models.Metadata.DipSwitch.DipValueKey] = Array.ConvertAll(item.DipValue, ConvertToInternalModel); return dipSwitch; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DipValue ConvertToInternalModel(DipValue item) + private static Serialization.Models.Metadata.DipValue ConvertToInternalModel(DipValue item) { - var dipValue = new Models.Metadata.DipValue + var dipValue = new Serialization.Models.Metadata.DipValue { - [Models.Metadata.DipValue.NameKey] = item.Name, - [Models.Metadata.DipValue.ValueKey] = item.Value, - [Models.Metadata.DipValue.DefaultKey] = item.Default, + [Serialization.Models.Metadata.DipValue.NameKey] = item.Name, + [Serialization.Models.Metadata.DipValue.ValueKey] = item.Value, + [Serialization.Models.Metadata.DipValue.DefaultKey] = item.Default, }; return dipValue; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Disk ConvertToInternalModel(Disk item) + private static Serialization.Models.Metadata.Disk ConvertToInternalModel(Disk item) { - var disk = new Models.Metadata.Disk + var disk = new Serialization.Models.Metadata.Disk { - [Models.Metadata.Disk.NameKey] = item.Name, - [Models.Metadata.Disk.MD5Key] = item.MD5, - [Models.Metadata.Disk.SHA1Key] = item.SHA1, - [Models.Metadata.Disk.StatusKey] = item.Status, - [Models.Metadata.Disk.WritableKey] = item.Writeable, + [Serialization.Models.Metadata.Disk.NameKey] = item.Name, + [Serialization.Models.Metadata.Disk.MD5Key] = item.MD5, + [Serialization.Models.Metadata.Disk.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Disk.StatusKey] = item.Status, + [Serialization.Models.Metadata.Disk.WritableKey] = item.Writeable, }; return disk; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.DiskArea ConvertToInternalModel(DiskArea item) + private static Serialization.Models.Metadata.DiskArea ConvertToInternalModel(DiskArea item) { - var diskArea = new Models.Metadata.DiskArea + var diskArea = new Serialization.Models.Metadata.DiskArea { - [Models.Metadata.DiskArea.NameKey] = item.Name, + [Serialization.Models.Metadata.DiskArea.NameKey] = item.Name, }; if (item.Disk != null && item.Disk.Length > 0) - diskArea[Models.Metadata.DiskArea.DiskKey] = Array.ConvertAll(item.Disk, ConvertToInternalModel); + diskArea[Serialization.Models.Metadata.DiskArea.DiskKey] = Array.ConvertAll(item.Disk, ConvertToInternalModel); return diskArea; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Feature ConvertToInternalModel(Feature item) + private static Serialization.Models.Metadata.Feature ConvertToInternalModel(Feature item) { - var feature = new Models.Metadata.Feature + var feature = new Serialization.Models.Metadata.Feature { - [Models.Metadata.Feature.NameKey] = item.Name, - [Models.Metadata.Feature.ValueKey] = item.Value, + [Serialization.Models.Metadata.Feature.NameKey] = item.Name, + [Serialization.Models.Metadata.Feature.ValueKey] = item.Value, }; return feature; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Info ConvertToInternalModel(Info item) + private static Serialization.Models.Metadata.Info ConvertToInternalModel(Info item) { - var info = new Models.Metadata.Info + var info = new Serialization.Models.Metadata.Info { - [Models.Metadata.Info.NameKey] = item.Name, - [Models.Metadata.Info.ValueKey] = item.Value, + [Serialization.Models.Metadata.Info.NameKey] = item.Name, + [Serialization.Models.Metadata.Info.ValueKey] = item.Value, }; return info; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Part ConvertToInternalModel(Part item) + private static Serialization.Models.Metadata.Part ConvertToInternalModel(Part item) { - var part = new Models.Metadata.Part + var part = new Serialization.Models.Metadata.Part { - [Models.Metadata.Part.NameKey] = item.Name, - [Models.Metadata.Part.InterfaceKey] = item.Interface, + [Serialization.Models.Metadata.Part.NameKey] = item.Name, + [Serialization.Models.Metadata.Part.InterfaceKey] = item.Interface, }; if (item.Feature != null && item.Feature.Length > 0) - part[Models.Metadata.Part.FeatureKey] = Array.ConvertAll(item.Feature, ConvertToInternalModel); + part[Serialization.Models.Metadata.Part.FeatureKey] = Array.ConvertAll(item.Feature, ConvertToInternalModel); if (item.DataArea != null && item.DataArea.Length > 0) - part[Models.Metadata.Part.DataAreaKey] = Array.ConvertAll(item.DataArea, ConvertToInternalModel); + part[Serialization.Models.Metadata.Part.DataAreaKey] = Array.ConvertAll(item.DataArea, ConvertToInternalModel); if (item.DiskArea != null && item.DiskArea.Length > 0) - part[Models.Metadata.Part.DiskAreaKey] = Array.ConvertAll(item.DiskArea, ConvertToInternalModel); + part[Serialization.Models.Metadata.Part.DiskAreaKey] = Array.ConvertAll(item.DiskArea, ConvertToInternalModel); if (item.DipSwitch != null && item.DipSwitch.Length > 0) - part[Models.Metadata.Part.DipSwitchKey] = Array.ConvertAll(item.DipSwitch, ConvertToInternalModel); + part[Serialization.Models.Metadata.Part.DipSwitchKey] = Array.ConvertAll(item.DipSwitch, ConvertToInternalModel); return part; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.Rom ConvertToInternalModel(Rom item) + private static Serialization.Models.Metadata.Rom ConvertToInternalModel(Rom item) { - var rom = new Models.Metadata.Rom + var rom = new Serialization.Models.Metadata.Rom { - [Models.Metadata.Rom.NameKey] = item.Name, - [Models.Metadata.Rom.SizeKey] = item.Size, - [Models.Metadata.Rom.LengthKey] = item.Length, - [Models.Metadata.Rom.CRCKey] = item.CRC, - [Models.Metadata.Rom.SHA1Key] = item.SHA1, - [Models.Metadata.Rom.OffsetKey] = item.Offset, - [Models.Metadata.Rom.ValueKey] = item.Value, - [Models.Metadata.Rom.StatusKey] = item.Status, - [Models.Metadata.Rom.LoadFlagKey] = item.LoadFlag, + [Serialization.Models.Metadata.Rom.NameKey] = item.Name, + [Serialization.Models.Metadata.Rom.SizeKey] = item.Size, + [Serialization.Models.Metadata.Rom.LengthKey] = item.Length, + [Serialization.Models.Metadata.Rom.CRCKey] = item.CRC, + [Serialization.Models.Metadata.Rom.SHA1Key] = item.SHA1, + [Serialization.Models.Metadata.Rom.OffsetKey] = item.Offset, + [Serialization.Models.Metadata.Rom.ValueKey] = item.Value, + [Serialization.Models.Metadata.Rom.StatusKey] = item.Status, + [Serialization.Models.Metadata.Rom.LoadFlagKey] = item.LoadFlag, }; return rom; } /// - /// Convert from to + /// Convert from to /// - private static Models.Metadata.SharedFeat ConvertToInternalModel(SharedFeat item) + private static Serialization.Models.Metadata.SharedFeat ConvertToInternalModel(SharedFeat item) { - var sharedFeat = new Models.Metadata.SharedFeat + var sharedFeat = new Serialization.Models.Metadata.SharedFeat { - [Models.Metadata.SharedFeat.NameKey] = item.Name, - [Models.Metadata.SharedFeat.ValueKey] = item.Value, + [Serialization.Models.Metadata.SharedFeat.NameKey] = item.Name, + [Serialization.Models.Metadata.SharedFeat.ValueKey] = item.Value, }; return sharedFeat; } diff --git a/SabreTools.Serialization/Deserializers/AbstractSyntaxNotationOne.cs b/SabreTools.Serialization/Deserializers/AbstractSyntaxNotationOne.cs index 8e503fa8..7ec716f9 100644 --- a/SabreTools.Serialization/Deserializers/AbstractSyntaxNotationOne.cs +++ b/SabreTools.Serialization/Deserializers/AbstractSyntaxNotationOne.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.IO; using SabreTools.IO.Extensions; -using SabreTools.Models.ASN1; +using SabreTools.Serialization.Models.ASN1; namespace SabreTools.Serialization.Deserializers { diff --git a/SabreTools.Serialization/Deserializers/AppPkgHeader.cs b/SabreTools.Serialization/Deserializers/AppPkgHeader.cs index 997035cf..a13fb44c 100644 --- a/SabreTools.Serialization/Deserializers/AppPkgHeader.cs +++ b/SabreTools.Serialization/Deserializers/AppPkgHeader.cs @@ -5,10 +5,10 @@ using static SabreTools.Models.PlayStation4.Constants; namespace SabreTools.Serialization.Deserializers { - public class AppPkgHeader : BaseBinaryDeserializer + public class AppPkgHeader : BaseBinaryDeserializer { /// - public override Models.PlayStation4.AppPkgHeader? Deserialize(Stream? data) + public override SabreTools.Models.PlayStation4.AppPkgHeader? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -17,7 +17,7 @@ namespace SabreTools.Serialization.Deserializers try { // Create a new app.pkg header to fill - var appPkgHeader = new Models.PlayStation4.AppPkgHeader(); + var appPkgHeader = new SabreTools.Models.PlayStation4.AppPkgHeader(); appPkgHeader.Magic = data.ReadUInt32BigEndian(); if (appPkgHeader.Magic != AppPkgMagic) diff --git a/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs b/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs index 87a99480..2f97f294 100644 --- a/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs +++ b/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.ArchiveDotOrg; + namespace SabreTools.Serialization.Deserializers { - public class ArchiveDotOrg : XmlFile + public class ArchiveDotOrg : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/AttractMode.cs b/SabreTools.Serialization/Deserializers/AttractMode.cs index 3994fd37..66f556fa 100644 --- a/SabreTools.Serialization/Deserializers/AttractMode.cs +++ b/SabreTools.Serialization/Deserializers/AttractMode.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.IO.Readers; -using SabreTools.Models.AttractMode; +using SabreTools.Serialization.Models.AttractMode; namespace SabreTools.Serialization.Deserializers { diff --git a/SabreTools.Serialization/Deserializers/CIA.cs b/SabreTools.Serialization/Deserializers/CIA.cs index 7f64472d..42016dda 100644 --- a/SabreTools.Serialization/Deserializers/CIA.cs +++ b/SabreTools.Serialization/Deserializers/CIA.cs @@ -5,10 +5,10 @@ using SabreTools.Models.N3DS; namespace SabreTools.Serialization.Deserializers { - public class CIA : BaseBinaryDeserializer + public class CIA : BaseBinaryDeserializer { /// - public override Models.N3DS.CIA? Deserialize(Stream? data) + public override SabreTools.Models.N3DS.CIA? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -17,7 +17,7 @@ namespace SabreTools.Serialization.Deserializers try { // Create a new CIA archive to fill - var cia = new Models.N3DS.CIA(); + var cia = new SabreTools.Models.N3DS.CIA(); #region CIA Header diff --git a/SabreTools.Serialization/Deserializers/Catalog.cs b/SabreTools.Serialization/Deserializers/Catalog.cs index 750f5df9..d4cd7910 100644 --- a/SabreTools.Serialization/Deserializers/Catalog.cs +++ b/SabreTools.Serialization/Deserializers/Catalog.cs @@ -3,12 +3,12 @@ using System.Text; namespace SabreTools.Serialization.Deserializers { - public class Catalog : JsonFile + public class Catalog : JsonFile { #region IByteDeserializer /// Catalog.js file is encoded as UTF-16 LE - public override Models.Xbox.Catalog? Deserialize(byte[]? data, int offset) + public override SabreTools.Models.Xbox.Catalog? Deserialize(byte[]? data, int offset) => Deserialize(data, offset, new UnicodeEncoding()); #endregion @@ -16,7 +16,7 @@ namespace SabreTools.Serialization.Deserializers #region IFileDeserializer /// Catalog.js file is encoded as UTF-16 LE - public override Models.Xbox.Catalog? Deserialize(string? path) + public override SabreTools.Models.Xbox.Catalog? Deserialize(string? path) => Deserialize(path, new UnicodeEncoding()); #endregion @@ -24,7 +24,7 @@ namespace SabreTools.Serialization.Deserializers #region IStreamDeserializer /// Catalog.js file is encoded as UTF-16 LE - public override Models.Xbox.Catalog? Deserialize(Stream? data) + public override SabreTools.Models.Xbox.Catalog? Deserialize(Stream? data) => Deserialize(data, new UnicodeEncoding()); #endregion diff --git a/SabreTools.Serialization/Deserializers/ClrMamePro.cs b/SabreTools.Serialization/Deserializers/ClrMamePro.cs index bb180ae3..0c04877c 100644 --- a/SabreTools.Serialization/Deserializers/ClrMamePro.cs +++ b/SabreTools.Serialization/Deserializers/ClrMamePro.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.IO.Readers; -using SabreTools.Models.ClrMamePro; +using SabreTools.Serialization.Models.ClrMamePro; namespace SabreTools.Serialization.Deserializers { @@ -154,7 +154,7 @@ namespace SabreTools.Serialization.Deserializers switch (reader.TopLevel) { case "clrmamepro": - dat.ClrMamePro = new Models.ClrMamePro.ClrMamePro(); + dat.ClrMamePro = new SabreTools.Serialization.Models.ClrMamePro.ClrMamePro(); break; case "game": game = new Game(); @@ -176,7 +176,7 @@ namespace SabreTools.Serialization.Deserializers && reader.RowType == CmpRowType.Standalone) { // Create the block if we haven't already - dat.ClrMamePro ??= new Models.ClrMamePro.ClrMamePro(); + dat.ClrMamePro ??= new SabreTools.Serialization.Models.ClrMamePro.ClrMamePro(); switch (reader.Standalone?.Key?.ToLowerInvariant()) { diff --git a/SabreTools.Serialization/Deserializers/CueSheet.cs b/SabreTools.Serialization/Deserializers/CueSheet.cs index 93a5474b..84a3d5e3 100644 --- a/SabreTools.Serialization/Deserializers/CueSheet.cs +++ b/SabreTools.Serialization/Deserializers/CueSheet.cs @@ -7,10 +7,10 @@ using SabreTools.Models.CueSheets; namespace SabreTools.Serialization.Deserializers { - public class CueSheet : BaseBinaryDeserializer + public class CueSheet : BaseBinaryDeserializer { /// - public override Models.CueSheets.CueSheet? Deserialize(Stream? data) + public override SabreTools.Models.CueSheets.CueSheet? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -20,7 +20,7 @@ namespace SabreTools.Serialization.Deserializers { // Setup the reader and output var reader = new StreamReader(data, Encoding.UTF8); - var cueSheet = new Models.CueSheets.CueSheet(); + var cueSheet = new SabreTools.Models.CueSheets.CueSheet(); var cueFiles = new List(); // Read the next line from the input diff --git a/SabreTools.Serialization/Deserializers/DosCenter.cs b/SabreTools.Serialization/Deserializers/DosCenter.cs index 8abf528a..05b29f6f 100644 --- a/SabreTools.Serialization/Deserializers/DosCenter.cs +++ b/SabreTools.Serialization/Deserializers/DosCenter.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.IO.Readers; -using SabreTools.Models.DosCenter; +using SabreTools.Serialization.Models.DosCenter; namespace SabreTools.Serialization.Deserializers { @@ -26,7 +26,7 @@ namespace SabreTools.Serialization.Deserializers Game? game = null; var games = new List(); - var files = new List(); + var files = new List(); while (!reader.EndOfStream) { @@ -64,7 +64,7 @@ namespace SabreTools.Serialization.Deserializers switch (reader.TopLevel) { case "doscenter": - dat.DosCenter = new Models.DosCenter.DosCenter(); + dat.DosCenter = new SabreTools.Serialization.Models.DosCenter.DosCenter(); break; case "game": game = new Game(); @@ -76,7 +76,7 @@ namespace SabreTools.Serialization.Deserializers else if (reader.TopLevel == "doscenter" && reader.RowType == CmpRowType.Standalone) { // Create the block if we haven't already - dat.DosCenter ??= new Models.DosCenter.DosCenter(); + dat.DosCenter ??= new SabreTools.Serialization.Models.DosCenter.DosCenter(); switch (reader.Standalone?.Key?.ToLowerInvariant()) { @@ -153,12 +153,12 @@ namespace SabreTools.Serialization.Deserializers /// /// ClrMameProReader representing the metadata file /// File object created from the reader context - private static Models.DosCenter.File? CreateFile(ClrMameProReader reader) + private static SabreTools.Serialization.Models.DosCenter.File? CreateFile(ClrMameProReader reader) { if (reader.Internal == null) return null; - var file = new Models.DosCenter.File(); + var file = new SabreTools.Serialization.Models.DosCenter.File(); foreach (var kvp in reader.Internal) { switch (kvp.Key?.ToLowerInvariant()) diff --git a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs index 33ff196e..62760055 100644 --- a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs +++ b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.IO.Readers; -using SabreTools.Models.EverdriveSMDB; +using SabreTools.Serialization.Models.EverdriveSMDB; namespace SabreTools.Serialization.Deserializers { diff --git a/SabreTools.Serialization/Deserializers/GCF.cs b/SabreTools.Serialization/Deserializers/GCF.cs index 6a1edb11..3a426565 100644 --- a/SabreTools.Serialization/Deserializers/GCF.cs +++ b/SabreTools.Serialization/Deserializers/GCF.cs @@ -5,10 +5,10 @@ using SabreTools.Models.GCF; namespace SabreTools.Serialization.Deserializers { - public class GCF : BaseBinaryDeserializer + public class GCF : BaseBinaryDeserializer { /// - public override Models.GCF.File? Deserialize(Stream? data) + public override SabreTools.Models.GCF.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -20,7 +20,7 @@ namespace SabreTools.Serialization.Deserializers long initialOffset = data.Position; // Create a new Half-Life Game Cache to fill - var file = new Models.GCF.File(); + var file = new SabreTools.Models.GCF.File(); #region Header diff --git a/SabreTools.Serialization/Deserializers/Hashfile.cs b/SabreTools.Serialization/Deserializers/Hashfile.cs index e305cae1..0d408561 100644 --- a/SabreTools.Serialization/Deserializers/Hashfile.cs +++ b/SabreTools.Serialization/Deserializers/Hashfile.cs @@ -2,20 +2,20 @@ using System; using System.Collections.Generic; using System.IO; using SabreTools.Hashing; -using SabreTools.Models.Hashfile; +using SabreTools.Serialization.Models.Hashfile; namespace SabreTools.Serialization.Deserializers { - public class Hashfile : BaseBinaryDeserializer + public class Hashfile : BaseBinaryDeserializer { #region IByteDeserializer /// - public override Models.Hashfile.Hashfile? Deserialize(byte[]? data, int offset) + public override SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(byte[]? data, int offset) => Deserialize(data, offset, HashType.CRC32); /// - public Models.Hashfile.Hashfile? Deserialize(byte[]? data, int offset, HashType hash) + public SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(byte[]? data, int offset, HashType hash) { // If the data is invalid if (data == null || data.Length == 0) @@ -35,11 +35,11 @@ namespace SabreTools.Serialization.Deserializers #region IFileDeserializer /// - public override Models.Hashfile.Hashfile? Deserialize(string? path) + public override SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(string? path) => Deserialize(path, HashType.CRC32); /// - public Models.Hashfile.Hashfile? Deserialize(string? path, HashType hash) + public SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(string? path, HashType hash) { try { @@ -62,11 +62,11 @@ namespace SabreTools.Serialization.Deserializers #region IStreamDeserializer - public override Models.Hashfile.Hashfile? Deserialize(Stream? data) + public override SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(Stream? data) => Deserialize(data, HashType.CRC32); /// - public Models.Hashfile.Hashfile? Deserialize(Stream? data, HashType hash) + public SabreTools.Serialization.Models.Hashfile.Hashfile? Deserialize(Stream? data, HashType hash) { return hash switch { @@ -87,7 +87,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeSFV(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeSFV(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -118,7 +118,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (sfvList.Count > 0) - return new Models.Hashfile.Hashfile { SFV = [.. sfvList] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { SFV = [.. sfvList] }; return null; } @@ -130,7 +130,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeMD2(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeMD2(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -162,7 +162,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (md2List.Count > 0) - return new Models.Hashfile.Hashfile { MD2 = [.. md2List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { MD2 = [.. md2List] }; return null; } @@ -174,7 +174,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeMD4(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeMD4(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -206,7 +206,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (md4List.Count > 0) - return new Models.Hashfile.Hashfile { MD4 = [.. md4List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { MD4 = [.. md4List] }; return null; } @@ -218,7 +218,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeMD5(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeMD5(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -248,13 +248,13 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (md5List.Count > 0) - return new Models.Hashfile.Hashfile { MD5 = [.. md5List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { MD5 = [.. md5List] }; return null; } /// - public Models.Hashfile.Hashfile? DeserializeRIPEMD128(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeRIPEMD128(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -284,13 +284,13 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (ripemd128List.Count > 0) - return new Models.Hashfile.Hashfile { RIPEMD128 = [.. ripemd128List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { RIPEMD128 = [.. ripemd128List] }; return null; } /// - public Models.Hashfile.Hashfile? DeserializeRIPEMD160(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeRIPEMD160(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -320,13 +320,13 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (ripemd160List.Count > 0) - return new Models.Hashfile.Hashfile { RIPEMD160 = [.. ripemd160List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { RIPEMD160 = [.. ripemd160List] }; return null; } /// - public Models.Hashfile.Hashfile? DeserializeSHA1(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeSHA1(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -358,7 +358,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (sha1List.Count > 0) - return new Models.Hashfile.Hashfile { SHA1 = [.. sha1List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { SHA1 = [.. sha1List] }; return null; } @@ -370,7 +370,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeSHA256(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeSHA256(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -402,7 +402,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (sha256List.Count > 0) - return new Models.Hashfile.Hashfile { SHA256 = [.. sha256List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { SHA256 = [.. sha256List] }; return null; } @@ -414,7 +414,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeSHA384(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeSHA384(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -446,7 +446,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (sha384List.Count > 0) - return new Models.Hashfile.Hashfile { SHA384 = [.. sha384List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { SHA384 = [.. sha384List] }; return null; } @@ -458,7 +458,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeSHA512(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeSHA512(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -490,7 +490,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (sha512List.Count > 0) - return new Models.Hashfile.Hashfile { SHA512 = [.. sha512List] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { SHA512 = [.. sha512List] }; return null; } @@ -502,7 +502,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? DeserializeSpamSum(Stream? data) + public SabreTools.Serialization.Models.Hashfile.Hashfile? DeserializeSpamSum(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -534,7 +534,7 @@ namespace SabreTools.Serialization.Deserializers // Assign the hashes to the hashfile and return if (spamsumList.Count > 0) - return new Models.Hashfile.Hashfile { SpamSum = [.. spamsumList] }; + return new SabreTools.Serialization.Models.Hashfile.Hashfile { SpamSum = [.. spamsumList] }; return null; } diff --git a/SabreTools.Serialization/Deserializers/IRD.cs b/SabreTools.Serialization/Deserializers/IRD.cs index f805f65f..9485592b 100644 --- a/SabreTools.Serialization/Deserializers/IRD.cs +++ b/SabreTools.Serialization/Deserializers/IRD.cs @@ -4,10 +4,10 @@ using SabreTools.IO.Extensions; namespace SabreTools.Serialization.Deserializers { - public class IRD : BaseBinaryDeserializer + public class IRD : BaseBinaryDeserializer { /// - public override Models.IRD.File? Deserialize(Stream? data) + public override SabreTools.Models.IRD.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -16,7 +16,7 @@ namespace SabreTools.Serialization.Deserializers try { // Deserialize the IRD - var ird = new Models.IRD.File(); + var ird = new SabreTools.Models.IRD.File(); ird.Magic = data.ReadBytes(4); string magic = Encoding.ASCII.GetString(ird.Magic); diff --git a/SabreTools.Serialization/Deserializers/InstallShieldArchiveV3.cs b/SabreTools.Serialization/Deserializers/InstallShieldArchiveV3.cs index 15c54c37..9fd8db03 100644 --- a/SabreTools.Serialization/Deserializers/InstallShieldArchiveV3.cs +++ b/SabreTools.Serialization/Deserializers/InstallShieldArchiveV3.cs @@ -47,7 +47,7 @@ namespace SabreTools.Serialization.Deserializers data.Seek(directoriesOffset, SeekOrigin.Begin); // Try to parse the directories - var directories = new List(); + var directories = new List(); for (int i = 0; i < header.DirCount; i++) { var directory = ParseDirectory(data); @@ -63,7 +63,7 @@ namespace SabreTools.Serialization.Deserializers #region Files // Try to parse the files - var files = new List(); + var files = new List(); for (int i = 0; i < archive.Directories.Length; i++) { var directory = archive.Directories[i]; @@ -94,9 +94,9 @@ namespace SabreTools.Serialization.Deserializers /// /// Stream to parse /// Filled Directory on success, null on error - public static Models.InstallShieldArchiveV3.Directory ParseDirectory(Stream data) + public static SabreTools.Models.InstallShieldArchiveV3.Directory ParseDirectory(Stream data) { - var obj = new Models.InstallShieldArchiveV3.Directory(); + var obj = new SabreTools.Models.InstallShieldArchiveV3.Directory(); obj.FileCount = data.ReadUInt16LittleEndian(); obj.ChunkSize = data.ReadUInt16LittleEndian(); @@ -113,9 +113,9 @@ namespace SabreTools.Serialization.Deserializers /// /// Stream to parse /// Filled File on success, null on error - public static Models.InstallShieldArchiveV3.File ParseFile(Stream data) + public static SabreTools.Models.InstallShieldArchiveV3.File ParseFile(Stream data) { - var obj = new Models.InstallShieldArchiveV3.File(); + var obj = new SabreTools.Models.InstallShieldArchiveV3.File(); obj.VolumeEnd = data.ReadByteValue(); obj.Index = data.ReadUInt16LittleEndian(); diff --git a/SabreTools.Serialization/Deserializers/Listrom.cs b/SabreTools.Serialization/Deserializers/Listrom.cs index 75ff00bb..7e7df82a 100644 --- a/SabreTools.Serialization/Deserializers/Listrom.cs +++ b/SabreTools.Serialization/Deserializers/Listrom.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Text; -using SabreTools.Models.Listrom; +using SabreTools.Serialization.Models.Listrom; namespace SabreTools.Serialization.Deserializers { @@ -76,13 +76,13 @@ namespace SabreTools.Serialization.Deserializers // Split the line for the name iteratively #if NETFRAMEWORK || NETCOREAPP3_1 || NETSTANDARD2_0_OR_GREATER - string[] lineParts = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); + string[] lineParts = line.Split([" "], StringSplitOptions.RemoveEmptyEntries); if (lineParts.Length == 1) - lineParts = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); + lineParts = line.Split([" "], StringSplitOptions.RemoveEmptyEntries); if (lineParts.Length == 1) - lineParts = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); + lineParts = line.Split([" "], StringSplitOptions.RemoveEmptyEntries); if (lineParts.Length == 1) - lineParts = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); + lineParts = line.Split([" "], StringSplitOptions.RemoveEmptyEntries); #else string[] lineParts = line.Split(" ", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); if (lineParts.Length == 1) @@ -100,7 +100,7 @@ namespace SabreTools.Serialization.Deserializers continue; #if NETFRAMEWORK || NETCOREAPP3_1 || NETSTANDARD2_0_OR_GREATER - lineParts = trimmedLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + lineParts = trimmedLine.Split([' '], StringSplitOptions.RemoveEmptyEntries); #else lineParts = trimmedLine.Split(' ', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); #endif diff --git a/SabreTools.Serialization/Deserializers/Listxml.cs b/SabreTools.Serialization/Deserializers/Listxml.cs index 8cb525e7..382c62fa 100644 --- a/SabreTools.Serialization/Deserializers/Listxml.cs +++ b/SabreTools.Serialization/Deserializers/Listxml.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.Listxml; + namespace SabreTools.Serialization.Deserializers { - public class Listxml : XmlFile + public class Listxml : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/Logiqx.cs b/SabreTools.Serialization/Deserializers/Logiqx.cs index 4b59f81e..3a32ed7f 100644 --- a/SabreTools.Serialization/Deserializers/Logiqx.cs +++ b/SabreTools.Serialization/Deserializers/Logiqx.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.Logiqx; + namespace SabreTools.Serialization.Deserializers { - public class Logiqx : XmlFile + public class Logiqx : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/M1.cs b/SabreTools.Serialization/Deserializers/M1.cs index 44190350..f60b37fe 100644 --- a/SabreTools.Serialization/Deserializers/M1.cs +++ b/SabreTools.Serialization/Deserializers/M1.cs @@ -1,6 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class M1 : XmlFile + public class M1 : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/Mess.cs b/SabreTools.Serialization/Deserializers/Mess.cs index 27668bb8..e149a5fb 100644 --- a/SabreTools.Serialization/Deserializers/Mess.cs +++ b/SabreTools.Serialization/Deserializers/Mess.cs @@ -1,6 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class Mess : XmlFile + public class Mess : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs index 4514b2f4..fa8d8a38 100644 --- a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs +++ b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs @@ -227,12 +227,12 @@ namespace SabreTools.Serialization.Deserializers file.FolderIndex = (FolderIndex)data.ReadUInt16LittleEndian(); file.Date = data.ReadUInt16LittleEndian(); file.Time = data.ReadUInt16LittleEndian(); - file.Attributes = (Models.MicrosoftCabinet.FileAttributes)data.ReadUInt16LittleEndian(); + file.Attributes = (SabreTools.Models.MicrosoftCabinet.FileAttributes)data.ReadUInt16LittleEndian(); #if NET20 || NET35 - if ((file.Attributes & Models.MicrosoftCabinet.FileAttributes.NAME_IS_UTF) != 0) + if ((file.Attributes & SabreTools.Models.MicrosoftCabinet.FileAttributes.NAME_IS_UTF) != 0) #else - if (file.Attributes.HasFlag(Models.MicrosoftCabinet.FileAttributes.NAME_IS_UTF)) + if (file.Attributes.HasFlag(SabreTools.Models.MicrosoftCabinet.FileAttributes.NAME_IS_UTF)) #endif file.Name = data.ReadNullTerminatedUnicodeString(); else diff --git a/SabreTools.Serialization/Deserializers/NCF.cs b/SabreTools.Serialization/Deserializers/NCF.cs index ff67a165..65a8e18a 100644 --- a/SabreTools.Serialization/Deserializers/NCF.cs +++ b/SabreTools.Serialization/Deserializers/NCF.cs @@ -6,10 +6,10 @@ using SabreTools.Models.NCF; namespace SabreTools.Serialization.Deserializers { - public class NCF : BaseBinaryDeserializer + public class NCF : BaseBinaryDeserializer { /// - public override Models.NCF.File? Deserialize(Stream? data) + public override SabreTools.Models.NCF.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -21,7 +21,7 @@ namespace SabreTools.Serialization.Deserializers long initialOffset = data.Position; // Create a new Half-Life No Cache to fill - var file = new Models.NCF.File(); + var file = new SabreTools.Models.NCF.File(); #region Header diff --git a/SabreTools.Serialization/Deserializers/NewExecutable.cs b/SabreTools.Serialization/Deserializers/NewExecutable.cs index a72724bd..313cab6e 100644 --- a/SabreTools.Serialization/Deserializers/NewExecutable.cs +++ b/SabreTools.Serialization/Deserializers/NewExecutable.cs @@ -253,7 +253,7 @@ namespace SabreTools.Serialization.Deserializers obj.MovableEntriesCount = data.ReadUInt16LittleEndian(); obj.SegmentAlignmentShiftCount = data.ReadUInt16LittleEndian(); obj.ResourceEntriesCount = data.ReadUInt16LittleEndian(); - obj.TargetOperatingSystem = (Models.NewExecutable.OperatingSystem)data.ReadByteValue(); + obj.TargetOperatingSystem = (SabreTools.Models.NewExecutable.OperatingSystem)data.ReadByteValue(); obj.AdditionalFlags = (OS2Flag)data.ReadByteValue(); obj.ReturnThunkOffset = data.ReadUInt16LittleEndian(); obj.SegmentReferenceThunkOffset = data.ReadUInt16LittleEndian(); diff --git a/SabreTools.Serialization/Deserializers/OfflineList.cs b/SabreTools.Serialization/Deserializers/OfflineList.cs index e0cc423c..2d52ba93 100644 --- a/SabreTools.Serialization/Deserializers/OfflineList.cs +++ b/SabreTools.Serialization/Deserializers/OfflineList.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.OfflineList; + namespace SabreTools.Serialization.Deserializers { - public class OfflineList : XmlFile + public class OfflineList : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/OpenMSX.cs b/SabreTools.Serialization/Deserializers/OpenMSX.cs index 21804298..871161b9 100644 --- a/SabreTools.Serialization/Deserializers/OpenMSX.cs +++ b/SabreTools.Serialization/Deserializers/OpenMSX.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.OpenMSX; + namespace SabreTools.Serialization.Deserializers { - public class OpenMSX : XmlFile + public class OpenMSX : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/PAK.cs b/SabreTools.Serialization/Deserializers/PAK.cs index 2cf3a19e..5cbe4387 100644 --- a/SabreTools.Serialization/Deserializers/PAK.cs +++ b/SabreTools.Serialization/Deserializers/PAK.cs @@ -6,10 +6,10 @@ using static SabreTools.Models.PAK.Constants; namespace SabreTools.Serialization.Deserializers { - public class PAK : BaseBinaryDeserializer + public class PAK : BaseBinaryDeserializer { /// - public override Models.PAK.File? Deserialize(Stream? data) + public override SabreTools.Models.PAK.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -21,7 +21,7 @@ namespace SabreTools.Serialization.Deserializers long initialOffset = data.Position; // Create a new Half-Life Package to fill - var file = new Models.PAK.File(); + var file = new SabreTools.Models.PAK.File(); #region Header diff --git a/SabreTools.Serialization/Deserializers/PortableExecutable.cs b/SabreTools.Serialization/Deserializers/PortableExecutable.cs index 807772e8..dd7ac092 100644 --- a/SabreTools.Serialization/Deserializers/PortableExecutable.cs +++ b/SabreTools.Serialization/Deserializers/PortableExecutable.cs @@ -74,7 +74,7 @@ namespace SabreTools.Serialization.Deserializers #region Optional Header // If the optional header exists - Models.PortableExecutable.OptionalHeader? optionalHeader = null; + SabreTools.Models.PortableExecutable.OptionalHeader? optionalHeader = null; if (fileHeader.SizeOfOptionalHeader > 0) { // Parse the optional header @@ -337,12 +337,12 @@ namespace SabreTools.Serialization.Deserializers int length = tableSize - tableOffset; // Add the hidden entry - pex.ResourceDirectoryTable.Entries[localEntries.Length - 1] = new Models.PortableExecutable.Resource.DirectoryEntry + pex.ResourceDirectoryTable.Entries[localEntries.Length - 1] = new SabreTools.Models.PortableExecutable.Resource.DirectoryEntry { - Name = new Models.PortableExecutable.Resource.DirectoryString { UnicodeString = Encoding.Unicode.GetBytes("HIDDEN RESOURCE") }, + Name = new SabreTools.Models.PortableExecutable.Resource.DirectoryString { UnicodeString = Encoding.Unicode.GetBytes("HIDDEN RESOURCE") }, IntegerID = uint.MaxValue, DataEntryOffset = (uint)tableOffset, - DataEntry = new Models.PortableExecutable.Resource.DataEntry + DataEntry = new SabreTools.Models.PortableExecutable.Resource.DataEntry { Size = (uint)length, Data = tableData.ReadBytes(ref tableOffset, length), @@ -471,12 +471,12 @@ namespace SabreTools.Serialization.Deserializers /// /// Byte array to parse /// Filled attribute certificate on success, null on error - public static Models.PortableExecutable.AttributeCertificate.Entry[]? ParseAttributeCertificateTable(byte[]? data) + public static SabreTools.Models.PortableExecutable.AttributeCertificate.Entry[]? ParseAttributeCertificateTable(byte[]? data) { if (data == null) return null; - var obj = new List(); + var obj = new List(); int offset = 0; while (offset < data.Length) @@ -502,9 +502,9 @@ namespace SabreTools.Serialization.Deserializers /// /// Byte array to parse /// Filled AttributeCertificateTableEntry on success, null on error - public static Models.PortableExecutable.AttributeCertificate.Entry? ParseAttributeCertificateTableEntry(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.AttributeCertificate.Entry? ParseAttributeCertificateTableEntry(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.AttributeCertificate.Entry(); + var obj = new SabreTools.Models.PortableExecutable.AttributeCertificate.Entry(); obj.Length = data.ReadUInt32LittleEndian(ref offset); if (obj.Length < 8) @@ -526,9 +526,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled BaseRelocationBlock on success, null on error - public static Models.PortableExecutable.BaseRelocation.Block? ParseBaseRelocationBlock(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.BaseRelocation.Block? ParseBaseRelocationBlock(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.BaseRelocation.Block(); + var obj = new SabreTools.Models.PortableExecutable.BaseRelocation.Block(); obj.PageRVA = data.ReadUInt32LittleEndian(ref offset); obj.BlockSize = data.ReadUInt32LittleEndian(ref offset); @@ -542,7 +542,7 @@ namespace SabreTools.Serialization.Deserializers return obj; int entryCount = ((int)obj.BlockSize - 8) / 2; - obj.TypeOffsetFieldEntries = new Models.PortableExecutable.BaseRelocation.TypeOffsetFieldEntry[entryCount]; + obj.TypeOffsetFieldEntries = new SabreTools.Models.PortableExecutable.BaseRelocation.TypeOffsetFieldEntry[entryCount]; for (int i = 0; i < obj.TypeOffsetFieldEntries.Length; i++) { if (offset + 2 >= data.Length) @@ -559,12 +559,12 @@ namespace SabreTools.Serialization.Deserializers /// /// Byte array to parse /// Filled base relocation table on success, null on error - public static Models.PortableExecutable.BaseRelocation.Block[]? ParseBaseRelocationTable(byte[]? data) + public static SabreTools.Models.PortableExecutable.BaseRelocation.Block[]? ParseBaseRelocationTable(byte[]? data) { if (data == null) return null; - var obj = new List(); + var obj = new List(); int offset = 0; while (offset + 8 <= data.Length) @@ -591,9 +591,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled BaseRelocationTypeOffsetFieldEntry on success, null on error - public static Models.PortableExecutable.BaseRelocation.TypeOffsetFieldEntry ParseBaseRelocationTypeOffsetFieldEntry(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.BaseRelocation.TypeOffsetFieldEntry ParseBaseRelocationTypeOffsetFieldEntry(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.BaseRelocation.TypeOffsetFieldEntry(); + var obj = new SabreTools.Models.PortableExecutable.BaseRelocation.TypeOffsetFieldEntry(); ushort typeAndOffsetField = data.ReadUInt16LittleEndian(ref offset); obj.BaseRelocationType = (BaseRelocationTypes)(typeAndOffsetField >> 12); @@ -640,9 +640,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled DebugDirectoryEntry on success, null on error - public static Models.PortableExecutable.DebugData.Entry ParseDebugDirectoryEntry(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.DebugData.Entry ParseDebugDirectoryEntry(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.DebugData.Entry(); + var obj = new SabreTools.Models.PortableExecutable.DebugData.Entry(); obj.Characteristics = data.ReadUInt32LittleEndian(ref offset); obj.TimeDateStamp = data.ReadUInt32LittleEndian(ref offset); @@ -661,14 +661,14 @@ namespace SabreTools.Serialization.Deserializers /// /// Byte array to parse /// Filled DebugTable on success, null on error - public static Models.PortableExecutable.DebugData.Table? ParseDebugTable(byte[]? data) + public static SabreTools.Models.PortableExecutable.DebugData.Table? ParseDebugTable(byte[]? data) { if (data == null) return null; - var obj = new Models.PortableExecutable.DebugData.Table(); + var obj = new SabreTools.Models.PortableExecutable.DebugData.Table(); - var table = new List(); + var table = new List(); int offset = 0; while (offset < data.Length) @@ -693,12 +693,12 @@ namespace SabreTools.Serialization.Deserializers /// /// Byte array to parse /// Filled DelayLoadDirectoryTable on success, null on error - public static Models.PortableExecutable.DelayLoad.DirectoryTable? ParseDelayLoadDirectoryTable(byte[]? data) + public static SabreTools.Models.PortableExecutable.DelayLoad.DirectoryTable? ParseDelayLoadDirectoryTable(byte[]? data) { if (data == null) return null; - var obj = new Models.PortableExecutable.DelayLoad.DirectoryTable(); + var obj = new SabreTools.Models.PortableExecutable.DelayLoad.DirectoryTable(); int offset = 0; obj.Attributes = data.ReadUInt32LittleEndian(ref offset); @@ -737,9 +737,9 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Number of entries in the table /// Filled ExportAddressTable on success, null on error - public static Models.PortableExecutable.Export.AddressTableEntry[] ParseExportAddressTable(Stream data, uint entries) + public static SabreTools.Models.PortableExecutable.Export.AddressTableEntry[] ParseExportAddressTable(Stream data, uint entries) { - var obj = new Models.PortableExecutable.Export.AddressTableEntry[entries]; + var obj = new SabreTools.Models.PortableExecutable.Export.AddressTableEntry[entries]; for (int i = 0; i < obj.Length; i++) { @@ -754,9 +754,9 @@ namespace SabreTools.Serialization.Deserializers /// /// Stream to parse /// Filled ExportAddressTableEntry on success, null on error - public static Models.PortableExecutable.Export.AddressTableEntry ParseExportAddressTableEntry(Stream data) + public static SabreTools.Models.PortableExecutable.Export.AddressTableEntry ParseExportAddressTableEntry(Stream data) { - var obj = new Models.PortableExecutable.Export.AddressTableEntry(); + var obj = new SabreTools.Models.PortableExecutable.Export.AddressTableEntry(); obj.ExportRVA = data.ReadUInt32LittleEndian(); obj.ForwarderRVA = obj.ExportRVA; @@ -770,9 +770,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled ExportDirectoryTable on success, null on error - public static Models.PortableExecutable.Export.DirectoryTable ParseExportDirectoryTable(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.Export.DirectoryTable ParseExportDirectoryTable(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.Export.DirectoryTable(); + var obj = new SabreTools.Models.PortableExecutable.Export.DirectoryTable(); obj.ExportFlags = data.ReadUInt32LittleEndian(ref offset); obj.TimeDateStamp = data.ReadUInt32LittleEndian(ref offset); @@ -797,9 +797,9 @@ namespace SabreTools.Serialization.Deserializers /// Set of pointers to process /// Section table to use for virtual address translation /// Filled ExportNameTable on success, null on error - public static Models.PortableExecutable.Export.NameTable ParseExportNameTable(Stream data, long initialOffset, uint[] pointers, SectionHeader[] sections) + public static SabreTools.Models.PortableExecutable.Export.NameTable ParseExportNameTable(Stream data, long initialOffset, uint[] pointers, SectionHeader[] sections) { - var obj = new Models.PortableExecutable.Export.NameTable(); + var obj = new SabreTools.Models.PortableExecutable.Export.NameTable(); obj.Strings = new string[pointers.Length]; for (int i = 0; i < obj.Strings.Length; i++) @@ -827,9 +827,9 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Number of entries in the table /// Filled ExportNamePointerTable on success, null on error - public static Models.PortableExecutable.Export.NamePointerTable ParseExportNamePointerTable(Stream data, uint entries) + public static SabreTools.Models.PortableExecutable.Export.NamePointerTable ParseExportNamePointerTable(Stream data, uint entries) { - var obj = new Models.PortableExecutable.Export.NamePointerTable(); + var obj = new SabreTools.Models.PortableExecutable.Export.NamePointerTable(); obj.Pointers = new uint[entries]; for (int i = 0; i < obj.Pointers.Length; i++) @@ -846,9 +846,9 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Number of entries in the table /// Filled ExportOrdinalTable on success, null on error - public static Models.PortableExecutable.Export.OrdinalTable ParseExportOrdinalTable(Stream data, uint entries) + public static SabreTools.Models.PortableExecutable.Export.OrdinalTable ParseExportOrdinalTable(Stream data, uint entries) { - var obj = new Models.PortableExecutable.Export.OrdinalTable(); + var obj = new SabreTools.Models.PortableExecutable.Export.OrdinalTable(); obj.Indexes = new ushort[entries]; for (int i = 0; i < obj.Indexes.Length; i++) @@ -921,13 +921,13 @@ namespace SabreTools.Serialization.Deserializers /// Import address tables /// Section table to use for virtual address translation /// Filled HintNameTable on success, null on error - public static Models.PortableExecutable.Import.HintNameTableEntry[] ParseHintNameTable(Stream data, + public static SabreTools.Models.PortableExecutable.Import.HintNameTableEntry[] ParseHintNameTable(Stream data, long initialOffset, - Dictionary importLookupTables, - Dictionary importAddressTables, + Dictionary importLookupTables, + Dictionary importAddressTables, SectionHeader[] sections) { - var importHintNameTable = new List(); + var importHintNameTable = new List(); if (importLookupTables.Count > 0 || importAddressTables.Count > 0) { @@ -1005,9 +1005,9 @@ namespace SabreTools.Serialization.Deserializers /// /// Stream to parse /// Filled HintNameTableEntry on success, null on error - public static Models.PortableExecutable.Import.HintNameTableEntry ParseHintNameTableEntry(Stream data) + public static SabreTools.Models.PortableExecutable.Import.HintNameTableEntry ParseHintNameTableEntry(Stream data) { - var obj = new Models.PortableExecutable.Import.HintNameTableEntry(); + var obj = new SabreTools.Models.PortableExecutable.Import.HintNameTableEntry(); obj.Hint = data.ReadUInt16LittleEndian(); obj.Name = data.ReadNullTerminatedAnsiString(); @@ -1021,9 +1021,9 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Optional header magic number indicating PE32 or PE32+ /// Filled ImportAddressTable on success, null on error - public static Models.PortableExecutable.Import.AddressTableEntry[] ParseImportAddressTable(Stream data, OptionalHeaderMagicNumber magic) + public static SabreTools.Models.PortableExecutable.Import.AddressTableEntry[] ParseImportAddressTable(Stream data, OptionalHeaderMagicNumber magic) { - var obj = new List(); + var obj = new List(); // Loop until the last item (all nulls) are found while (data.Position < data.Length) @@ -1050,13 +1050,13 @@ namespace SabreTools.Serialization.Deserializers /// Directory table entries containing the addresses /// Section table to use for virtual address translation /// Filled ImportAddressTables on success, null on error - public static Dictionary ParseImportAddressTables(Stream data, + public static Dictionary ParseImportAddressTables(Stream data, long initialOffset, OptionalHeaderMagicNumber magic, - Models.PortableExecutable.Import.DirectoryTableEntry[] entries, + SabreTools.Models.PortableExecutable.Import.DirectoryTableEntry[] entries, SectionHeader[] sections) { - var obj = new Dictionary(); + var obj = new Dictionary(); for (int i = 0; i < entries.Length; i++) { @@ -1083,9 +1083,9 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Optional header magic number /// Filled ImportAddressTableEntry on success, null on error - public static Models.PortableExecutable.Import.AddressTableEntry ParseImportAddressTableEntry(Stream data, OptionalHeaderMagicNumber magic) + public static SabreTools.Models.PortableExecutable.Import.AddressTableEntry ParseImportAddressTableEntry(Stream data, OptionalHeaderMagicNumber magic) { - var obj = new Models.PortableExecutable.Import.AddressTableEntry(); + var obj = new SabreTools.Models.PortableExecutable.Import.AddressTableEntry(); if (magic == OptionalHeaderMagicNumber.PE32) { @@ -1115,9 +1115,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled ImportDirectoryTable on success, null on error - public static Models.PortableExecutable.Import.DirectoryTableEntry[] ParseImportDirectoryTable(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.Import.DirectoryTableEntry[] ParseImportDirectoryTable(byte[] data, ref int offset) { - var obj = new List(); + var obj = new List(); // Loop until the last item (all nulls) are found while (offset < data.Length) @@ -1143,9 +1143,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled ImportDirectoryTableEntry on success, null on error - public static Models.PortableExecutable.Import.DirectoryTableEntry ParseImportDirectoryTableEntry(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.Import.DirectoryTableEntry ParseImportDirectoryTableEntry(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.Import.DirectoryTableEntry(); + var obj = new SabreTools.Models.PortableExecutable.Import.DirectoryTableEntry(); obj.ImportLookupTableRVA = data.ReadUInt32LittleEndian(ref offset); obj.TimeDateStamp = data.ReadUInt32LittleEndian(ref offset); @@ -1162,9 +1162,9 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Optional header magic number indicating PE32 or PE32+ /// Filled ImportLookupTable on success, null on error - public static Models.PortableExecutable.Import.LookupTableEntry[] ParseImportLookupTable(Stream data, OptionalHeaderMagicNumber magic) + public static SabreTools.Models.PortableExecutable.Import.LookupTableEntry[] ParseImportLookupTable(Stream data, OptionalHeaderMagicNumber magic) { - var obj = new List(); + var obj = new List(); // Loop until the last item (all nulls) are found while (data.Position < data.Length) @@ -1191,14 +1191,14 @@ namespace SabreTools.Serialization.Deserializers /// Directory table entries containing the addresses /// Section table to use for virtual address translation /// Filled ImportLookupTables on success, null on error - public static Dictionary ParseImportLookupTables(Stream data, + public static Dictionary ParseImportLookupTables(Stream data, long initialOffset, OptionalHeaderMagicNumber magic, - Models.PortableExecutable.Import.DirectoryTableEntry[] entries, + SabreTools.Models.PortableExecutable.Import.DirectoryTableEntry[] entries, SectionHeader[] sections) { // Lookup tables - var obj = new Dictionary(); + var obj = new Dictionary(); for (int i = 0; i < entries.Length; i++) { @@ -1225,9 +1225,9 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Optional header magic number /// Filled ImportLookupTableEntry on success, null on error - public static Models.PortableExecutable.Import.LookupTableEntry ParseImportLookupTableEntry(Stream data, OptionalHeaderMagicNumber magic) + public static SabreTools.Models.PortableExecutable.Import.LookupTableEntry ParseImportLookupTableEntry(Stream data, OptionalHeaderMagicNumber magic) { - var obj = new Models.PortableExecutable.Import.LookupTableEntry(); + var obj = new SabreTools.Models.PortableExecutable.Import.LookupTableEntry(); if (magic == OptionalHeaderMagicNumber.PE32) { @@ -1275,11 +1275,11 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// Size of the optional header /// Filled OptionalHeader on success, null on error - public static Models.PortableExecutable.OptionalHeader ParseOptionalHeader(Stream data, int optionalSize) + public static SabreTools.Models.PortableExecutable.OptionalHeader ParseOptionalHeader(Stream data, int optionalSize) { long initialOffset = data.Position; - var obj = new Models.PortableExecutable.OptionalHeader(); + var obj = new SabreTools.Models.PortableExecutable.OptionalHeader(); #region Standard Fields @@ -1431,7 +1431,7 @@ namespace SabreTools.Serialization.Deserializers ref int dataOffset, long tableStart, long tableLength, - Models.PortableExecutable.Resource.DirectoryTable? table, + SabreTools.Models.PortableExecutable.Resource.DirectoryTable? table, SectionHeader[] sections) { if (tableData == null) @@ -1484,9 +1484,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled ResourceDataEntry on success, null on error - public static Models.PortableExecutable.Resource.DataEntry ParseResourceDataEntry(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.Resource.DataEntry ParseResourceDataEntry(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.Resource.DataEntry(); + var obj = new SabreTools.Models.PortableExecutable.Resource.DataEntry(); obj.DataRVA = data.ReadUInt32LittleEndian(ref offset); obj.Size = data.ReadUInt32LittleEndian(ref offset); @@ -1503,9 +1503,9 @@ namespace SabreTools.Serialization.Deserializers /// Offset into the byte array /// Indicates if the value is a name entry or not /// Filled ResourceDirectoryEntry on success, null on error - public static Models.PortableExecutable.Resource.DirectoryEntry ParseResourceDirectoryEntry(byte[] data, ref int offset, bool nameEntry) + public static SabreTools.Models.PortableExecutable.Resource.DirectoryEntry ParseResourceDirectoryEntry(byte[] data, ref int offset, bool nameEntry) { - var obj = new Models.PortableExecutable.Resource.DirectoryEntry(); + var obj = new SabreTools.Models.PortableExecutable.Resource.DirectoryEntry(); // TODO: Figure out why the high bit is set for names // The original version of this code also had this fix, but there @@ -1532,9 +1532,9 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled ResourceDirectoryString on success, null on error - public static Models.PortableExecutable.Resource.DirectoryString ParseResourceDirectoryString(byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.Resource.DirectoryString ParseResourceDirectoryString(byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.Resource.DirectoryString(); + var obj = new SabreTools.Models.PortableExecutable.Resource.DirectoryString(); obj.Length = data.ReadUInt16LittleEndian(ref offset); if (obj.Length > 0 && offset + (obj.Length * 2) <= data.Length) @@ -1549,12 +1549,12 @@ namespace SabreTools.Serialization.Deserializers /// Byte array to parse /// Offset into the byte array /// Filled ResourceDirectoryTable on success, null on error - public static Models.PortableExecutable.Resource.DirectoryTable? ParseResourceDirectoryTable(byte[]? tableData, ref int offset) + public static SabreTools.Models.PortableExecutable.Resource.DirectoryTable? ParseResourceDirectoryTable(byte[]? tableData, ref int offset) { if (tableData == null) return null; - var obj = new Models.PortableExecutable.Resource.DirectoryTable(); + var obj = new SabreTools.Models.PortableExecutable.Resource.DirectoryTable(); obj.Characteristics = tableData.ReadUInt32LittleEndian(ref offset); if (obj.Characteristics != 0) @@ -1568,7 +1568,7 @@ namespace SabreTools.Serialization.Deserializers // Create the entry array int totalEntryCount = obj.NumberOfNameEntries + obj.NumberOfIDEntries; - obj.Entries = new Models.PortableExecutable.Resource.DirectoryEntry[totalEntryCount]; + obj.Entries = new SabreTools.Models.PortableExecutable.Resource.DirectoryEntry[totalEntryCount]; if (obj.Entries.Length == 0) return obj; diff --git a/SabreTools.Serialization/Deserializers/RomCenter.cs b/SabreTools.Serialization/Deserializers/RomCenter.cs index 6775c946..1a5d8163 100644 --- a/SabreTools.Serialization/Deserializers/RomCenter.cs +++ b/SabreTools.Serialization/Deserializers/RomCenter.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.IO.Readers; -using SabreTools.Models.RomCenter; +using SabreTools.Serialization.Models.RomCenter; namespace SabreTools.Serialization.Deserializers { diff --git a/SabreTools.Serialization/Deserializers/SFB.cs b/SabreTools.Serialization/Deserializers/SFB.cs index 52a86c7e..f598b531 100644 --- a/SabreTools.Serialization/Deserializers/SFB.cs +++ b/SabreTools.Serialization/Deserializers/SFB.cs @@ -5,10 +5,10 @@ using static SabreTools.Models.PlayStation3.Constants; namespace SabreTools.Serialization.Deserializers { - public class SFB : BaseBinaryDeserializer + public class SFB : BaseBinaryDeserializer { /// - public override Models.PlayStation3.SFB? Deserialize(Stream? data) + public override SabreTools.Models.PlayStation3.SFB? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -17,7 +17,7 @@ namespace SabreTools.Serialization.Deserializers try { // Deserialize the SFB - var sfb = new Models.PlayStation3.SFB(); + var sfb = new SabreTools.Models.PlayStation3.SFB(); sfb.Magic = data.ReadUInt32BigEndian(); if (sfb.Magic != SFBMagic) diff --git a/SabreTools.Serialization/Deserializers/SFO.cs b/SabreTools.Serialization/Deserializers/SFO.cs index 3a44d92b..43d8a2bc 100644 --- a/SabreTools.Serialization/Deserializers/SFO.cs +++ b/SabreTools.Serialization/Deserializers/SFO.cs @@ -5,10 +5,10 @@ using static SabreTools.Models.PlayStation3.Constants; namespace SabreTools.Serialization.Deserializers { - public class SFO : BaseBinaryDeserializer + public class SFO : BaseBinaryDeserializer { /// - public override Models.PlayStation3.SFO? Deserialize(Stream? data) + public override SabreTools.Models.PlayStation3.SFO? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -17,7 +17,7 @@ namespace SabreTools.Serialization.Deserializers try { // Create a new SFO to fill - var sfo = new Models.PlayStation3.SFO(); + var sfo = new SabreTools.Models.PlayStation3.SFO(); #region Header diff --git a/SabreTools.Serialization/Deserializers/SGA.cs b/SabreTools.Serialization/Deserializers/SGA.cs index 626f4607..19c413d4 100644 --- a/SabreTools.Serialization/Deserializers/SGA.cs +++ b/SabreTools.Serialization/Deserializers/SGA.cs @@ -122,7 +122,7 @@ namespace SabreTools.Serialization.Deserializers /// Stream to parse /// SGA major version /// Filled SGA directory on success, null on error - private static Models.SGA.Directory? ParseDirectory(Stream data, ushort majorVersion) + private static SabreTools.Models.SGA.Directory? ParseDirectory(Stream data, ushort majorVersion) { return majorVersion switch { diff --git a/SabreTools.Serialization/Deserializers/SeparatedValue.cs b/SabreTools.Serialization/Deserializers/SeparatedValue.cs index 0d206e38..bf7a61d6 100644 --- a/SabreTools.Serialization/Deserializers/SeparatedValue.cs +++ b/SabreTools.Serialization/Deserializers/SeparatedValue.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.IO.Readers; -using SabreTools.Models.SeparatedValue; +using SabreTools.Serialization.Models.SeparatedValue; namespace SabreTools.Serialization.Deserializers { diff --git a/SabreTools.Serialization/Deserializers/SoftwareList.cs b/SabreTools.Serialization/Deserializers/SoftwareList.cs index 25c93e9c..c167ae41 100644 --- a/SabreTools.Serialization/Deserializers/SoftwareList.cs +++ b/SabreTools.Serialization/Deserializers/SoftwareList.cs @@ -1,6 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class SoftwareList : XmlFile + public class SoftwareList : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/VPK.cs b/SabreTools.Serialization/Deserializers/VPK.cs index 0275a230..8e5d3c4e 100644 --- a/SabreTools.Serialization/Deserializers/VPK.cs +++ b/SabreTools.Serialization/Deserializers/VPK.cs @@ -6,10 +6,10 @@ using static SabreTools.Models.VPK.Constants; namespace SabreTools.Serialization.Deserializers { - public class VPK : BaseBinaryDeserializer + public class VPK : BaseBinaryDeserializer { /// - public override Models.VPK.File? Deserialize(Stream? data) + public override SabreTools.Models.VPK.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -21,7 +21,7 @@ namespace SabreTools.Serialization.Deserializers long initialOffset = data.Position; // Create a new Valve Package to fill - var file = new Models.VPK.File(); + var file = new SabreTools.Models.VPK.File(); #region Header diff --git a/SabreTools.Serialization/Deserializers/WAD3.cs b/SabreTools.Serialization/Deserializers/WAD3.cs index f755bb30..fc805d36 100644 --- a/SabreTools.Serialization/Deserializers/WAD3.cs +++ b/SabreTools.Serialization/Deserializers/WAD3.cs @@ -6,10 +6,10 @@ using static SabreTools.Models.WAD3.Constants; namespace SabreTools.Serialization.Deserializers { - public class WAD3 : BaseBinaryDeserializer + public class WAD3 : BaseBinaryDeserializer { /// - public override Models.WAD3.File? Deserialize(Stream? data) + public override SabreTools.Models.WAD3.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -21,7 +21,7 @@ namespace SabreTools.Serialization.Deserializers long initialOffset = data.Position; // Create a new Half-Life Texture Package to fill - var file = new Models.WAD3.File(); + var file = new SabreTools.Models.WAD3.File(); #region Header diff --git a/SabreTools.Serialization/Deserializers/XMID.cs b/SabreTools.Serialization/Deserializers/XMID.cs index 01238166..8e43d5a4 100644 --- a/SabreTools.Serialization/Deserializers/XMID.cs +++ b/SabreTools.Serialization/Deserializers/XMID.cs @@ -2,17 +2,17 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class XMID : IStringDeserializer + public partial class XMID : IStringDeserializer { /// - public static Models.Xbox.XMID? DeserializeString(string? str) + public static SabreTools.Models.Xbox.XMID? DeserializeString(string? str) { var deserializer = new XMID(); return deserializer.Deserialize(str); } /// - public Models.Xbox.XMID? Deserialize(string? str) + public SabreTools.Models.Xbox.XMID? Deserialize(string? str) { if (string.IsNullOrEmpty(str)) return null; @@ -29,12 +29,12 @@ namespace SabreTools.Serialization.Deserializers /// /// XMID string to attempt to parse /// Filled XMID on success, null on error - private static Models.Xbox.XMID? ParseXMID(string? xmidString) + private static SabreTools.Models.Xbox.XMID? ParseXMID(string? xmidString) { if (xmidString == null || xmidString.Length != 8) return null; - var xmid = new Models.Xbox.XMID(); + var xmid = new SabreTools.Models.Xbox.XMID(); xmid.PublisherIdentifier = xmidString.Substring(0, 2); xmid.GameID = xmidString.Substring(2, 3); diff --git a/SabreTools.Serialization/Deserializers/XZP.cs b/SabreTools.Serialization/Deserializers/XZP.cs index a8237634..77633b8d 100644 --- a/SabreTools.Serialization/Deserializers/XZP.cs +++ b/SabreTools.Serialization/Deserializers/XZP.cs @@ -6,10 +6,10 @@ using static SabreTools.Models.XZP.Constants; namespace SabreTools.Serialization.Deserializers { - public class XZP : BaseBinaryDeserializer + public class XZP : BaseBinaryDeserializer { /// - public override Models.XZP.File? Deserialize(Stream? data) + public override SabreTools.Models.XZP.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || !data.CanRead) @@ -21,7 +21,7 @@ namespace SabreTools.Serialization.Deserializers long initialOffset = data.Position; // Create a new XBox Package File to fill - var file = new Models.XZP.File(); + var file = new SabreTools.Models.XZP.File(); #region Header diff --git a/SabreTools.Serialization/Deserializers/XeMID.cs b/SabreTools.Serialization/Deserializers/XeMID.cs index 3c78ed7a..0faaf546 100644 --- a/SabreTools.Serialization/Deserializers/XeMID.cs +++ b/SabreTools.Serialization/Deserializers/XeMID.cs @@ -2,17 +2,17 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class XeMID : IStringDeserializer + public partial class XeMID : IStringDeserializer { /// - public static Models.Xbox.XeMID? DeserializeString(string? str) + public static SabreTools.Models.Xbox.XeMID? DeserializeString(string? str) { var deserializer = new XeMID(); return deserializer.Deserialize(str); } /// - public Models.Xbox.XeMID? Deserialize(string? str) + public SabreTools.Models.Xbox.XeMID? Deserialize(string? str) { if (string.IsNullOrEmpty(str)) return null; @@ -29,14 +29,14 @@ namespace SabreTools.Serialization.Deserializers /// /// XeMID string to attempt to parse /// Filled XeMID on success, null on error - private static Models.Xbox.XeMID? ParseXeMID(string? xemidString) + private static SabreTools.Models.Xbox.XeMID? ParseXeMID(string? xemidString) { if (xemidString == null) return null; if (!(xemidString.Length == 13 || xemidString.Length == 14 || xemidString.Length == 21 || xemidString.Length == 22)) return null; - var xemid = new Models.Xbox.XeMID(); + var xemid = new SabreTools.Models.Xbox.XeMID(); xemid.PublisherIdentifier = xemidString.Substring(0, 2); xemid.PlatformIdentifier = xemidString[2]; diff --git a/SabreTools.Serialization/Extensions/PortableExecutable.cs b/SabreTools.Serialization/Extensions/PortableExecutable.cs index de63a206..5a86c4e8 100644 --- a/SabreTools.Serialization/Extensions/PortableExecutable.cs +++ b/SabreTools.Serialization/Extensions/PortableExecutable.cs @@ -110,9 +110,9 @@ namespace SabreTools.Serialization.Extensions /// Data to parse /// Offset into the byte array /// A filled NB10ProgramDatabase on success, null on error - public static Models.PortableExecutable.DebugData.NB10ProgramDatabase? ParseNB10ProgramDatabase(this byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.DebugData.NB10ProgramDatabase? ParseNB10ProgramDatabase(this byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.DebugData.NB10ProgramDatabase(); + var obj = new SabreTools.Models.PortableExecutable.DebugData.NB10ProgramDatabase(); obj.Signature = data.ReadUInt32LittleEndian(ref offset); if (obj.Signature != 0x3031424E) @@ -132,9 +132,9 @@ namespace SabreTools.Serialization.Extensions /// Data to parse /// Offset into the byte array /// A filled RSDSProgramDatabase on success, null on error - public static Models.PortableExecutable.DebugData.RSDSProgramDatabase? ParseRSDSProgramDatabase(this byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.DebugData.RSDSProgramDatabase? ParseRSDSProgramDatabase(this byte[] data, ref int offset) { - var obj = new Models.PortableExecutable.DebugData.RSDSProgramDatabase(); + var obj = new SabreTools.Models.PortableExecutable.DebugData.RSDSProgramDatabase(); obj.Signature = data.ReadUInt32LittleEndian(ref offset); if (obj.Signature != 0x53445352) @@ -231,7 +231,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into an accelerator table resource /// A filled accelerator table resource on success, null on error - public static AcceleratorTableEntry[]? AsAcceleratorTableResource(this Models.PortableExecutable.Resource.DataEntry? entry) + public static AcceleratorTableEntry[]? AsAcceleratorTableResource(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have data that's invalid for this resource type, we can't do anything if (entry?.Data == null || entry.Data.Length % 8 != 0) @@ -260,7 +260,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into a side-by-side assembly manifest /// A filled side-by-side assembly manifest on success, null on error - public static AssemblyManifest? AsAssemblyManifest(this Models.PortableExecutable.Resource.DataEntry? entry) + public static AssemblyManifest? AsAssemblyManifest(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have an invalid entry, just skip if (entry?.Data == null) @@ -282,7 +282,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into a dialog box /// A filled dialog box on success, null on error - public static DialogBoxResource? AsDialogBox(this Models.PortableExecutable.Resource.DataEntry? entry) + public static DialogBoxResource? AsDialogBox(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have an invalid entry, just skip if (entry?.Data == null) @@ -759,7 +759,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into a font group /// A filled font group on success, null on error - public static FontGroupHeader? AsFontGroup(this Models.PortableExecutable.Resource.DataEntry? entry) + public static FontGroupHeader? AsFontGroup(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have an invalid entry, just skip if (entry?.Data == null) @@ -828,7 +828,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into a menu /// A filled menu on success, null on error - public static MenuResource? AsMenu(this Models.PortableExecutable.Resource.DataEntry? entry) + public static MenuResource? AsMenu(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have an invalid entry, just skip if (entry?.Data == null) @@ -924,7 +924,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into a message table resource /// A filled message table resource on success, null on error - public static MessageResourceData? AsMessageResourceData(this Models.PortableExecutable.Resource.DataEntry? entry) + public static MessageResourceData? AsMessageResourceData(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have an invalid entry, just skip if (entry?.Data == null) @@ -1012,10 +1012,10 @@ namespace SabreTools.Serialization.Extensions // Align to the DWORD boundary if we're not at the end data.AlignToBoundary(ref offset, 4); - var stringFileInfoChildren = new List(); + var stringFileInfoChildren = new List(); while ((offset - currentOffset) < stringFileInfo.Length) { - var stringTable = new Models.PortableExecutable.Resource.Entries.StringTable(); + var stringTable = new SabreTools.Models.PortableExecutable.Resource.Entries.StringTable(); stringTable.Length = data.ReadUInt16LittleEndian(ref offset); stringTable.ValueLength = data.ReadUInt16LittleEndian(ref offset); @@ -1069,7 +1069,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into a string table resource /// A filled string table resource on success, null on error - public static Dictionary? AsStringTable(this Models.PortableExecutable.Resource.DataEntry? entry) + public static Dictionary? AsStringTable(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have an invalid entry, just skip if (entry?.Data == null) @@ -1161,7 +1161,7 @@ namespace SabreTools.Serialization.Extensions /// /// Resource data entry to parse into a version info resource /// A filled version info resource on success, null on error - public static VersionInfo? AsVersionInfo(this Models.PortableExecutable.Resource.DataEntry? entry) + public static VersionInfo? AsVersionInfo(this SabreTools.Models.PortableExecutable.Resource.DataEntry? entry) { // If we have an invalid entry, just skip if (entry?.Data == null) @@ -1358,10 +1358,10 @@ namespace SabreTools.Serialization.Extensions /// Data to parse /// Offset into the byte array /// A filled ResourceHeader on success, null on error - public static Models.PortableExecutable.Resource.ResourceHeader ParseResourceHeader(this byte[] data, ref int offset) + public static SabreTools.Models.PortableExecutable.Resource.ResourceHeader ParseResourceHeader(this byte[] data, ref int offset) { // Read in the table - var obj = new Models.PortableExecutable.Resource.ResourceHeader(); + var obj = new SabreTools.Models.PortableExecutable.Resource.ResourceHeader(); obj.DataSize = data.ReadUInt32LittleEndian(ref offset); obj.HeaderSize = data.ReadUInt32LittleEndian(ref offset); diff --git a/SabreTools.Serialization/Extensions/TypeLengthValue.cs b/SabreTools.Serialization/Extensions/TypeLengthValue.cs index 728f9b23..23767bac 100644 --- a/SabreTools.Serialization/Extensions/TypeLengthValue.cs +++ b/SabreTools.Serialization/Extensions/TypeLengthValue.cs @@ -1,7 +1,7 @@ using System; using System.Numerics; using System.Text; -using SabreTools.Models.ASN1; +using SabreTools.Serialization.Models.ASN1; using SabreTools.Serialization.ObjectIdentifier; namespace SabreTools.Serialization.Extensions @@ -13,7 +13,7 @@ namespace SabreTools.Serialization.Extensions /// /// Padding level of the item when formatting /// String representing the TypeLengthValue, if possible - public static string Format(this Models.ASN1.TypeLengthValue tlv, int paddingLevel = 0) + public static string Format(this SabreTools.Serialization.Models.ASN1.TypeLengthValue tlv, int paddingLevel = 0) { // Create the left-padding string string padding = new(' ', paddingLevel); @@ -38,7 +38,7 @@ namespace SabreTools.Serialization.Extensions if (tlv.Type.HasFlag(ASN1Type.V_ASN1_CONSTRUCTED)) #endif { - if (tlv.Value is not Models.ASN1.TypeLengthValue[] valueAsObjectArray) + if (tlv.Value is not SabreTools.Serialization.Models.ASN1.TypeLengthValue[] valueAsObjectArray) { formatBuilder.Append(", Value: [INVALID DATA TYPE]"); return formatBuilder.ToString(); diff --git a/SabreTools.Serialization/Interfaces/IFileSerializer.cs b/SabreTools.Serialization/Interfaces/IFileSerializer.cs index c8fd149f..daec50ff 100644 --- a/SabreTools.Serialization/Interfaces/IFileSerializer.cs +++ b/SabreTools.Serialization/Interfaces/IFileSerializer.cs @@ -12,6 +12,6 @@ namespace SabreTools.Serialization.Interfaces /// Data to serialize /// Path to the file to serialize to /// True on successful serialization, false otherwise - bool Serialize(T? obj, string? path); + bool SerializeFile(T? obj, string? path); } } diff --git a/SabreTools.Serialization/Interfaces/IStreamSerializer.cs b/SabreTools.Serialization/Interfaces/IStreamSerializer.cs index 29b0578f..1bb2a485 100644 --- a/SabreTools.Serialization/Interfaces/IStreamSerializer.cs +++ b/SabreTools.Serialization/Interfaces/IStreamSerializer.cs @@ -11,6 +11,6 @@ namespace SabreTools.Serialization.Interfaces /// Type of object to serialize from /// Data to serialize /// Filled object on success, null on error - System.IO.Stream? Serialize(T? obj); + System.IO.Stream? SerializeStream(T? obj); } } diff --git a/SabreTools.Serialization/SabreTools.Models.ASN1/ASN1Type.cs b/SabreTools.Serialization/Models/ASN1/ASN1Type.cs similarity index 96% rename from SabreTools.Serialization/SabreTools.Models.ASN1/ASN1Type.cs rename to SabreTools.Serialization/Models/ASN1/ASN1Type.cs index 762b666b..1bd470f6 100644 --- a/SabreTools.Serialization/SabreTools.Models.ASN1/ASN1Type.cs +++ b/SabreTools.Serialization/Models/ASN1/ASN1Type.cs @@ -1,6 +1,6 @@ using System; -namespace SabreTools.Models.ASN1 +namespace SabreTools.Serialization.Models.ASN1 { /// /// ASN.1 type indicators diff --git a/SabreTools.Serialization/SabreTools.Models.ASN1/TypeLengthValue.cs b/SabreTools.Serialization/Models/ASN1/TypeLengthValue.cs similarity index 91% rename from SabreTools.Serialization/SabreTools.Models.ASN1/TypeLengthValue.cs rename to SabreTools.Serialization/Models/ASN1/TypeLengthValue.cs index 29c188b7..2389c2fa 100644 --- a/SabreTools.Serialization/SabreTools.Models.ASN1/TypeLengthValue.cs +++ b/SabreTools.Serialization/Models/ASN1/TypeLengthValue.cs @@ -1,4 +1,4 @@ -namespace SabreTools.Models.ASN1 +namespace SabreTools.Serialization.Models.ASN1 { /// /// ASN.1 type/length/value class that all types are based on diff --git a/SabreTools.Serialization/Models/ArchiveDotOrg/File.cs b/SabreTools.Serialization/Models/ArchiveDotOrg/File.cs new file mode 100644 index 00000000..7d4f1f77 --- /dev/null +++ b/SabreTools.Serialization/Models/ArchiveDotOrg/File.cs @@ -0,0 +1,205 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.ArchiveDotOrg +{ + [XmlRoot("file")] + public class File + { + [XmlAttribute("name")] + public string? Name { get; set; } + + /// Is this a set of defined values? + [XmlAttribute("source")] + public string? Source { get; set; } + + [XmlElement("btih")] + public string? BitTorrentMagnetHash { get; set; } + + [XmlElement("mtime")] + public string? LastModifiedTime { get; set; } + + [XmlElement("size")] + public string? Size { get; set; } + + [XmlElement("md5")] + public string? MD5 { get; set; } + + [XmlElement("crc32")] + public string? CRC32 { get; set; } + + [XmlElement("sha1")] + public string? SHA1 { get; set; } + + [XmlElement("filecount")] + public string? FileCount { get; set; } + + /// Is this a set of defined values? + [XmlElement("format")] + public string? Format { get; set; } + + [XmlElement("original")] + public string? Original { get; set; } + + /// Is this a set of defined values? + [XmlElement("summation")] + public string? Summation { get; set; } + + [XmlElement("matrix_number")] + public string? MatrixNumber { get; set; } + + [XmlElement("collection-catalog-number")] + public string? CollectionCatalogNumber { get; set; } + + [XmlElement("publisher")] + public string? Publisher { get; set; } + + [XmlElement("comment")] + public string? Comment { get; set; } + + #region ASR-Related + + [XmlElement("asr_detected_lang")] + public string? ASRDetectedLang { get; set; } + + [XmlElement("asr_detected_lang_conf")] + public string? ASRDetectedLangConf { get; set; } + + [XmlElement("asr_transcribed_lang")] + public string? ASRTranscribedLang { get; set; } + + [XmlElement("whisper_asr_module_version")] + public string? WhisperASRModuleVersion { get; set; } + + [XmlElement("whisper_model_hash")] + public string? WhisperModelHash { get; set; } + + [XmlElement("whisper_model_name")] + public string? WhisperModelName { get; set; } + + [XmlElement("whisper_version")] + public string? WhisperVersion { get; set; } + + #endregion + + #region OCR-Related + + [XmlElement("cloth_cover_detection_module_version")] + public string? ClothCoverDetectionModuleVersion { get; set; } + + [XmlElement("hocr_char_to_word_hocr_version")] + public string? hOCRCharToWordhOCRVersion { get; set; } + + [XmlElement("hocr_char_to_word_module_version")] + public string? hOCRCharToWordModuleVersion { get; set; } + + [XmlElement("hocr_fts_text_hocr_version")] + public string? hOCRFtsTexthOCRVersion { get; set; } + + [XmlElement("hocr_fts_text_module_version")] + public string? hOCRFtsTextModuleVersion { get; set; } + + [XmlElement("hocr_pageindex_hocr_version")] + public string? hOCRPageIndexhOCRVersion { get; set; } + + [XmlElement("hocr_pageindex_module_version")] + public string? hOCRPageIndexModuleVersion { get; set; } + + [XmlElement("ocr")] + public string? TesseractOCR { get; set; } + + [XmlElement("ocr_converted")] + public string? TesseractOCRConverted { get; set; } + + [XmlElement("ocr_detected_lang")] + public string? TesseractOCRDetectedLang { get; set; } + + [XmlElement("ocr_detected_lang_conf")] + public string? TesseractOCRDetectedLangConf { get; set; } + + [XmlElement("ocr_detected_script")] + public string? TesseractOCRDetectedScript { get; set; } + + [XmlElement("ocr_detected_script_conf")] + public string? TesseractOCRDetectedScriptConf { get; set; } + + [XmlElement("ocr_module_version")] + public string? TesseractOCRModuleVersion { get; set; } + + [XmlElement("ocr_parameters")] + public string? TesseractOCRParameters { get; set; } + + [XmlElement("pdf_module_version")] + public string? PDFModuleVersion { get; set; } + + [XmlElement("word_conf_0_10")] + public string? WordConfidenceInterval0To10 { get; set; } + + [XmlElement("word_conf_11_20")] + public string? WordConfidenceInterval11To20 { get; set; } + + [XmlElement("word_conf_21_30")] + public string? WordConfidenceInterval21To30 { get; set; } + + [XmlElement("word_conf_31_40")] + public string? WordConfidenceInterval31To40 { get; set; } + + [XmlElement("word_conf_41_50")] + public string? WordConfidenceInterval41To50 { get; set; } + + [XmlElement("word_conf_51_60")] + public string? WordConfidenceInterval51To60 { get; set; } + + [XmlElement("word_conf_61_70")] + public string? WordConfidenceInterval61To70 { get; set; } + + [XmlElement("word_conf_71_80")] + public string? WordConfidenceInterval71To80 { get; set; } + + [XmlElement("word_conf_81_90")] + public string? WordConfidenceInterval81To90 { get; set; } + + [XmlElement("word_conf_91_100")] + public string? WordConfidenceInterval91To100 { get; set; } + + #endregion + + #region Media-Related + + [XmlElement("album")] + public string? Album { get; set; } + + [XmlElement("artist")] + public string? Artist { get; set; } + + [XmlElement("bitrate")] + public string? Bitrate { get; set; } + + [XmlElement("creator")] + public string? Creator { get; set; } + + [XmlElement("height")] + public string? Height { get; set; } + + [XmlElement("length")] + public string? Length { get; set; } + + [XmlElement("preview-image")] + public string? PreviewImage { get; set; } + + /// Is this a set of defined values? + [XmlElement("rotation")] + public string? Rotation { get; set; } + + [XmlElement("title")] + public string? Title { get; set; } + + [XmlElement("track")] + public string? Track { get; set; } + + [XmlElement("width")] + public string? Width { get; set; } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ArchiveDotOrg/Files.cs b/SabreTools.Serialization/Models/ArchiveDotOrg/Files.cs new file mode 100644 index 00000000..6b841ec5 --- /dev/null +++ b/SabreTools.Serialization/Models/ArchiveDotOrg/Files.cs @@ -0,0 +1,12 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.ArchiveDotOrg +{ + [XmlRoot("files")] + public class Files + { + [XmlElement("file")] + public File[]? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/AttractMode/MetadataFile.cs b/SabreTools.Serialization/Models/AttractMode/MetadataFile.cs new file mode 100644 index 00000000..6ad4b8b2 --- /dev/null +++ b/SabreTools.Serialization/Models/AttractMode/MetadataFile.cs @@ -0,0 +1,13 @@ +namespace SabreTools.Serialization.Models.AttractMode +{ + /// + /// #Name;Title;Emulator;CloneOf;Year;Manufacturer;Category;Players;Rotation;Control;Status;DisplayCount;DisplayType;AltRomname;AltTitle;Extra;Buttons /// + /// + public class MetadataFile + { + [SabreTools.Models.Required] + public string[]? Header { get; set; } + + public Row[]? Row { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/AttractMode/Row.cs b/SabreTools.Serialization/Models/AttractMode/Row.cs new file mode 100644 index 00000000..5b31f722 --- /dev/null +++ b/SabreTools.Serialization/Models/AttractMode/Row.cs @@ -0,0 +1,51 @@ +namespace SabreTools.Serialization.Models.AttractMode +{ + public class Row + { + /// Also called Romname + [SabreTools.Models.Required] + public string? Name { get; set; } + + public string? Title { get; set; } + + public string? Emulator { get; set; } + + public string? CloneOf { get; set; } + + public string? Year { get; set; } + + public string? Manufacturer { get; set; } + + public string? Category { get; set; } + + public string? Players { get; set; } + + public string? Rotation { get; set; } + + public string? Control { get; set; } + + public string? Status { get; set; } + + public string? DisplayCount { get; set; } + + public string? DisplayType { get; set; } + + public string? AltRomname { get; set; } + + public string? AltTitle { get; set; } + + public string? Extra { get; set; } + + public string? Buttons { get; set; } + + public string? Favorite { get; set; } + + public string? Tags { get; set; } + + public string? PlayedCount { get; set; } + + public string? PlayedTime { get; set; } + + public string? FileIsAvailable { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Archive.cs b/SabreTools.Serialization/Models/ClrMamePro/Archive.cs new file mode 100644 index 00000000..fe8d979d --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Archive.cs @@ -0,0 +1,10 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// archive + public class Archive + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/BiosSet.cs b/SabreTools.Serialization/Models/ClrMamePro/BiosSet.cs new file mode 100644 index 00000000..5cd846da --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/BiosSet.cs @@ -0,0 +1,17 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// biosset + public class BiosSet + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// description + [SabreTools.Models.Required] + public string? Description { get; set; } + + /// default + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Chip.cs b/SabreTools.Serialization/Models/ClrMamePro/Chip.cs new file mode 100644 index 00000000..f666f26a --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Chip.cs @@ -0,0 +1,20 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// chip + public class Chip + { + /// type, (cpu|audio) + [SabreTools.Models.Required] + public string? Type { get; set; } + + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// flags + public string? Flags { get; set; } + + /// clock, Numeric? + public string? Clock { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/ClrMamePro.cs b/SabreTools.Serialization/Models/ClrMamePro/ClrMamePro.cs new file mode 100644 index 00000000..1900975b --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/ClrMamePro.cs @@ -0,0 +1,51 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// clrmamepro + public class ClrMamePro + { + /// name + public string? Name { get; set; } + + /// description + public string? Description { get; set; } + + /// rootdir + public string? RootDir { get; set; } + + /// category + public string? Category { get; set; } + + /// version + public string? Version { get; set; } + + /// date + public string? Date { get; set; } + + /// author + public string? Author { get; set; } + + /// homepage + public string? Homepage { get; set; } + + /// url + public string? Url { get; set; } + + /// comment + public string? Comment { get; set; } + + /// header + public string? Header { get; set; } + + /// type + public string? Type { get; set; } + + /// forcemerging + public string? ForceMerging { get; set; } + + /// forcezipping + public string? ForceZipping { get; set; } + + /// forcepacking + public string? ForcePacking { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/DipSwitch.cs b/SabreTools.Serialization/Models/ClrMamePro/DipSwitch.cs new file mode 100644 index 00000000..dc3d462c --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/DipSwitch.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// dipswitch + public class DipSwitch + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// entry + public string[]? Entry { get; set; } + + /// default, (yes|no) "no" + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Disk.cs b/SabreTools.Serialization/Models/ClrMamePro/Disk.cs new file mode 100644 index 00000000..3c1e1868 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Disk.cs @@ -0,0 +1,25 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// disk + public class Disk + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// md5 + public string? MD5 { get; set; } + + /// sha1 + public string? SHA1 { get; set; } + + /// merge + public string? Merge { get; set; } + + /// status + public string? Status { get; set; } + + /// flags + public string? Flags { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Driver.cs b/SabreTools.Serialization/Models/ClrMamePro/Driver.cs new file mode 100644 index 00000000..f77fbe56 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Driver.cs @@ -0,0 +1,22 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// driver + public class Driver + { + /// status, (good|imperfect|preliminary) + [SabreTools.Models.Required] + public string? Status { get; set; } + + /// color, (good|imperfect|preliminary) + public string? Color { get; set; } + + /// sound, (good|imperfect|preliminary) + public string? Sound { get; set; } + + /// palettesize, Numeric? + public string? PaletteSize { get; set; } + + /// blit, (plain|dirty) + public string? Blit { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Game.cs b/SabreTools.Serialization/Models/ClrMamePro/Game.cs new file mode 100644 index 00000000..57c6399c --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Game.cs @@ -0,0 +1,5 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// game + public class Game : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/GameBase.cs b/SabreTools.Serialization/Models/ClrMamePro/GameBase.cs new file mode 100644 index 00000000..25f71a49 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/GameBase.cs @@ -0,0 +1,80 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// + /// Base class to unify the various game-like types + /// + public abstract class GameBase + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// description + public string? Description { get; set; } + + /// year + public string? Year { get; set; } + + /// manufacturer + public string? Manufacturer { get; set; } + + /// category + public string? Category { get; set; } + + /// cloneof + public string? CloneOf { get; set; } + + /// romof + public string? RomOf { get; set; } + + /// sampleof + public string? SampleOf { get; set; } + + /// release + public Release[]? Release { get; set; } + + /// biosset + public BiosSet[]? BiosSet { get; set; } + + /// rom + public Rom[]? Rom { get; set; } + + /// disk + public Disk[]? Disk { get; set; } + + /// sample + public Sample[]? Sample { get; set; } + + /// archive + public Archive[]? Archive { get; set; } + + #region Aaru Extensions + + /// media, Appears after Disk + public Media[]? Media { get; set; } + + #endregion + + #region MAME Extensions + + /// chip, Appears after Archive + public Chip[]? Chip { get; set; } + + /// video, Appears after Chip + public Video[]? Video { get; set; } + + /// sound, Appears after Video + public Sound? Sound { get; set; } + + /// input, Appears after Sound + public Input? Input { get; set; } + + /// dipswitch, Appears after Input + public DipSwitch[]? DipSwitch { get; set; } + + /// driver, Appears after DipSwitch + public Driver? Driver { get; set; } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Input.cs b/SabreTools.Serialization/Models/ClrMamePro/Input.cs new file mode 100644 index 00000000..b8c7ed8d --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Input.cs @@ -0,0 +1,26 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// input + public class Input + { + /// players, Numeric/remarks> + [SabreTools.Models.Required] + public string? Players { get; set; } + + /// control + public string? Control { get; set; } + + /// buttons, Numeric + [SabreTools.Models.Required] + public string? Buttons { get; set; } + + /// coins, Numeric + public string? Coins { get; set; } + + /// tilt, (yes|no) "no" + public string? Tilt { get; set; } + + /// service, (yes|no) "no" + public string? Service { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Machine.cs b/SabreTools.Serialization/Models/ClrMamePro/Machine.cs new file mode 100644 index 00000000..73172d03 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Machine.cs @@ -0,0 +1,5 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// machine + public class Machine : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Media.cs b/SabreTools.Serialization/Models/ClrMamePro/Media.cs new file mode 100644 index 00000000..3f7c1936 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Media.cs @@ -0,0 +1,22 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// media + public class Media + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// md5 + public string? MD5 { get; set; } + + /// sha1 + public string? SHA1 { get; set; } + + /// sha256 + public string? SHA256 { get; set; } + + /// spamsum + public string? SpamSum { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/MetadataFile.cs b/SabreTools.Serialization/Models/ClrMamePro/MetadataFile.cs new file mode 100644 index 00000000..3972747e --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/MetadataFile.cs @@ -0,0 +1,11 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + public class MetadataFile + { + /// clrmamepro + public ClrMamePro? ClrMamePro { get; set; } + + /// game, machine, resource, set + public GameBase[]? Game { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Release.cs b/SabreTools.Serialization/Models/ClrMamePro/Release.cs new file mode 100644 index 00000000..dfcc592f --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Release.cs @@ -0,0 +1,23 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// release + public class Release + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// region + [SabreTools.Models.Required] + public string? Region { get; set; } + + /// language + public string? Language { get; set; } + + /// date + public string? Date { get; set; } + + /// default + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Resource.cs b/SabreTools.Serialization/Models/ClrMamePro/Resource.cs new file mode 100644 index 00000000..66237290 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Resource.cs @@ -0,0 +1,5 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// resource + public class Resource : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Rom.cs b/SabreTools.Serialization/Models/ClrMamePro/Rom.cs new file mode 100644 index 00000000..5d3771fa --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Rom.cs @@ -0,0 +1,103 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// rom + public class Rom + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// size, Numeric + [SabreTools.Models.Required] + public string? Size { get; set; } + + /// crc + public string? CRC { get; set; } + + /// md5 + public string? MD5 { get; set; } + + /// sha1 + public string? SHA1 { get; set; } + + /// merge + public string? Merge { get; set; } + + /// status + public string? Status { get; set; } + + /// flags + public string? Flags { get; set; } + + /// date + public string? Date { get; set; } + + #region Hash Extensions + + /// md2; Appears after CRC + public string? MD2 { get; set; } + + /// md4; Appears after MD2 + public string? MD4 { get; set; } + + /// ripemd128; Appears after MD5 + public string? RIPEMD128 { get; set; } + + /// ripemd160; Appears after RIPEMD128 + public string? RIPEMD160 { get; set; } + + /// sha256; Also in No-Intro spec; Appears after SHA1 + public string? SHA256 { get; set; } + + /// sha384; Appears after SHA256 + public string? SHA384 { get; set; } + + /// sha512; Appears after SHA384 + public string? SHA512 { get; set; } + + /// spamsum; Appears after SHA512 + public string? SpamSum { get; set; } + + #endregion + + #region DiscImgeCreator Extensions + + /// xxh3_64; Appears after SpamSum + public string? xxHash364 { get; set; } + + /// xxh3_128; Appears after xxHash364 + public string? xxHash3128 { get; set; } + + #endregion + + #region MAME Extensions + + /// region; Appears after Status + public string? Region { get; set; } + + /// offs; Appears after Flags + public string? Offs { get; set; } + + #endregion + + #region No-Intro Extensions + + /// serial; Appears after Offs + public string? Serial { get; set; } + + /// header; Appears after Serial + public string? Header { get; set; } + + #endregion + + #region RomVault Extensions + + /// inverted; Boolean; Appears after Date + public string? Inverted { get; set; } + + /// mia; Boolean; Appears after Inverted + public string? MIA { get; set; } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/RomVault.cs b/SabreTools.Serialization/Models/ClrMamePro/RomVault.cs new file mode 100644 index 00000000..37e17391 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/RomVault.cs @@ -0,0 +1,51 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// romvault + public class RomVault + { + /// name + public string? Name { get; set; } + + /// description + public string? Description { get; set; } + + /// rootdir + public string? RootDir { get; set; } + + /// category + public string? Category { get; set; } + + /// version + public string? Version { get; set; } + + /// date + public string? Date { get; set; } + + /// author + public string? Author { get; set; } + + /// homepage + public string? Homepage { get; set; } + + /// url + public string? Url { get; set; } + + /// comment + public string? Comment { get; set; } + + /// header + public string? Header { get; set; } + + /// type + public string? Type { get; set; } + + /// forcemerging + public string? ForceMerging { get; set; } + + /// forcezipping + public string? ForceZipping { get; set; } + + /// forcepacking + public string? ForcePacking { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Sample.cs b/SabreTools.Serialization/Models/ClrMamePro/Sample.cs new file mode 100644 index 00000000..507202c7 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Sample.cs @@ -0,0 +1,10 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// sample + public class Sample + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Set.cs b/SabreTools.Serialization/Models/ClrMamePro/Set.cs new file mode 100644 index 00000000..e493cadd --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Set.cs @@ -0,0 +1,5 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// set + public class Set : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Sound.cs b/SabreTools.Serialization/Models/ClrMamePro/Sound.cs new file mode 100644 index 00000000..e774edfb --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Sound.cs @@ -0,0 +1,10 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// sound + public class Sound + { + /// channels, Numeric? + [SabreTools.Models.Required] + public string? Channels { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/ClrMamePro/Video.cs b/SabreTools.Serialization/Models/ClrMamePro/Video.cs new file mode 100644 index 00000000..e4d35535 --- /dev/null +++ b/SabreTools.Serialization/Models/ClrMamePro/Video.cs @@ -0,0 +1,29 @@ +namespace SabreTools.Serialization.Models.ClrMamePro +{ + /// video + public class Video + { + /// screen, (raster|vector) + [SabreTools.Models.Required] + public string? Screen { get; set; } + + /// orientation, (vertical|horizontal) + [SabreTools.Models.Required] + public string? Orientation { get; set; } + + /// x, Numeric? + public string? X { get; set; } + + /// y, Numeric? + public string? Y { get; set; } + + /// aspectx, Numeric? + public string? AspectX { get; set; } + + /// aspecty, Numeric? + public string? AspectY { get; set; } + + /// freq, Numeric? + public string? Freq { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/DosCenter/DosCenter.cs b/SabreTools.Serialization/Models/DosCenter/DosCenter.cs new file mode 100644 index 00000000..9ddf9905 --- /dev/null +++ b/SabreTools.Serialization/Models/DosCenter/DosCenter.cs @@ -0,0 +1,27 @@ +namespace SabreTools.Serialization.Models.DosCenter +{ + /// doscenter + public class DosCenter + { + /// name + public string? Name { get; set; } + + /// description + public string? Description { get; set; } + + /// version + public string? Version { get; set; } + + /// date + public string? Date { get; set; } + + /// author + public string? Author { get; set; } + + /// homepage + public string? Homepage { get; set; } + + /// comment + public string? Comment { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/DosCenter/File.cs b/SabreTools.Serialization/Models/DosCenter/File.cs new file mode 100644 index 00000000..14d6f008 --- /dev/null +++ b/SabreTools.Serialization/Models/DosCenter/File.cs @@ -0,0 +1,24 @@ +namespace SabreTools.Serialization.Models.DosCenter +{ + /// file + public class File + { + /// name, attribute + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// size, attribute, numeric + [SabreTools.Models.Required] + public string? Size { get; set; } + + /// crc, attribute + [SabreTools.Models.Required] + public string? CRC { get; set; } + + /// sha1, attribute + public string? SHA1 { get; set; } + + /// date, attribute + public string? Date { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/DosCenter/Game.cs b/SabreTools.Serialization/Models/DosCenter/Game.cs new file mode 100644 index 00000000..71c55405 --- /dev/null +++ b/SabreTools.Serialization/Models/DosCenter/Game.cs @@ -0,0 +1,13 @@ +namespace SabreTools.Serialization.Models.DosCenter +{ + /// game + public class Game + { + /// name + [SabreTools.Models.Required] + public string? Name { get; set; } + + /// file + public File[]? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/DosCenter/MetadataFile.cs b/SabreTools.Serialization/Models/DosCenter/MetadataFile.cs new file mode 100644 index 00000000..1d84e188 --- /dev/null +++ b/SabreTools.Serialization/Models/DosCenter/MetadataFile.cs @@ -0,0 +1,11 @@ +namespace SabreTools.Serialization.Models.DosCenter +{ + public class MetadataFile + { + /// doscenter + public DosCenter? DosCenter { get; set; } + + /// game + public Game[]? Game { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/EverdriveSMDB/MetadataFile.cs b/SabreTools.Serialization/Models/EverdriveSMDB/MetadataFile.cs new file mode 100644 index 00000000..df282977 --- /dev/null +++ b/SabreTools.Serialization/Models/EverdriveSMDB/MetadataFile.cs @@ -0,0 +1,7 @@ +namespace SabreTools.Serialization.Models.EverdriveSMDB +{ + public class MetadataFile + { + public Row[]? Row { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/EverdriveSMDB/Row.cs b/SabreTools.Serialization/Models/EverdriveSMDB/Row.cs new file mode 100644 index 00000000..23f843d1 --- /dev/null +++ b/SabreTools.Serialization/Models/EverdriveSMDB/Row.cs @@ -0,0 +1,25 @@ +namespace SabreTools.Serialization.Models.EverdriveSMDB +{ + /// + /// SHA-256 \t Machine Name/Filename \t SHA-1 \t MD5 \t CRC32 \t Size (Optional) + /// + public class Row + { + [SabreTools.Models.Required] + public string? SHA256 { get; set; } + + [SabreTools.Models.Required] + public string? Name { get; set; } + + [SabreTools.Models.Required] + public string? SHA1 { get; set; } + + [SabreTools.Models.Required] + public string? MD5 { get; set; } + + [SabreTools.Models.Required] + public string? CRC32 { get; set; } + + public string? Size { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/GameHeader/FileData.cs b/SabreTools.Serialization/Models/GameHeader/FileData.cs new file mode 100644 index 00000000..9c09c966 --- /dev/null +++ b/SabreTools.Serialization/Models/GameHeader/FileData.cs @@ -0,0 +1,32 @@ +namespace SabreTools.Serialization.Models.GameHeader +{ + /// + /// File Data section for all files + /// + public sealed class FileData + { + public string? System { get; set; } + + public string? Path { get; set; } + + public string? Archive { get; set; } + + public string? File { get; set; } + + public string? BitSize { get; set; } + + public long SizeBytes { get; set; } + + // Hex string, no prefix + public string? CRC32 { get; set; } + + // Hex string, no prefix + public string? MD5 { get; set; } + + // Hex string, no prefix + public string? SHA1 { get; set; } + + // Hex string, no prefix + public string? SHA256 { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/GameHeader/NitroEncryptedData.cs b/SabreTools.Serialization/Models/GameHeader/NitroEncryptedData.cs new file mode 100644 index 00000000..f25269e2 --- /dev/null +++ b/SabreTools.Serialization/Models/GameHeader/NitroEncryptedData.cs @@ -0,0 +1,22 @@ +namespace SabreTools.Serialization.Models.GameHeader +{ + /// + /// Encrypted Data section for an NDS cart image + /// + public sealed class NitroEncryptedData + { + public ushort EncryptedSecure { get; set; } + + // Hex string, no prefix + public string? EncryptedCRC32 { get; set; } + + // Hex string, no prefix + public string? EncryptedMD5 { get; set; } + + // Hex string, no prefix + public string? EncryptedSHA1 { get; set; } + + // Hex string, no prefix + public string? EncryptedSHA256 { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/GameHeader/NitroHeaderData.cs b/SabreTools.Serialization/Models/GameHeader/NitroHeaderData.cs new file mode 100644 index 00000000..cac30681 --- /dev/null +++ b/SabreTools.Serialization/Models/GameHeader/NitroHeaderData.cs @@ -0,0 +1,202 @@ +namespace SabreTools.Serialization.Models.GameHeader +{ + /// + /// Header Data section for an NDS cart image + /// + public sealed class NitroHeaderData + { + public string? GameTitle { get; set; } + + public string? GameSerial { get; set; } + + public string? MakerCode { get; set; } + + public byte UnitCode { get; set; } + + public byte EncryptionSeed { get; set; } + + public byte DeviceSize { get; set; } + + public string? DeviceSizeInfo { get; set; } + + public byte AsianRegion { get; set; } + + // Hex string, prefixed + public string? Reserved1 { get; set; } + + public byte Version { get; set; } + + public string? VersionInfo { get; set; } + + public byte Autostart { get; set; } + + public string? AutostartInfo { get; set; } + + public uint ARM9ROMOffset { get; set; } + + public uint ARM9EntryAddress { get; set; } + + public uint ARM9RAMOffset { get; set; } + + public uint ARM7ROMOffset { get; set; } + + public uint ARM7EntryAddress { get; set; } + + public uint ARM7RAMOffset { get; set; } + + public uint FNTOffset { get; set; } + + public uint FNTSize { get; set; } + + public uint FATOffset { get; set; } + + public uint FATSize { get; set; } + + public uint ARM9OverlayOffset { get; set; } + + public uint ARM9OverlaySize { get; set; } + + public uint ARM7OverlayOffset { get; set; } + + public uint ARM7OverlaySize { get; set; } + + public uint NormalCMDSetting { get; set; } + + public uint Key1CMDSetting { get; set; } + + public uint IconAddress { get; set; } + + public ushort SecureCRC16 { get; set; } + + public string? SecureCRC16Info { get; set; } + + public ushort SecureTimeout { get; set; } + + public uint ARM9AutoloadAddress { get; set; } + + public uint ARM7AutoloadAddress { get; set; } + + public ulong SecureDisable { get; set; } + + public uint UsedRomSize { get; set; } + + public string? UsedRomSizeInfo { get; set; } + + public uint HeaderSize { get; set; } + + public string? HeaderSizeInfo { get; set; } + + // Hex string, no prefix + public string? Reserved2 { get; set; } + + // Hex string, no prefix + public string? NintendoLogo { get; set; } + + public ushort LogoCRC16 { get; set; } + + public string? LogoCRC16Info { get; set; } + + public ushort HeaderCRC16 { get; set; } + + public string? HeaderCRC16Info { get; set; } + + // Hex string, prefixed + public string? Reserved3 { get; set; } + + // Hex string, prefixed + public string? ConfigSettings { get; set; } + + public uint DsiRegionMask { get; set; } + + public uint AccessControl { get; set; } + + public uint ARM7SCFG { get; set; } + + public uint DSiAppFlags { get; set; } + + public uint DSi9RomOffset { get; set; } + + public uint DSi9EntryAddress { get; set; } + + public uint DSi9RamAddress { get; set; } + + public uint DSi9Size { get; set; } + + public uint DSi7RomOffset { get; set; } + + public uint DSi7EntryAddress { get; set; } + + public uint DSi7RamAddress { get; set; } + + public uint DSi7Size { get; set; } + + public uint DigestNTROffset { get; set; } + + public uint DigestNTRSize { get; set; } + + public uint DigestTWLOffset { get; set; } + + public uint DigestTWLSize { get; set; } + + public uint DigestSectorHashTableOffset { get; set; } + + public uint DigestSectorHashTableSize { get; set; } + + public uint DigestBlockHashTableOffset { get; set; } + + public uint DigestBlockHashTableLength { get; set; } + + public uint DigestSectorSize { get; set; } + + public uint DigestBlockSectorCount { get; set; } + + // Hex string, prefixed + public string? Reserved4 { get; set; } + + public uint Modcrypt1Offset { get; set; } + + public uint Modcrypt1Size { get; set; } + + public uint Modcrypt2Offset { get; set; } + + public uint Modcrypt2Size { get; set; } + + public ulong TitleID { get; set; } + + // Hex string, prefixed + public string? Reserved5 { get; set; } + + // Hex string, prefixed + public string? ARM9SHA1HMAC { get; set; } + + // Hex string, prefixed + public string? ARM7SHA1HMAC { get; set; } + + // Hex string, prefixed + public string? DigestMasterSHA1HMAC { get; set; } + + // Hex string, prefixed + public string? BannerSHA1HMAC { get; set; } + + // Hex string, prefixed + public string? ARM9iSHA1HMAC { get; set; } + + // Hex string, prefixed + public string? ARM7iSHA1HMAC { get; set; } + + // Hex string, prefixed + public string? Reserved6 { get; set; } + + // Hex string, prefixed + public string? UnknownHash { get; set; } + + // Hex string, prefixed + public string? Reserved7 { get; set; } + + // Hex string, prefixed + public string? Reserved8 { get; set; } + + // Hex string, prefixed + public string? RSASignature { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/GameHeader/NitroIconTitleData.cs b/SabreTools.Serialization/Models/GameHeader/NitroIconTitleData.cs new file mode 100644 index 00000000..d3d7aa69 --- /dev/null +++ b/SabreTools.Serialization/Models/GameHeader/NitroIconTitleData.cs @@ -0,0 +1,26 @@ +namespace SabreTools.Serialization.Models.GameHeader +{ + /// + /// Icon/Title Data section for an NDS cart image + /// + public sealed class NitroIconTitleData + { + public ushort IconVersion { get; set; } + + public ushort IconCRC16 { get; set; } + + public string? IconCRCInfo { get; set; } + + public string? JapaneseTitle { get; set; } + + public string? EnglishTitle { get; set; } + + public string? FrenchTitle { get; set; } + + public string? GermanTitle { get; set; } + + public string? SpanishTitle { get; set; } + + public string? ItalianTitle { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/Hashfile.cs b/SabreTools.Serialization/Models/Hashfile/Hashfile.cs new file mode 100644 index 00000000..1d0bf01c --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/Hashfile.cs @@ -0,0 +1,28 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// Hashfiles can only contain one type of hash at a time + public class Hashfile + { + public SFV[]? SFV { get; set; } + + public MD2[]? MD2 { get; set; } + + public MD4[]? MD4 { get; set; } + + public MD5[]? MD5 { get; set; } + + public RIPEMD128[]? RIPEMD128 { get; set; } + + public RIPEMD160[]? RIPEMD160 { get; set; } + + public SHA1[]? SHA1 { get; set; } + + public SHA256[]? SHA256 { get; set; } + + public SHA384[]? SHA384 { get; set; } + + public SHA512[]? SHA512 { get; set; } + + public SpamSum[]? SpamSum { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/MD2.cs b/SabreTools.Serialization/Models/Hashfile/MD2.cs new file mode 100644 index 00000000..a95826ae --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/MD2.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// MD2 File + /// + public class MD2 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/MD4.cs b/SabreTools.Serialization/Models/Hashfile/MD4.cs new file mode 100644 index 00000000..9ebfef26 --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/MD4.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// MD4 File + /// + public class MD4 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/MD5.cs b/SabreTools.Serialization/Models/Hashfile/MD5.cs new file mode 100644 index 00000000..7ce1c630 --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/MD5.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// MD5 File + /// + public class MD5 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/RIPEMD128.cs b/SabreTools.Serialization/Models/Hashfile/RIPEMD128.cs new file mode 100644 index 00000000..48682e41 --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/RIPEMD128.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// RIPEMD128 File + /// + public class RIPEMD128 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/RIPEMD160.cs b/SabreTools.Serialization/Models/Hashfile/RIPEMD160.cs new file mode 100644 index 00000000..f62c6e49 --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/RIPEMD160.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// RIPEMD160 File + /// + public class RIPEMD160 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/SFV.cs b/SabreTools.Serialization/Models/Hashfile/SFV.cs new file mode 100644 index 00000000..1eacdfaf --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/SFV.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// File CRC + /// + public class SFV + { + [SabreTools.Models.Required] + public string? File { get; set; } + + [SabreTools.Models.Required] + public string? Hash { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/SHA1.cs b/SabreTools.Serialization/Models/Hashfile/SHA1.cs new file mode 100644 index 00000000..d7f8bd6c --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/SHA1.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// SHA-1 File + /// + public class SHA1 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/SHA256.cs b/SabreTools.Serialization/Models/Hashfile/SHA256.cs new file mode 100644 index 00000000..ea360bee --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/SHA256.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// SHA-256 File + /// + public class SHA256 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/SHA384.cs b/SabreTools.Serialization/Models/Hashfile/SHA384.cs new file mode 100644 index 00000000..941c7bb7 --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/SHA384.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// SHA-384 File + /// + public class SHA384 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/SHA512.cs b/SabreTools.Serialization/Models/Hashfile/SHA512.cs new file mode 100644 index 00000000..31a75d57 --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/SHA512.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// SHA-512 File + /// + public class SHA512 + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Hashfile/SpamSum.cs b/SabreTools.Serialization/Models/Hashfile/SpamSum.cs new file mode 100644 index 00000000..b61c1d2f --- /dev/null +++ b/SabreTools.Serialization/Models/Hashfile/SpamSum.cs @@ -0,0 +1,14 @@ +namespace SabreTools.Serialization.Models.Hashfile +{ + /// + /// SpamSum File + /// + public class SpamSum + { + [SabreTools.Models.Required] + public string? Hash { get; set; } + + [SabreTools.Models.Required] + public string? File { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listrom/MetadataFile.cs b/SabreTools.Serialization/Models/Listrom/MetadataFile.cs new file mode 100644 index 00000000..8d7e42c1 --- /dev/null +++ b/SabreTools.Serialization/Models/Listrom/MetadataFile.cs @@ -0,0 +1,7 @@ +namespace SabreTools.Serialization.Models.Listrom +{ + public class MetadataFile + { + public Set[]? Set { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listrom/Row.cs b/SabreTools.Serialization/Models/Listrom/Row.cs new file mode 100644 index 00000000..e85f3fad --- /dev/null +++ b/SabreTools.Serialization/Models/Listrom/Row.cs @@ -0,0 +1,32 @@ +namespace SabreTools.Serialization.Models.Listrom +{ + /// + /// ROMs required for driver "testdriver". + /// Name Size Checksum + /// abcd.bin 1024 CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) + /// efgh.bin 1024 BAD CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP + /// ijkl.bin 1024 NO GOOD DUMP KNOWN + /// abcd MD5(d41d8cd98f00b204e9800998ecf8427e) + /// abcd SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) + /// efgh BAD MD5(d41d8cd98f00b204e9800998ecf8427e) BAD_DUMP + /// efgh BAD SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP + /// ijkl NO GOOD DUMP KNOWN + /// + public class Row + { + [SabreTools.Models.Required] + public string? Name { get; set; } + + public string? Size { get; set; } + + public bool Bad { get; set; } + + public string? CRC { get; set; } + + public string? MD5 { get; set; } + + public string? SHA1 { get; set; } + + public bool NoGoodDumpKnown { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listrom/Set.cs b/SabreTools.Serialization/Models/Listrom/Set.cs new file mode 100644 index 00000000..c96dec51 --- /dev/null +++ b/SabreTools.Serialization/Models/Listrom/Set.cs @@ -0,0 +1,21 @@ +namespace SabreTools.Serialization.Models.Listrom +{ + /// + /// ROMs required for driver "testdriver". + /// Name Size Checksum + /// abcd.bin 1024 CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) + /// efgh.bin 1024 BAD CRC(00000000) SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP + /// ijkl.bin 1024 NO GOOD DUMP KNOWN + /// abcd SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) + /// efgh BAD SHA1(da39a3ee5e6b4b0d3255bfef95601890afd80709) BAD_DUMP + /// ijkl NO GOOD DUMP KNOWN + /// + public class Set + { + public string? Driver { get; set; } + + public string? Device { get; set; } + + public Row[]? Row { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Adjuster.cs b/SabreTools.Serialization/Models/Listxml/Adjuster.cs new file mode 100644 index 00000000..3024a624 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Adjuster.cs @@ -0,0 +1,20 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("adjuster")] + public class Adjuster + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + + [XmlElement("condition")] + public Condition? Condition { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Analog.cs b/SabreTools.Serialization/Models/Listxml/Analog.cs new file mode 100644 index 00000000..628cfcea --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Analog.cs @@ -0,0 +1,13 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("analog")] + public class Analog + { + [SabreTools.Models.Required] + [XmlAttribute("mask")] + public string? Mask { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/BiosSet.cs b/SabreTools.Serialization/Models/Listxml/BiosSet.cs new file mode 100644 index 00000000..e406a3fd --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/BiosSet.cs @@ -0,0 +1,21 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("biosset")] + public class BiosSet + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("description")] + public string? Description { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Chip.cs b/SabreTools.Serialization/Models/Listxml/Chip.cs new file mode 100644 index 00000000..beba4d0d --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Chip.cs @@ -0,0 +1,28 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("chip")] + public class Chip + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("tag")] + public string? Tag { get; set; } + + /// (cpu|audio) + [SabreTools.Models.Required] + [XmlAttribute("type")] + public string? Type { get; set; } + + /// Only present in older versions + [XmlAttribute("soundonly")] + public string? SoundOnly { get; set; } + + [XmlAttribute("clock")] + public string? Clock { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Condition.cs b/SabreTools.Serialization/Models/Listxml/Condition.cs new file mode 100644 index 00000000..e01276a7 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Condition.cs @@ -0,0 +1,26 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("condition")] + public class Condition + { + [SabreTools.Models.Required] + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("mask")] + public string? Mask { get; set; } + + /// (eq|ne|gt|le|lt|ge) + [SabreTools.Models.Required] + [XmlAttribute("relation")] + public string? Relation { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("value")] + public string? Value { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/ConfLocation.cs b/SabreTools.Serialization/Models/Listxml/ConfLocation.cs new file mode 100644 index 00000000..8d5c7f61 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/ConfLocation.cs @@ -0,0 +1,22 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("conflocation")] + public class ConfLocation + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + /// Numeric? + [SabreTools.Models.Required] + [XmlAttribute("number")] + public string? Number { get; set; } + + /// (yes|no) "no" + [XmlAttribute("inverted")] + public string? Inverted { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/ConfSetting.cs b/SabreTools.Serialization/Models/Listxml/ConfSetting.cs new file mode 100644 index 00000000..573e9308 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/ConfSetting.cs @@ -0,0 +1,24 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("confsetting")] + public class ConfSetting + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("value")] + public string? Value { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + + [XmlElement("condition")] + public Condition? Condition { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Configuration.cs b/SabreTools.Serialization/Models/Listxml/Configuration.cs new file mode 100644 index 00000000..c50fe883 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Configuration.cs @@ -0,0 +1,29 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("configuration")] + public class Configuration + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [XmlAttribute("mask")] + public string? Mask { get; set; } + + [XmlElement("condition")] + public Condition? Condition { get; set; } + + [XmlElement("conflocation")] + public ConfLocation[]? ConfLocation { get; set; } + + [XmlElement("confsetting")] + public ConfSetting[]? ConfSetting { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Control.cs b/SabreTools.Serialization/Models/Listxml/Control.cs new file mode 100644 index 00000000..7d806a0b --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Control.cs @@ -0,0 +1,58 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("control")] + public class Control + { + /// (joy|stick|paddle|pedal|lightgun|positional|dial|trackball|mouse|only_buttons|keypad|keyboard|mahjong|hanafuda|gambling) + [SabreTools.Models.Required] + [XmlAttribute("type")] + public string? Type { get; set; } + + /// Numeric + [XmlAttribute("player")] + public string? Player { get; set; } + + /// Numeric + [XmlAttribute("buttons")] + public string? Buttons { get; set; } + + /// Numeric + [XmlAttribute("reqbuttons")] + public string? ReqButtons { get; set; } + + /// Numeric + [XmlAttribute("minimum")] + public string? Minimum { get; set; } + + /// Numeric + [XmlAttribute("maximum")] + public string? Maximum { get; set; } + + /// Numeric + [XmlAttribute("sensitivity")] + public string? Sensitivity { get; set; } + + /// Numeric + [XmlAttribute("keydelta")] + public string? KeyDelta { get; set; } + + /// (yes|no) "no" + [XmlAttribute("reverse")] + public string? Reverse { get; set; } + + /// Numeric? + [XmlAttribute("ways")] + public string? Ways { get; set; } + + /// Numeric? + [XmlAttribute("ways2")] + public string? Ways2 { get; set; } + + /// Numeric? + [XmlAttribute("ways3")] + public string? Ways3 { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Device.cs b/SabreTools.Serialization/Models/Listxml/Device.cs new file mode 100644 index 00000000..15bfb1be --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Device.cs @@ -0,0 +1,32 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("device")] + public class Device + { + [SabreTools.Models.Required] + [XmlAttribute("type")] + public string? Type { get; set; } + + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [XmlAttribute("fixed_image")] + public string? FixedImage { get; set; } + + /// Numeric boolean + [XmlAttribute("mandatory")] + public string? Mandatory { get; set; } + + [XmlAttribute("interface")] + public string? Interface { get; set; } + + [XmlElement("instance")] + public Instance? Instance { get; set; } + + [XmlElement("extension")] + public Extension[]? Extension { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/DeviceRef.cs b/SabreTools.Serialization/Models/Listxml/DeviceRef.cs new file mode 100644 index 00000000..2387c785 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/DeviceRef.cs @@ -0,0 +1,13 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("device_ref")] + public class DeviceRef + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/DipLocation.cs b/SabreTools.Serialization/Models/Listxml/DipLocation.cs new file mode 100644 index 00000000..1aa09a70 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/DipLocation.cs @@ -0,0 +1,22 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("diplocation")] + public class DipLocation + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + /// Numeric? + [SabreTools.Models.Required] + [XmlAttribute("number")] + public string? Number { get; set; } + + /// (yes|no) "no" + [XmlAttribute("inverted")] + public string? Inverted { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/DipSwitch.cs b/SabreTools.Serialization/Models/Listxml/DipSwitch.cs new file mode 100644 index 00000000..544d366c --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/DipSwitch.cs @@ -0,0 +1,29 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("dipswitch")] + public class DipSwitch + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [XmlAttribute("mask")] + public string? Mask { get; set; } + + [XmlElement("condition")] + public Condition? Condition { get; set; } + + [XmlElement("diplocation")] + public DipLocation[]? DipLocation { get; set; } + + [XmlElement("dipvalue")] + public DipValue[]? DipValue { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/DipValue.cs b/SabreTools.Serialization/Models/Listxml/DipValue.cs new file mode 100644 index 00000000..330cc991 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/DipValue.cs @@ -0,0 +1,24 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("dipvalue")] + public class DipValue + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("value")] + public string? Value { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + + [XmlElement("condition")] + public Condition? Condition { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Disk.cs b/SabreTools.Serialization/Models/Listxml/Disk.cs new file mode 100644 index 00000000..ba3f4245 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Disk.cs @@ -0,0 +1,42 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("disk")] + public class Disk + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + /// Only present in older versions + [XmlAttribute("md5")] + public string? MD5 { get; set; } + + [XmlAttribute("sha1")] + public string? SHA1 { get; set; } + + [XmlAttribute("merge")] + public string? Merge { get; set; } + + [XmlAttribute("region")] + public string? Region { get; set; } + + /// Numeric? + [XmlAttribute("index")] + public string? Index { get; set; } + + /// (yes|no) "no" + [XmlAttribute("writable")] + public string? Writable { get; set; } + + /// (baddump|nodump|good) "good" + [XmlAttribute("status")] + public string? Status { get; set; } + + /// (yes|no) "no" + [XmlAttribute("optional")] + public string? Optional { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Display.cs b/SabreTools.Serialization/Models/Listxml/Display.cs new file mode 100644 index 00000000..f96b333a --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Display.cs @@ -0,0 +1,66 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("display")] + public class Display + { + [XmlAttribute("tag")] + public string? Tag { get; set; } + + /// (raster|vector|lcd|svg|unknown) + [SabreTools.Models.Required] + [XmlAttribute("type")] + public string? Type { get; set; } + + /// (0|90|180|270) + [XmlAttribute("rotate")] + public string? Rotate { get; set; } + + /// (yes|no) "no" + [XmlAttribute("flipx")] + public string? FlipX { get; set; } + + /// Numeric + [XmlAttribute("width")] + public string? Width { get; set; } + + /// Numeric + [XmlAttribute("height")] + public string? Height { get; set; } + + /// Numeric + [SabreTools.Models.Required] + [XmlAttribute("refresh")] + public string? Refresh { get; set; } + + /// Numeric + [XmlAttribute("pixclock")] + public string? PixClock { get; set; } + + /// Numeric + [XmlAttribute("htotal")] + public string? HTotal { get; set; } + + /// Numeric + [XmlAttribute("hbend")] + public string? HBEnd { get; set; } + + /// Numeric + [XmlAttribute("hbstart")] + public string? HBStart { get; set; } + + /// Numeric + [XmlAttribute("vtotal")] + public string? VTotal { get; set; } + + /// Numeric + [XmlAttribute("vbend")] + public string? VBEnd { get; set; } + + /// Numeric + [XmlAttribute("vbstart")] + public string? VBStart { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Driver.cs b/SabreTools.Serialization/Models/Listxml/Driver.cs new file mode 100644 index 00000000..0f05ac73 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Driver.cs @@ -0,0 +1,57 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("driver")] + public class Driver + { + /// (good|imperfect|preliminary), (good|preliminary|test) in older versions + [SabreTools.Models.Required] + [XmlAttribute("status")] + public string? Status { get; set; } + + /// (good|imperfect|preliminary), Only present in older versions + [XmlAttribute("color")] + public string? Color { get; set; } + + /// (good|imperfect|preliminary), Only present in older versions + [XmlAttribute("sound")] + public string? Sound { get; set; } + + /// Only present in older versions + [XmlAttribute("palettesize")] + public string? PaletteSize { get; set; } + + /// (good|imperfect|preliminary) + [SabreTools.Models.Required] + [XmlAttribute("emulation")] + public string? Emulation { get; set; } + + /// (good|imperfect|preliminary) + [SabreTools.Models.Required] + [XmlAttribute("cocktail")] + public string? Cocktail { get; set; } + + /// (supported|unsupported) + [SabreTools.Models.Required] + [XmlAttribute("savestate")] + public string? SaveState { get; set; } + + /// (yes|no) "no" + [XmlAttribute("requiresartwork")] + public string? RequiresArtwork { get; set; } + + /// (yes|no) "no" + [XmlAttribute("unofficial")] + public string? Unofficial { get; set; } + + /// (yes|no) "no" + [XmlAttribute("nosoundhardware")] + public string? NoSoundHardware { get; set; } + + /// (yes|no) "no" + [XmlAttribute("incomplete")] + public string? Incomplete { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Extension.cs b/SabreTools.Serialization/Models/Listxml/Extension.cs new file mode 100644 index 00000000..b9b64d20 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Extension.cs @@ -0,0 +1,13 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("extension")] + public class Extension + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Feature.cs b/SabreTools.Serialization/Models/Listxml/Feature.cs new file mode 100644 index 00000000..601021d9 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Feature.cs @@ -0,0 +1,22 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("feature")] + public class Feature + { + /// (protection|timing|graphics|palette|sound|capture|camera|microphone|controls|keyboard|mouse|media|disk|printer|tape|punch|drum|rom|comms|lan|wan) + [SabreTools.Models.Required] + [XmlAttribute("type")] + public string? Type { get; set; } + + /// (unemulated|imperfect) + [XmlAttribute("status")] + public string? Status { get; set; } + + /// (unemulated|imperfect) + [XmlAttribute("overall")] + public string? Overall { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Game.cs b/SabreTools.Serialization/Models/Listxml/Game.cs new file mode 100644 index 00000000..9918f9a6 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Game.cs @@ -0,0 +1,7 @@ +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("game")] + public class Game : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/GameBase.cs b/SabreTools.Serialization/Models/Listxml/GameBase.cs new file mode 100644 index 00000000..9a450b5c --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/GameBase.cs @@ -0,0 +1,119 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + /// + /// Base class to unify the various game-like types + /// + public abstract class GameBase + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + /// Machine only + [XmlAttribute("sourcefile")] + public string? SourceFile { get; set; } + + /// (yes|no) "no", Machine only + [XmlAttribute("isbios")] + public string? IsBios { get; set; } + + /// (yes|no) "no", Machine only + [XmlAttribute("isdevice")] + public string? IsDevice { get; set; } + + /// (yes|no) "no", Machine only + [XmlAttribute("ismechanical")] + public string? IsMechanical { get; set; } + + /// (yes|no) "no" + [XmlAttribute("runnable")] + public string? Runnable { get; set; } + + [XmlAttribute("cloneof")] + public string? CloneOf { get; set; } + + [XmlAttribute("romof")] + public string? RomOf { get; set; } + + [XmlAttribute("sampleof")] + public string? SampleOf { get; set; } + + [SabreTools.Models.Required] + [XmlElement("description")] + public string? Description { get; set; } + + [XmlElement("year")] + public string? Year { get; set; } + + [XmlElement("manufacturer")] + public string? Manufacturer { get; set; } + + /// Game only + [XmlElement("history")] + public string? History { get; set; } + + [XmlElement("biosset")] + public BiosSet[]? BiosSet { get; set; } + + [XmlElement("rom")] + public Rom[]? Rom { get; set; } + + [XmlElement("disk")] + public Disk[]? Disk { get; set; } + + [XmlElement("device_ref")] + public DeviceRef[]? DeviceRef { get; set; } + + [XmlElement("sample")] + public Sample[]? Sample { get; set; } + + [XmlElement("chip")] + public Chip[]? Chip { get; set; } + + [XmlElement("display")] + public Display[]? Display { get; set; } + + /// Only present in older versions + [XmlElement("video")] + public Video[]? Video { get; set; } + + [XmlElement("sound")] + public Sound? Sound { get; set; } + + [XmlElement("input")] + public Input? Input { get; set; } + + [XmlElement("dipswitch")] + public DipSwitch[]? DipSwitch { get; set; } + + [XmlElement("configuration")] + public Configuration[]? Configuration { get; set; } + + [XmlElement("port")] + public Port[]? Port { get; set; } + + [XmlElement("adjuster")] + public Adjuster[]? Adjuster { get; set; } + + [XmlElement("driver")] + public Driver? Driver { get; set; } + + [XmlElement("feature")] + public Feature[]? Feature { get; set; } + + [XmlElement("device")] + public Device[]? Device { get; set; } + + [XmlElement("slot")] + public Slot[]? Slot { get; set; } + + [XmlElement("softwarelist")] + public SoftwareList[]? SoftwareList { get; set; } + + [XmlElement("ramoption")] + public RamOption[]? RamOption { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Input.cs b/SabreTools.Serialization/Models/Listxml/Input.cs new file mode 100644 index 00000000..343eb201 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Input.cs @@ -0,0 +1,37 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("input")] + public class Input + { + /// (yes|no) "no" + [XmlAttribute("service")] + public string? Service { get; set; } + + /// (yes|no) "no" + [XmlAttribute("tilt")] + public string? Tilt { get; set; } + + /// Numeric + [SabreTools.Models.Required] + [XmlAttribute("players")] + public string? Players { get; set; } + + /// Only present in older versions + [XmlAttribute("control")] + public string? ControlAttr { get; set; } + + /// Only present in older versions, Numeric? + [XmlAttribute("buttons")] + public string? Buttons { get; set; } + + /// Numeric? + [XmlAttribute("coins")] + public string? Coins { get; set; } + + [XmlElement("control")] + public Control[]? Control { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Instance.cs b/SabreTools.Serialization/Models/Listxml/Instance.cs new file mode 100644 index 00000000..92b654d7 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Instance.cs @@ -0,0 +1,17 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("instance")] + public class Instance + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("briefname")] + public string? BriefName { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/M1.cs b/SabreTools.Serialization/Models/Listxml/M1.cs new file mode 100644 index 00000000..8053d0b9 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/M1.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("m1")] + public class M1 + { + [XmlAttribute("version")] + public string? Version { get; set; } + + [XmlElement("machine", typeof(Machine))] + [XmlElement("game", typeof(Game))] + public GameBase[]? Game { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Machine.cs b/SabreTools.Serialization/Models/Listxml/Machine.cs new file mode 100644 index 00000000..0d50e6b4 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Machine.cs @@ -0,0 +1,7 @@ +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("machine")] + public class Machine : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Mame.cs b/SabreTools.Serialization/Models/Listxml/Mame.cs new file mode 100644 index 00000000..5933cc90 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Mame.cs @@ -0,0 +1,24 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("mame")] + public class Mame + { + [XmlAttribute("build")] + public string? Build { get; set; } + + /// (yes|no) "no" + [XmlAttribute("debug")] + public string? Debug { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("mameconfig")] + public string? MameConfig { get; set; } + + [XmlElement("machine", typeof(Machine))] + [XmlElement("game", typeof(Game))] + public GameBase[]? Game { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Mess.cs b/SabreTools.Serialization/Models/Listxml/Mess.cs new file mode 100644 index 00000000..4f646428 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Mess.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("mess")] + public class Mess + { + [XmlAttribute("version")] + public string? Version { get; set; } + + [XmlElement("machine", typeof(Machine))] + [XmlElement("game", typeof(Game))] + public GameBase[]? Game { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Port.cs b/SabreTools.Serialization/Models/Listxml/Port.cs new file mode 100644 index 00000000..a677053f --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Port.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("port")] + public class Port + { + [SabreTools.Models.Required] + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [XmlElement("analog")] + public Analog[]? Analog { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/RamOption.cs b/SabreTools.Serialization/Models/Listxml/RamOption.cs new file mode 100644 index 00000000..69c5217a --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/RamOption.cs @@ -0,0 +1,19 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("ramoption")] + public class RamOption + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("default")] + public string? Default { get; set; } + + [XmlText] + public string? Content { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Rom.cs b/SabreTools.Serialization/Models/Listxml/Rom.cs new file mode 100644 index 00000000..c708380a --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Rom.cs @@ -0,0 +1,53 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("rom")] + public class Rom + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("bios")] + public string? Bios { get; set; } + + /// Numeric + [SabreTools.Models.Required] + [XmlAttribute("size")] + public string? Size { get; set; } + + [XmlAttribute("crc")] + public string? CRC { get; set; } + + [XmlAttribute("sha1")] + public string? SHA1 { get; set; } + + [XmlAttribute("merge")] + public string? Merge { get; set; } + + [XmlAttribute("region")] + public string? Region { get; set; } + + /// Numeric + [XmlAttribute("offset")] + public string? Offset { get; set; } + + /// (baddump|nodump|good) "good" + [XmlAttribute("status")] + public string? Status { get; set; } + + /// (yes|no) "no" + [XmlAttribute("optional")] + public string? Optional { get; set; } + + /// (yes|no) "no", Only present in older versions + [XmlAttribute("dispose")] + public string? Dispose { get; set; } + + /// (yes|no) "no", Only present in older versions + [XmlAttribute("soundonly")] + public string? SoundOnly { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Sample.cs b/SabreTools.Serialization/Models/Listxml/Sample.cs new file mode 100644 index 00000000..2c65ed77 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Sample.cs @@ -0,0 +1,13 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("sample")] + public class Sample + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Slot.cs b/SabreTools.Serialization/Models/Listxml/Slot.cs new file mode 100644 index 00000000..0689229c --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Slot.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("slot")] + public class Slot + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlElement("slotoption")] + public SlotOption[]? SlotOption { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/SlotOption.cs b/SabreTools.Serialization/Models/Listxml/SlotOption.cs new file mode 100644 index 00000000..84079404 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/SlotOption.cs @@ -0,0 +1,21 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("slotoption")] + public class SlotOption + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("devname")] + public string? DevName { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/SoftwareList.cs b/SabreTools.Serialization/Models/Listxml/SoftwareList.cs new file mode 100644 index 00000000..a75d3d4e --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/SoftwareList.cs @@ -0,0 +1,25 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("softwarelist")] + public class SoftwareList + { + [SabreTools.Models.Required] + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + /// (original|compatible) + [SabreTools.Models.Required] + [XmlAttribute("status")] + public string? Status { get; set; } + + [XmlAttribute("filter")] + public string? Filter { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Sound.cs b/SabreTools.Serialization/Models/Listxml/Sound.cs new file mode 100644 index 00000000..68e9c949 --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Sound.cs @@ -0,0 +1,14 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("sound")] + public class Sound + { + /// Numeric + [SabreTools.Models.Required] + [XmlAttribute("channels")] + public string? Channels { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Listxml/Video.cs b/SabreTools.Serialization/Models/Listxml/Video.cs new file mode 100644 index 00000000..66dd552c --- /dev/null +++ b/SabreTools.Serialization/Models/Listxml/Video.cs @@ -0,0 +1,39 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Listxml +{ + [XmlRoot("video")] + public class Video + { + /// (raster|vector) + [SabreTools.Models.Required] + [XmlAttribute("screen")] + public string? Screen { get; set; } + + /// (vertical|horizontal) + [SabreTools.Models.Required] + [XmlAttribute("orientation")] + public string? Orientation { get; set; } + + /// Numeric + [XmlAttribute("width")] + public string? Width { get; set; } + + /// Numeric + [XmlAttribute("height")] + public string? Height { get; set; } + + /// Numeric + [XmlAttribute("aspectx")] + public string? AspectX { get; set; } + + /// Numeric + [XmlAttribute("aspecty")] + public string? AspectY { get; set; } + + /// Numeric + [XmlAttribute("refresh")] + public string? Refresh { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Archive.cs b/SabreTools.Serialization/Models/Logiqx/Archive.cs new file mode 100644 index 00000000..661d1b9e --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Archive.cs @@ -0,0 +1,13 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("archive")] + public class Archive + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/BiosSet.cs b/SabreTools.Serialization/Models/Logiqx/BiosSet.cs new file mode 100644 index 00000000..e6dab442 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/BiosSet.cs @@ -0,0 +1,21 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("biosset")] + public class BiosSet + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("description")] + public string? Description { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/ClrMamePro.cs b/SabreTools.Serialization/Models/Logiqx/ClrMamePro.cs new file mode 100644 index 00000000..f4dd2422 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/ClrMamePro.cs @@ -0,0 +1,24 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("clrmamepro")] + public class ClrMamePro + { + [XmlAttribute("header")] + public string? Header { get; set; } + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + [XmlAttribute("forcemerging")] + public string? ForceMerging { get; set; } + + /// (obsolete|required|ignore) "obsolete" + [XmlAttribute("forcenodump")] + public string? ForceNodump { get; set; } + + /// (zip|unzip) "zip" + [XmlAttribute("forcepacking")] + public string? ForcePacking { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Datafile.cs b/SabreTools.Serialization/Models/Logiqx/Datafile.cs new file mode 100644 index 00000000..0ff2a34f --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Datafile.cs @@ -0,0 +1,31 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("datafile")] + public class Datafile + { + [XmlAttribute("build")] + public string? Build { get; set; } + + /// (yes|no) "no" + [XmlAttribute("debug")] + public string? Debug { get; set; } + + /// No-Intro extension + [XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "schemaLocation")] + public string? SchemaLocation { get; set; } + + [XmlElement("header")] + public Header? Header { get; set; } + + [XmlElement("game", typeof(Game))] + [XmlElement("machine", typeof(Machine))] + public GameBase[]? Game { get; set; } + + /// RomVault extension + [XmlElement("dir")] + public Dir[]? Dir { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/DeviceRef.cs b/SabreTools.Serialization/Models/Logiqx/DeviceRef.cs new file mode 100644 index 00000000..01f97d96 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/DeviceRef.cs @@ -0,0 +1,13 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("device_ref")] + public class DeviceRef + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Dir.cs b/SabreTools.Serialization/Models/Logiqx/Dir.cs new file mode 100644 index 00000000..d7ba371f --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Dir.cs @@ -0,0 +1,20 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("dir")] + public class Dir + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlElement("dir", typeof(Dir))] + public Dir[]? Subdir { get; set; } + + [XmlElement("game", typeof(Game))] + [XmlElement("machine", typeof(Machine))] + public GameBase[]? Game { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Disk.cs b/SabreTools.Serialization/Models/Logiqx/Disk.cs new file mode 100644 index 00000000..e97ed987 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Disk.cs @@ -0,0 +1,30 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("disk")] + public class Disk + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("md5")] + public string? MD5 { get; set; } + + [XmlAttribute("sha1")] + public string? SHA1 { get; set; } + + [XmlAttribute("merge")] + public string? Merge { get; set; } + + /// (baddump|nodump|good|verified) "good" + [XmlAttribute("status")] + public string? Status { get; set; } + + /// MAME extension + [XmlAttribute("region")] + public string? Region { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Driver.cs b/SabreTools.Serialization/Models/Logiqx/Driver.cs new file mode 100644 index 00000000..fd6a619a --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Driver.cs @@ -0,0 +1,45 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("driver")] + public class Driver + { + /// (good|imperfect|preliminary) + [SabreTools.Models.Required] + [XmlAttribute("status")] + public string? Status { get; set; } + + /// (good|imperfect|preliminary) + [SabreTools.Models.Required] + [XmlAttribute("emulation")] + public string? Emulation { get; set; } + + /// (good|imperfect|preliminary) + [SabreTools.Models.Required] + [XmlAttribute("cocktail")] + public string? Cocktail { get; set; } + + /// (supported|unsupported) + [SabreTools.Models.Required] + [XmlAttribute("savestate")] + public string? SaveState { get; set; } + + /// (yes|no) "no" + [XmlAttribute("requiresartwork")] + public string? RequiresArtwork { get; set; } + + /// (yes|no) "no" + [XmlAttribute("unofficial")] + public string? Unofficial { get; set; } + + /// (yes|no) "no" + [XmlAttribute("nosoundhardware")] + public string? NoSoundHardware { get; set; } + + /// (yes|no) "no" + [XmlAttribute("incomplete")] + public string? Incomplete { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Game.cs b/SabreTools.Serialization/Models/Logiqx/Game.cs new file mode 100644 index 00000000..df54345a --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Game.cs @@ -0,0 +1,7 @@ +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("game")] + public class Game : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/GameBase.cs b/SabreTools.Serialization/Models/Logiqx/GameBase.cs new file mode 100644 index 00000000..55a5307b --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/GameBase.cs @@ -0,0 +1,123 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + /// + /// Base class to unify the various game-like types + /// + public abstract class GameBase + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("sourcefile")] + public string? SourceFile { get; set; } + + /// (yes|no) "no" + [XmlAttribute("isbios")] + public string? IsBios { get; set; } + + /// (yes|no) "no", MAME extension + [XmlAttribute("isdevice")] + public string? IsDevice { get; set; } + + /// (yes|no) "no", MAME extension + [XmlAttribute("ismechanical")] + public string? IsMechanical { get; set; } + + [XmlAttribute("cloneof")] + public string? CloneOf { get; set; } + + [XmlAttribute("romof")] + public string? RomOf { get; set; } + + [XmlAttribute("sampleof")] + public string? SampleOf { get; set; } + + [XmlAttribute("board")] + public string? Board { get; set; } + + [XmlAttribute("rebuildto")] + public string? RebuildTo { get; set; } + + /// No-Intro extension + [XmlAttribute("id")] + public string? Id { get; set; } + + /// No-Intro extension + [XmlAttribute("cloneofid")] + public string? CloneOfId { get; set; } + + /// (no|partial|yes) "no" + [XmlAttribute("runnable")] + public string? Runnable { get; set; } + + [XmlElement("comment")] + public string[]? Comment { get; set; } + + [SabreTools.Models.Required] + [XmlElement("description")] + public string? Description { get; set; } + + [XmlElement("year")] + public string? Year { get; set; } + + [XmlElement("manufacturer")] + public string? Manufacturer { get; set; } + + [XmlElement("publisher")] + public string? Publisher { get; set; } + + /// No-Intro extension includes more than 1 instance + [XmlElement("category")] + public string[]? Category { get; set; } + + /// Trurip extension + [XmlElement("trurip")] + public Trurip? Trurip { get; set; } + + [XmlElement(elementName: "release")] + public Release[]? Release { get; set; } + + [XmlElement("biosset")] + public BiosSet[]? BiosSet { get; set; } + + [XmlElement("rom")] + public Rom[]? Rom { get; set; } + + [XmlElement("disk")] + public Disk[]? Disk { get; set; } + + /// Aaru extension + [XmlElement("media")] + public Media[]? Media { get; set; } + + /// MAME extension + [XmlElement("device_ref")] + public DeviceRef[]? DeviceRef { get; set; } + + [XmlElement("sample")] + public Sample[]? Sample { get; set; } + + [XmlElement("archive")] + public Archive[]? Archive { get; set; } + + /// MAME extension + [XmlElement("driver")] + public Driver? Driver { get; set; } + + /// MAME extension + [XmlElement("softwarelist")] + public SoftwareList[]? SoftwareList { get; set; } + + /// RetroAchievements extension + [XmlAttribute("url")] + public string? Url { get; set; } + + /// RetroAchievements extension + [XmlAttribute("hash")] + public string? Hash { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Header.cs b/SabreTools.Serialization/Models/Logiqx/Header.cs new file mode 100644 index 00000000..a2902179 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Header.cs @@ -0,0 +1,61 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("header")] + public class Header + { + /// No-Intro extension + [XmlElement("id")] + public string? Id { get; set; } + + [SabreTools.Models.Required] + [XmlElement("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlElement("description")] + public string? Description { get; set; } + + /// Trurip extension + [XmlElement("rootdir")] + public string? RootDir { get; set; } + + [XmlElement("category")] + public string? Category { get; set; } + + [SabreTools.Models.Required] + [XmlElement("version")] + public string? Version { get; set; } + + [XmlElement("date")] + public string? Date { get; set; } + + [SabreTools.Models.Required] + [XmlElement("author")] + public string? Author { get; set; } + + [XmlElement("email")] + public string? Email { get; set; } + + [XmlElement("homepage")] + public string? Homepage { get; set; } + + [XmlElement("url")] + public string? Url { get; set; } + + [XmlElement("comment")] + public string? Comment { get; set; } + + /// Trurip extension + [XmlElement("type")] + public string? Type { get; set; } + + [XmlElement("clrmamepro")] + public ClrMamePro? ClrMamePro { get; set; } + + [XmlElement("romcenter")] + public RomCenter? RomCenter { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Machine.cs b/SabreTools.Serialization/Models/Logiqx/Machine.cs new file mode 100644 index 00000000..87796ac5 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Machine.cs @@ -0,0 +1,7 @@ +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("machine")] + public class Machine : GameBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Media.cs b/SabreTools.Serialization/Models/Logiqx/Media.cs new file mode 100644 index 00000000..e5f12d6e --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Media.cs @@ -0,0 +1,25 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("media")] + public class Media + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("md5")] + public string? MD5 { get; set; } + + [XmlAttribute("sha1")] + public string? SHA1 { get; set; } + + [XmlAttribute("sha256")] + public string? SHA256 { get; set; } + + [XmlAttribute("spamsum")] + public string? SpamSum { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Release.cs b/SabreTools.Serialization/Models/Logiqx/Release.cs new file mode 100644 index 00000000..d3418b06 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Release.cs @@ -0,0 +1,27 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("release")] + public class Release + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("region")] + public string? Region { get; set; } + + [XmlAttribute("language")] + public string? Language { get; set; } + + [XmlAttribute("date")] + public string? Date { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Rom.cs b/SabreTools.Serialization/Models/Logiqx/Rom.cs new file mode 100644 index 00000000..b0bc2f2f --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Rom.cs @@ -0,0 +1,92 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("rom")] + public class Rom + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("size")] + public string? Size { get; set; } + + [XmlAttribute("crc")] + public string? CRC { get; set; } + + /// Hash extension + [XmlAttribute("md2")] + public string? MD2 { get; set; } + + /// Hash extension + [XmlAttribute("md4")] + public string? MD4 { get; set; } + + [XmlAttribute("md5")] + public string? MD5 { get; set; } + + /// Hash extension + [XmlAttribute("ripemd128")] + public string? RIPEMD128 { get; set; } + + /// Hash extension + [XmlAttribute("ripemd160")] + public string? RIPEMD160 { get; set; } + + [XmlAttribute("sha1")] + public string? SHA1 { get; set; } + + /// Hash/No-Intro extension + [XmlAttribute("sha256")] + public string? SHA256 { get; set; } + + /// Hash extension + [XmlAttribute("sha384")] + public string? SHA384 { get; set; } + + /// Hash extension + [XmlAttribute("sha512")] + public string? SHA512 { get; set; } + + /// Hash extension + [XmlAttribute("spamsum")] + public string? SpamSum { get; set; } + + /// DiscImgeCreator extension + [XmlAttribute("xxh3_64")] + public string? xxHash364 { get; set; } + + /// DiscImgeCreator extension + [XmlAttribute("xxh3_128")] + public string? xxHash3128 { get; set; } + + [XmlAttribute("merge")] + public string? Merge { get; set; } + + /// (baddump|nodump|good|verified) "good" + [XmlAttribute("status")] + public string? Status { get; set; } + + /// No-Intro extension + [XmlAttribute("serial")] + public string? Serial { get; set; } + + /// No-Intro extension + [XmlAttribute("header")] + public string? Header { get; set; } + + [XmlAttribute("date")] + public string? Date { get; set; } + + /// Boolean; RomVault extension + [XmlAttribute("inverted")] + public string? Inverted { get; set; } + + /// Boolean; RomVault extension + [XmlAttribute("mia")] + public string? MIA { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/RomCenter.cs b/SabreTools.Serialization/Models/Logiqx/RomCenter.cs new file mode 100644 index 00000000..c8f9f3a1 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/RomCenter.cs @@ -0,0 +1,36 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("romcenter")] + public class RomCenter + { + [XmlAttribute("plugin")] + public string? Plugin { get; set; } + + /// (none|split|merged|unmerged|fullmerged|device|full) "split" + [XmlAttribute("rommode")] + public string? RomMode { get; set; } + + /// (none|split|merged|unmerged|fullmerged|device|full) "split" + [XmlAttribute("biosmode")] + public string? BiosMode { get; set; } + + /// (none|split|merged|unmerged|fullmerged|device|full) "merged" + [XmlAttribute("samplemode")] + public string? SampleMode { get; set; } + + /// (yes|no) "no" + [XmlAttribute("lockrommode")] + public string? LockRomMode { get; set; } + + /// (yes|no) "no" + [XmlAttribute("lockbiosmode")] + public string? LockBiosMode { get; set; } + + /// (yes|no) "no" + [XmlAttribute("locksamplemode")] + public string? LockSampleMode { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Sample.cs b/SabreTools.Serialization/Models/Logiqx/Sample.cs new file mode 100644 index 00000000..5878b9c1 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Sample.cs @@ -0,0 +1,13 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("sample")] + public class Sample + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/SoftwareList.cs b/SabreTools.Serialization/Models/Logiqx/SoftwareList.cs new file mode 100644 index 00000000..4085115d --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/SoftwareList.cs @@ -0,0 +1,25 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("softwarelist")] + public class SoftwareList + { + [SabreTools.Models.Required] + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + /// (original|compatible) + [SabreTools.Models.Required] + [XmlAttribute("status")] + public string? Status { get; set; } + + [XmlAttribute("filter")] + public string? Filter { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Logiqx/Trurip.cs b/SabreTools.Serialization/Models/Logiqx/Trurip.cs new file mode 100644 index 00000000..413b58f9 --- /dev/null +++ b/SabreTools.Serialization/Models/Logiqx/Trurip.cs @@ -0,0 +1,52 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.Logiqx +{ + [XmlRoot("trurip")] + public class Trurip + { + [XmlElement("titleid")] + public string? TitleID { get; set; } + + [XmlElement("publisher")] + public string? Publisher { get; set; } + + [XmlElement("developer")] + public string? Developer { get; set; } + + [XmlElement("year")] + public string? Year { get; set; } + + [XmlElement("genre")] + public string? Genre { get; set; } + + [XmlElement("subgenre")] + public string? Subgenre { get; set; } + + [XmlElement("ratings")] + public string? Ratings { get; set; } + + [XmlElement("score")] + public string? Score { get; set; } + + [XmlElement("players")] + public string? Players { get; set; } + + /// Boolean? + [XmlElement("enabled")] + public string? Enabled { get; set; } + + [XmlElement("crc")] + public string? CRC { get; set; } + + [XmlElement("source")] + public string? Source { get; set; } + + [XmlElement("cloneof")] + public string? CloneOf { get; set; } + + [XmlElement("relatedto")] + public string? RelatedTo { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Metadata/Adjuster.cs b/SabreTools.Serialization/Models/Metadata/Adjuster.cs new file mode 100644 index 00000000..adeea10a --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Adjuster.cs @@ -0,0 +1,26 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("adjuster"), XmlRoot("adjuster")] + public class Adjuster : DatItem + { + #region Keys + + // Condition + [NoFilter] + public const string ConditionKey = "condition"; + + /// bool + public const string DefaultKey = "default"; + + /// string + public const string NameKey = "name"; + + #endregion + + public Adjuster() => Type = ItemType.Adjuster; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Analog.cs b/SabreTools.Serialization/Models/Metadata/Analog.cs new file mode 100644 index 00000000..9bb01796 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Analog.cs @@ -0,0 +1,18 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("analog"), XmlRoot("analog")] + public class Analog : DatItem + { + #region Keys + + /// string + public const string MaskKey = "mask"; + + #endregion + + public Analog() => Type = ItemType.Analog; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Archive.cs b/SabreTools.Serialization/Models/Metadata/Archive.cs new file mode 100644 index 00000000..1822c2bd --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Archive.cs @@ -0,0 +1,18 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("archive"), XmlRoot("archive")] + public class Archive : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + #endregion + + public Archive() => Type = ItemType.Archive; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/BiosSet.cs b/SabreTools.Serialization/Models/Metadata/BiosSet.cs new file mode 100644 index 00000000..9bf8f2fc --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/BiosSet.cs @@ -0,0 +1,24 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("biosset"), XmlRoot("biosset")] + public class BiosSet : DatItem + { + #region Keys + + /// bool + public const string DefaultKey = "default"; + + /// string + public const string DescriptionKey = "description"; + + /// string + public const string NameKey = "name"; + + #endregion + + public BiosSet() => Type = ItemType.BiosSet; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Blank.cs b/SabreTools.Serialization/Models/Metadata/Blank.cs new file mode 100644 index 00000000..f7975866 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Blank.cs @@ -0,0 +1,11 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("blank"), XmlRoot("blank")] + public class Blank : DatItem + { + public Blank() => Type = ItemType.Blank; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Chip.cs b/SabreTools.Serialization/Models/Metadata/Chip.cs new file mode 100644 index 00000000..ad4b5ca3 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Chip.cs @@ -0,0 +1,33 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("chip"), XmlRoot("chip")] + public class Chip : DatItem + { + #region Keys + + /// long + public const string ClockKey = "clock"; + + /// string + public const string FlagsKey = "flags"; + + /// string + public const string NameKey = "name"; + + /// (yes|no) "no" + public const string SoundOnlyKey = "soundonly"; + + /// string + public const string TagKey = "tag"; + + /// (cpu|audio) + public const string ChipTypeKey = "type"; + + #endregion + + public Chip() => Type = ItemType.Chip; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Condition.cs b/SabreTools.Serialization/Models/Metadata/Condition.cs new file mode 100644 index 00000000..fbea8012 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Condition.cs @@ -0,0 +1,27 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("condition"), XmlRoot("condition")] + public class Condition : DatItem + { + #region Keys + + /// string + public const string ValueKey = "clock"; + + /// string + public const string MaskKey = "mask"; + + /// (eq|ne|gt|le|lt|ge) + public const string RelationKey = "relation"; + + /// string + public const string TagKey = "tag"; + + #endregion + + public Condition() => Type = ItemType.Condition; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/ConfLocation.cs b/SabreTools.Serialization/Models/Metadata/ConfLocation.cs new file mode 100644 index 00000000..e24ae3e5 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/ConfLocation.cs @@ -0,0 +1,24 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("conflocation"), XmlRoot("conflocation")] + public class ConfLocation : DatItem + { + #region Keys + + /// (yes|no) "no" + public const string InvertedKey = "inverted"; + + /// string + public const string NameKey = "name"; + + /// string, possibly long + public const string NumberKey = "number"; + + #endregion + + public ConfLocation() => Type = ItemType.ConfLocation; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/ConfSetting.cs b/SabreTools.Serialization/Models/Metadata/ConfSetting.cs new file mode 100644 index 00000000..267dd0dc --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/ConfSetting.cs @@ -0,0 +1,29 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("confsetting"), XmlRoot("confsetting")] + public class ConfSetting : DatItem + { + #region Keys + + /// Condition + [NoFilter] + public const string ConditionKey = "condition"; + + /// (yes|no) "no" + public const string DefaultKey = "default"; + + /// string + public const string NameKey = "name"; + + /// string + public const string ValueKey = "value"; + + #endregion + + public ConfSetting() => Type = ItemType.ConfSetting; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Configuration.cs b/SabreTools.Serialization/Models/Metadata/Configuration.cs new file mode 100644 index 00000000..0a355439 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Configuration.cs @@ -0,0 +1,37 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("configuration"), XmlRoot("configuration")] + public class Configuration : DatItem + { + #region Keys + + /// Condition + [NoFilter] + public const string ConditionKey = "condition"; + + /// ConfLocation[] + [NoFilter] + public const string ConfLocationKey = "conflocation"; + + /// ConfSetting[] + [NoFilter] + public const string ConfSettingKey = "confsetting"; + + /// string + public const string MaskKey = "mask"; + + /// string + public const string NameKey = "name"; + + /// string + public const string TagKey = "tag"; + + #endregion + + public Configuration() => Type = ItemType.Configuration; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Control.cs b/SabreTools.Serialization/Models/Metadata/Control.cs new file mode 100644 index 00000000..1785449c --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Control.cs @@ -0,0 +1,51 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("control"), XmlRoot("control")] + public class Control : DatItem + { + #region Keys + + /// long + public const string ButtonsKey = "buttons"; + + /// long + public const string KeyDeltaKey = "keydelta"; + + /// long + public const string MaximumKey = "maximum"; + + /// long + public const string MinimumKey = "minimum"; + + /// long + public const string PlayerKey = "player"; + + /// long + public const string ReqButtonsKey = "reqbuttons"; + + /// (yes|no) "no" + public const string ReverseKey = "reverse"; + + /// long + public const string SensitivityKey = "sensitivity"; + + /// (joy|stick|paddle|pedal|lightgun|positional|dial|trackball|mouse|only_buttons|keypad|keyboard|mahjong|hanafuda|gambling) + public const string ControlTypeKey = "type"; + + /// string, possibly long + public const string WaysKey = "ways"; + + /// string, possibly long + public const string Ways2Key = "ways2"; + + /// string, possibly long + public const string Ways3Key = "ways3"; + + #endregion + + public Control() => Type = ItemType.Control; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/DatItem.cs b/SabreTools.Serialization/Models/Metadata/DatItem.cs new file mode 100644 index 00000000..22e1d51c --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DatItem.cs @@ -0,0 +1,27 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + /// + /// Format-agnostic representation of item data + /// + public class DatItem : DictionaryBase + { + #region Common Keys + + public const string TypeKey = "_type"; + + #endregion + + /// + /// Quick accessor to item type, if it exists + /// + [JsonProperty("itemtype", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("itemtype")] + public ItemType? Type + { + get => ContainsKey(TypeKey) ? this[TypeKey] as ItemType? : null; + set => this[TypeKey] = value; + } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Metadata/DataArea.cs b/SabreTools.Serialization/Models/Metadata/DataArea.cs new file mode 100644 index 00000000..cc0305f5 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DataArea.cs @@ -0,0 +1,32 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("dataarea"), XmlRoot("dataarea")] + public class DataArea : DatItem + { + #region Keys + + /// (big|little) "little" + public const string EndiannessKey = "endianness"; + + /// string + public const string NameKey = "name"; + + /// Rom[] + [NoFilter] + public const string RomKey = "rom"; + + /// long + public const string SizeKey = "size"; + + /// (8|16|32|64) "8" + public const string WidthKey = "width"; + + #endregion + + public DataArea() => Type = ItemType.DataArea; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Device.cs b/SabreTools.Serialization/Models/Metadata/Device.cs new file mode 100644 index 00000000..2ee0f16c --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Device.cs @@ -0,0 +1,39 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("device"), XmlRoot("device")] + public class Device : DatItem + { + #region Keys + + /// Extension[] + [NoFilter] + public const string ExtensionKey = "extension"; + + /// string + public const string FixedImageKey = "fixed_image"; + + /// Instance + [NoFilter] + public const string InstanceKey = "instance"; + + /// string + public const string InterfaceKey = "interface"; + + /// (0|1) "0" + public const string MandatoryKey = "mandatory"; + + /// string + public const string TagKey = "tag"; + + /// (unknown|cartridge|floppydisk|harddisk|cylinder|cassette|punchcard|punchtape|printout|serial|parallel|snapshot|quickload|memcard|cdrom|magtape|romimage|midiin|midiout|picture|vidfile) + public const string DeviceTypeKey = "type"; + + #endregion + + public Device() => Type = ItemType.Device; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/DeviceRef.cs b/SabreTools.Serialization/Models/Metadata/DeviceRef.cs new file mode 100644 index 00000000..2e805ddd --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DeviceRef.cs @@ -0,0 +1,18 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("device_ref"), XmlRoot("device_ref")] + public class DeviceRef : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + #endregion + + public DeviceRef() => Type = ItemType.DeviceRef; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/DictionaryBase.cs b/SabreTools.Serialization/Models/Metadata/DictionaryBase.cs new file mode 100644 index 00000000..5a1cc81c --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DictionaryBase.cs @@ -0,0 +1,153 @@ +using System.Collections.Generic; + +namespace SabreTools.Serialization.Models.Metadata +{ + /// + /// Specialized dictionary base for item types + /// + public abstract class DictionaryBase : Dictionary + { + /// + /// Read a key as the specified type, returning null on error + /// + public T? Read(string key) + { + try + { + if (!ValidateKey(key)) + return default; + if (this[key] is not T) + return default; + return (T?)this[key]; + } + catch + { + return default; + } + } + + /// + /// Read a key as a bool, returning null on error + /// + public bool? ReadBool(string key) + { + if (!ValidateKey(key)) + return null; + + bool? asBool = Read(key); + if (asBool != null) + return asBool; + + string? asString = Read(key); + return asString?.ToLowerInvariant() switch + { + "true" or "yes" => true, + "false" or "no" => false, + _ => null, + }; + } + + /// + /// Read a key as a double, returning null on error + /// + public double? ReadDouble(string key) + { + if (!ValidateKey(key)) + return null; + + double? asDouble = Read(key); + if (asDouble != null) + return asDouble; + + string? asString = Read(key); + if (asString != null && double.TryParse(asString, out double asStringDouble)) + return asStringDouble; + + return null; + } + + /// + /// Read a key as a long, returning null on error + /// + /// TODO: Add logic to convert SI suffixes and hex + public long? ReadLong(string key) + { + if (!ValidateKey(key)) + return null; + + long? asLong = Read(key); + if (asLong != null) + return asLong; + + string? asString = Read(key); + if (asString != null && long.TryParse(asString, out long asStringLong)) + return asStringLong; + + return null; + } + + /// + /// Read a key as a string, returning null on error + /// + public string? ReadString(string key) + { + if (!ValidateKey(key)) + return null; + + string? asString = Read(key); + if (asString != null) + return asString; + + string[]? asArray = Read(key); + if (asArray != null) +#if NETFRAMEWORK || NETSTANDARD2_0 + return string.Join(",", asArray); +#else + return string.Join(',', asArray); +#endif + + // TODO: Add byte array conversion here + // TODO: Add byte array read helper + + return this[key]!.ToString(); + } + + /// + /// Read a key as a string[], returning null on error + /// + public string[]? ReadStringArray(string key) + { + if (!ValidateKey(key)) + return null; + + string[]? asArray = Read(key); + if (asArray != null) + return asArray; + + string? asString = Read(key); + if (asString != null) + return [asString]; + + asString = this[key]!.ToString(); + if (asString != null) + return [asString]; + + return null; + } + + /// + /// Check if a key is valid + /// + private bool ValidateKey(string key) + { + if (string.IsNullOrEmpty(key)) + return false; + else if (!ContainsKey(key)) + return false; + else if (this[key] == null) + return false; + + return true; + } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Metadata/DipLocation.cs b/SabreTools.Serialization/Models/Metadata/DipLocation.cs new file mode 100644 index 00000000..c8149cf2 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DipLocation.cs @@ -0,0 +1,24 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("diplocation"), XmlRoot("diplocation")] + public class DipLocation : DatItem + { + #region Keys + + /// (yes|no) "no" + public const string InvertedKey = "inverted"; + + /// string + public const string NameKey = "name"; + + /// string, possibly long + public const string NumberKey = "number"; + + #endregion + + public DipLocation() => Type = ItemType.DipLocation; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/DipSwitch.cs b/SabreTools.Serialization/Models/Metadata/DipSwitch.cs new file mode 100644 index 00000000..eb890954 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DipSwitch.cs @@ -0,0 +1,43 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("dipswitch"), XmlRoot("dipswitch")] + public class DipSwitch : DatItem + { + #region Keys + + /// Condition + [NoFilter] + public const string ConditionKey = "condition"; + + /// (yes|no) "no" + public const string DefaultKey = "default"; + + /// DipLocation[] + [NoFilter] + public const string DipLocationKey = "diplocation"; + + /// DipValue[] + [NoFilter] + public const string DipValueKey = "dipvalue"; + + /// string[] + public const string EntryKey = "entry"; + + /// string + public const string MaskKey = "mask"; + + /// string + public const string NameKey = "name"; + + /// string + public const string TagKey = "tag"; + + #endregion + + public DipSwitch() => Type = ItemType.DipSwitch; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/DipValue.cs b/SabreTools.Serialization/Models/Metadata/DipValue.cs new file mode 100644 index 00000000..19c6a2d9 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DipValue.cs @@ -0,0 +1,29 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("dipvalue"), XmlRoot("dipvalue")] + public class DipValue : DatItem + { + #region Keys + + /// Condition + [NoFilter] + public const string ConditionKey = "condition"; + + /// (yes|no) "no" + public const string DefaultKey = "default"; + + /// string + public const string NameKey = "name"; + + /// string + public const string ValueKey = "value"; + + #endregion + + public DipValue() => Type = ItemType.DipValue; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Disk.cs b/SabreTools.Serialization/Models/Metadata/Disk.cs new file mode 100644 index 00000000..15b2204f --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Disk.cs @@ -0,0 +1,45 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("disk"), XmlRoot(elementName: "disk")] + public class Disk : DatItem + { + #region Keys + + /// string + public const string FlagsKey = "flags"; + + /// string, possibly long + public const string IndexKey = "index"; + + /// string + public const string MD5Key = "md5"; + + /// string + public const string MergeKey = "merge"; + + /// string + public const string NameKey = "name"; + + /// (yes|no) "no" + public const string OptionalKey = "optional"; + + /// string + public const string RegionKey = "region"; + + /// string + public const string SHA1Key = "sha1"; + + /// (baddump|nodump|good|verified) "good" + public const string StatusKey = "status"; + + /// (yes|no) "no" + public const string WritableKey = "writable"; + + #endregion + + public Disk() => Type = ItemType.Disk; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/DiskArea.cs b/SabreTools.Serialization/Models/Metadata/DiskArea.cs new file mode 100644 index 00000000..592b4fab --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/DiskArea.cs @@ -0,0 +1,23 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("diskarea"), XmlRoot("diskarea")] + public class DiskArea : DatItem + { + #region Keys + + /// Disk[] + [NoFilter] + public const string DiskKey = "disk"; + + /// string + public const string NameKey = "name"; + + #endregion + + public DiskArea() => Type = ItemType.DiskArea; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Display.cs b/SabreTools.Serialization/Models/Metadata/Display.cs new file mode 100644 index 00000000..473222e3 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Display.cs @@ -0,0 +1,57 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("display"), XmlRoot("display")] + public class Display : DatItem + { + #region Keys + + /// (yes|no) "no" + public const string FlipXKey = "flipx"; + + /// long + public const string HBEndKey = "hbend"; + + /// long + public const string HBStartKey = "hbstart"; + + /// long + public const string HeightKey = "height"; + + /// long + public const string HTotalKey = "htotal"; + + /// long + public const string PixClockKey = "pixclock"; + + /// double + public const string RefreshKey = "refresh"; + + /// (0|90|180|270) + public const string RotateKey = "rotate"; + + /// string + public const string TagKey = "tag"; + + /// (raster|vector|lcd|svg|unknown) + public const string DisplayTypeKey = "type"; + + /// long + public const string VBEndKey = "vbend"; + + /// long + public const string VBStartKey = "vbstart"; + + /// long + public const string VTotalKey = "vtotal"; + + /// long + public const string WidthKey = "width"; + + #endregion + + public Display() => Type = ItemType.Display; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Driver.cs b/SabreTools.Serialization/Models/Metadata/Driver.cs new file mode 100644 index 00000000..0a7a0b02 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Driver.cs @@ -0,0 +1,51 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("driver"), XmlRoot("driver")] + public class Driver : DatItem + { + #region Keys + + /// (plain|dirty) + public const string BlitKey = "blit"; + + /// (good|imperfect|preliminary) + public const string CocktailKey = "cocktail"; + + /// (good|imperfect|preliminary) + public const string ColorKey = "color"; + + /// (good|imperfect|preliminary) + public const string EmulationKey = "emulation"; + + /// (yes|no) "no" + public const string IncompleteKey = "incomplete"; + + /// (yes|no) "no" + public const string NoSoundHardwareKey = "nosoundhardware"; + + /// string, possibly long + public const string PaletteSizeKey = "palettesize"; + + /// (yes|no) "no" + public const string RequiresArtworkKey = "requiresartwork"; + + /// (supported|unsupported) + public const string SaveStateKey = "savestate"; + + /// (good|imperfect|preliminary) + public const string SoundKey = "sound"; + + /// (good|imperfect|preliminary|test) + public const string StatusKey = "status"; + + /// (yes|no) "no" + public const string UnofficialKey = "unofficial"; + + #endregion + + public Driver() => Type = ItemType.Driver; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Dump.cs b/SabreTools.Serialization/Models/Metadata/Dump.cs new file mode 100644 index 00000000..dbdcf3bc --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Dump.cs @@ -0,0 +1,32 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("dump"), XmlRoot("dump")] + public class Dump : DatItem + { + #region Keys + + /// Rom + [NoFilter] + public const string MegaRomKey = "megarom"; + + /// Original + [NoFilter] + public const string OriginalKey = "original"; + + /// Rom + [NoFilter] + public const string RomKey = "rom"; + + /// Rom + [NoFilter] + public const string SCCPlusCartKey = "sccpluscart"; + + #endregion + + public Dump() => Type = ItemType.Dump; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Extension.cs b/SabreTools.Serialization/Models/Metadata/Extension.cs new file mode 100644 index 00000000..28e3cb09 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Extension.cs @@ -0,0 +1,18 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("extension"), XmlRoot("extension")] + public class Extension : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + #endregion + + public Extension() => Type = ItemType.Extension; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Feature.cs b/SabreTools.Serialization/Models/Metadata/Feature.cs new file mode 100644 index 00000000..107047c4 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Feature.cs @@ -0,0 +1,30 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("feature"), XmlRoot("feature")] + public class Feature : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + /// (unemulated|imperfect) + public const string OverallKey = "overall"; + + /// (unemulated|imperfect) + public const string StatusKey = "status"; + + /// (protection|timing|graphics|palette|sound|capture|camera|microphone|controls|keyboard|mouse|media|disk|printer|tape|punch|drum|rom|comms|lan|wan) + public const string FeatureTypeKey = "type"; + + /// string + public const string ValueKey = "value"; + + #endregion + + public Feature() => Type = ItemType.Feature; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Header.cs b/SabreTools.Serialization/Models/Metadata/Header.cs new file mode 100644 index 00000000..cee4d22d --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Header.cs @@ -0,0 +1,156 @@ +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + /// + /// Format-agnostic representation of metadata header data + /// + public class Header : DictionaryBase + { + #region Keys + + /// string + public const string AuthorKey = "author"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string BiosModeKey = "biosmode"; + + /// string + public const string BuildKey = "build"; + + /// TODO: This needs an internal model OR mapping to fields + /// CanOpen + [NoFilter] + public const string CanOpenKey = "canOpen"; + + /// string + public const string CategoryKey = "category"; + + /// string + public const string CommentKey = "comment"; + + /// string + public const string DateKey = "date"; + + /// string + public const string DatVersionKey = "datversion"; + + /// (yes|no) "no" + public const string DebugKey = "debug"; + + /// string + public const string DescriptionKey = "description"; + + /// string + public const string EmailKey = "email"; + + /// string + public const string EmulatorVersionKey = "emulatorversion"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string ForceMergingKey = "forcemerging"; + + /// (obsolete|required|ignore) "obsolete" + public const string ForceNodumpKey = "forcenodump"; + + /// (zip|unzip) "zip" + public const string ForcePackingKey = "forcepacking"; + + /// (yes|no) "yes" + public const string ForceZippingKey = "forcezipping"; + + /// string, string[] + public const string HeaderKey = "header"; + + /// string + public const string HomepageKey = "homepage"; + + /// string + public const string IdKey = "id"; + + /// TODO: This needs an internal model OR mapping to fields + /// Search + [NoFilter] + public const string ImagesKey = "images"; + + /// string + public const string ImFolderKey = "imFolder"; + + /// TODO: This needs an internal model OR mapping to fields + /// Infos + [NoFilter] + public const string InfosKey = "infos"; + + /// (yes|no) "no" + public const string LockBiosModeKey = "lockbiosmode"; + + /// (yes|no) "no" + public const string LockRomModeKey = "lockrommode"; + + /// (yes|no) "no" + public const string LockSampleModeKey = "locksamplemode"; + + /// string + public const string MameConfigKey = "mameconfig"; + + /// string + public const string NameKey = "name"; + + /// TODO: This needs an internal model OR mapping to fields + /// NewDat + [NoFilter] + public const string NewDatKey = "newDat"; + + /// string + public const string NotesKey = "notes"; + + /// string + public const string PluginKey = "plugin"; + + /// string + public const string RefNameKey = "refname"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string RomModeKey = "rommode"; + + /// string + public const string RomTitleKey = "romTitle"; + + /// string + public const string RootDirKey = "rootdir"; + + /// (none|split|merged|nonmerged|fullmerged|device|full) "split" + public const string SampleModeKey = "samplemode"; + + /// string + public const string SchemaLocationKey = "schemaLocation"; + + /// string + public const string ScreenshotsHeightKey = "screenshotsHeight"; + + /// string + public const string ScreenshotsWidthKey = "screenshotsWidth"; + + /// TODO: This needs an internal model OR mapping to fields + /// Search + [NoFilter] + public const string SearchKey = "search"; + + /// string + public const string SystemKey = "system"; + + /// string + public const string TimestampKey = "timestamp"; + + /// string + public const string TypeKey = "type"; + + /// string + public const string UrlKey = "url"; + + /// string + public const string VersionKey = "version"; + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Metadata/Info.cs b/SabreTools.Serialization/Models/Metadata/Info.cs new file mode 100644 index 00000000..a2116f5e --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Info.cs @@ -0,0 +1,21 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("info"), XmlRoot("info")] + public class Info : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + /// string + public const string ValueKey = "value"; + + #endregion + + public Info() => Type = ItemType.Info; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Input.cs b/SabreTools.Serialization/Models/Metadata/Input.cs new file mode 100644 index 00000000..6411bdcf --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Input.cs @@ -0,0 +1,33 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("input"), XmlRoot("input")] + public class Input : DatItem + { + #region Keys + + /// long + public const string ButtonsKey = "buttons"; + + /// long + public const string CoinsKey = "coins"; + + /// string / Control[] + public const string ControlKey = "control"; + + /// long + public const string PlayersKey = "players"; + + /// (yes|no) "no" + public const string ServiceKey = "service"; + + /// (yes|no) "no" + public const string TiltKey = "tilt"; + + #endregion + + public Input() => Type = ItemType.Input; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Instance.cs b/SabreTools.Serialization/Models/Metadata/Instance.cs new file mode 100644 index 00000000..612f7423 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Instance.cs @@ -0,0 +1,21 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("instance"), XmlRoot("instance")] + public class Instance : DatItem + { + #region Keys + + /// string + public const string BriefNameKey = "briefname"; + + /// string + public const string NameKey = "name"; + + #endregion + + public Instance() => Type = ItemType.Instance; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/ItemType.cs b/SabreTools.Serialization/Models/Metadata/ItemType.cs new file mode 100644 index 00000000..1fcef0da --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/ItemType.cs @@ -0,0 +1,60 @@ +namespace SabreTools.Serialization.Models.Metadata +{ + /// + /// Determine what type of file an item is + /// + public enum ItemType + { + /// + /// This is a fake flag that is used for filter only + /// + NULL = 0, + + Adjuster, + Analog, + Archive, + BiosSet, + Chip, + Condition, + Configuration, + ConfLocation, + ConfSetting, + Control, + DataArea, + Device, + DeviceRef, + DipLocation, + DipSwitch, + DipValue, + Disk, + DiskArea, + Display, + Driver, + Dump, + Extension, + Feature, + Info, + Input, + Instance, + Media, + Original, + Part, + Port, + RamOption, + Release, + Rom, + Sample, + SharedFeat, + Slot, + SlotOption, + Software, + SoftwareList, + Sound, + Video, + + /// + /// This is not a real type, only used internally + /// + Blank = int.MaxValue, + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Metadata/Machine.cs b/SabreTools.Serialization/Models/Metadata/Machine.cs new file mode 100644 index 00000000..3c52a392 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Machine.cs @@ -0,0 +1,280 @@ +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + /// + /// Format-agnostic representation of game, machine, and set data + /// + public class Machine : DictionaryBase + { + #region Keys + + /// Adjuster[] + [NoFilter] + public const string AdjusterKey = "adjuster"; + + /// Archive[] + [NoFilter] + public const string ArchiveKey = "archive"; + + /// BiosSet[] + [NoFilter] + public const string BiosSetKey = "biosset"; + + /// string + public const string BoardKey = "board"; + + /// string + public const string ButtonsKey = "buttons"; + + /// string, string[] + public const string CategoryKey = "category"; + + /// Chip[] + [NoFilter] + public const string ChipKey = "chip"; + + /// string + public const string CloneOfKey = "cloneof"; + + /// string + public const string CloneOfIdKey = "cloneofid"; + + /// string, string[] + public const string CommentKey = "comment"; + + /// string + public const string CompanyKey = "company"; + + /// Configuration[] + [NoFilter] + public const string ConfigurationKey = "configuration"; + + /// string + public const string ControlKey = "control"; + + /// string + public const string CountryKey = "country"; + + /// string + public const string DescriptionKey = "description"; + + /// Device[] + [NoFilter] + public const string DeviceKey = "device"; + + /// DeviceRef[] + [NoFilter] + public const string DeviceRefKey = "device_ref"; + + /// DipSwitch[] + [NoFilter] + public const string DipSwitchKey = "dipswitch"; + + /// string + public const string DirNameKey = "dirName"; + + /// Disk[] + [NoFilter] + public const string DiskKey = "disk"; + + /// string + public const string DisplayCountKey = "displaycount"; + + /// Display[] + [NoFilter] + public const string DisplayKey = "display"; + + /// string + public const string DisplayTypeKey = "displaytype"; + + /// Driver + [NoFilter] + public const string DriverKey = "driver"; + + /// Dump[] + [NoFilter] + public const string DumpKey = "dump"; + + /// string + public const string DuplicateIDKey = "duplicateID"; + + /// string + public const string EmulatorKey = "emulator"; + + /// string + public const string ExtraKey = "extra"; + + /// string + public const string FavoriteKey = "favorite"; + + /// Feature[] + [NoFilter] + public const string FeatureKey = "feature"; + + /// string + public const string GenMSXIDKey = "genmsxid"; + + /// string + public const string HashKey = "hash"; + + /// string + public const string HistoryKey = "history"; + + /// string + public const string IdKey = "id"; + + /// string + public const string Im1CRCKey = "im1CRC"; + + /// string + public const string Im2CRCKey = "im2CRC"; + + /// string + public const string ImageNumberKey = "imageNumber"; + + /// Info[] + [NoFilter] + public const string InfoKey = "info"; + + /// Input + [NoFilter] + public const string InputKey = "input"; + + /// (yes|no) "no" + public const string IsBiosKey = "isbios"; + + /// (yes|no) "no" + public const string IsDeviceKey = "isdevice"; + + /// (yes|no) "no" + public const string IsMechanicalKey = "ismechanical"; + + /// string + public const string LanguageKey = "language"; + + /// string + public const string LocationKey = "location"; + + /// string + public const string ManufacturerKey = "manufacturer"; + + /// Media[] + [NoFilter] + public const string MediaKey = "media"; + + /// string + public const string NameKey = "name"; + + /// string + public const string NotesKey = "notes"; + + /// Part[] + [NoFilter] + public const string PartKey = "part"; + + /// string + public const string PlayedCountKey = "playedcount"; + + /// string + public const string PlayedTimeKey = "playedtime"; + + /// string + public const string PlayersKey = "players"; + + /// Port[] + [NoFilter] + public const string PortKey = "port"; + + /// string + public const string PublisherKey = "publisher"; + + /// RamOption[] + [NoFilter] + public const string RamOptionKey = "ramoption"; + + /// string + public const string RebuildToKey = "rebuildto"; + + /// Release[] + [NoFilter] + public const string ReleaseKey = "release"; + + /// string + public const string ReleaseNumberKey = "releaseNumber"; + + /// Rom[] + [NoFilter] + public const string RomKey = "rom"; + + /// string + public const string RomOfKey = "romof"; + + /// string + public const string RotationKey = "rotation"; + + /// (yes|no) "no" + public const string RunnableKey = "runnable"; + + /// Sample[] + [NoFilter] + public const string SampleKey = "sample"; + + /// string + public const string SampleOfKey = "sampleof"; + + /// string + public const string SaveTypeKey = "saveType"; + + /// SharedFeat[] + [NoFilter] + public const string SharedFeatKey = "sharedfeat"; + + /// Slot[] + [NoFilter] + public const string SlotKey = "slot"; + + /// SoftwareList[] + [NoFilter] + public const string SoftwareListKey = "softwarelist"; + + /// Sound + [NoFilter] + public const string SoundKey = "sound"; + + /// string + public const string SourceFileKey = "sourcefile"; + + /// string + public const string SourceRomKey = "sourceRom"; + + /// string + public const string StatusKey = "status"; + + /// (yes|partial|no) "yes" + public const string SupportedKey = "supported"; + + /// string + public const string SystemKey = "system"; + + /// string + public const string TagsKey = "tags"; + + /// TODO: This needs an internal model OR mapping to fields + /// Trurip + [NoFilter] + public const string TruripKey = "trurip"; + + /// string + public const string UrlKey = "url"; + + /// Video[] + [NoFilter] + public const string VideoKey = "video"; + + /// string + public const string YearKey = "year"; + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Metadata/Media.cs b/SabreTools.Serialization/Models/Metadata/Media.cs new file mode 100644 index 00000000..b3bd84a5 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Media.cs @@ -0,0 +1,30 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("media"), XmlRoot("media")] + public class Media : DatItem + { + #region Keys + + /// string + public const string MD5Key = "md5"; + + /// string + public const string NameKey = "name"; + + /// string + public const string SHA1Key = "sha1"; + + /// string + public const string SHA256Key = "sha256"; + + /// string + public const string SpamSumKey = "spamsum"; + + #endregion + + public Media() => Type = ItemType.Media; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/MetadataFile.cs b/SabreTools.Serialization/Models/Metadata/MetadataFile.cs new file mode 100644 index 00000000..44d2575f --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/MetadataFile.cs @@ -0,0 +1,22 @@ +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + /// + /// Format-agnostic representation of a full metadata file + /// + public class MetadataFile : DictionaryBase + { + #region Keys + + /// Machine[] + [NoFilter] + public const string MachineKey = "machine"; + + /// Header + [NoFilter] + public const string HeaderKey = "header"; + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/Metadata/Original.cs b/SabreTools.Serialization/Models/Metadata/Original.cs new file mode 100644 index 00000000..343e5d4e --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Original.cs @@ -0,0 +1,21 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("original"), XmlRoot("original")] + public class Original : DatItem + { + #region Keys + + /// string + public const string ContentKey = "content"; + + /// bool + public const string ValueKey = "value"; + + #endregion + + public Original() => Type = ItemType.Original; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Part.cs b/SabreTools.Serialization/Models/Metadata/Part.cs new file mode 100644 index 00000000..c9531905 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Part.cs @@ -0,0 +1,38 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("part"), XmlRoot("part")] + public class Part : DatItem + { + #region Keys + + /// DataArea[] + [NoFilter] + public const string DataAreaKey = "dataarea"; + + /// DiskArea[] + [NoFilter] + public const string DiskAreaKey = "diskarea"; + + /// DipSwitch[] + [NoFilter] + public const string DipSwitchKey = "dipswitch"; + + /// Feature[] + [NoFilter] + public const string FeatureKey = "feature"; + + /// string + public const string InterfaceKey = "interface"; + + /// string + public const string NameKey = "name"; + + #endregion + + public Part() => Type = ItemType.Part; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Port.cs b/SabreTools.Serialization/Models/Metadata/Port.cs new file mode 100644 index 00000000..0c2a8050 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Port.cs @@ -0,0 +1,23 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("port"), XmlRoot("port")] + public class Port : DatItem + { + #region Keys + + /// Analog[] + [NoFilter] + public const string AnalogKey = "analog"; + + /// string + public const string TagKey = "tag"; + + #endregion + + public Port() => Type = ItemType.Port; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/RamOption.cs b/SabreTools.Serialization/Models/Metadata/RamOption.cs new file mode 100644 index 00000000..7bf2bbe8 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/RamOption.cs @@ -0,0 +1,24 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("ramoption"), XmlRoot("ramoption")] + public class RamOption : DatItem + { + #region Keys + + /// string + public const string ContentKey = "content"; + + /// (yes|no) "no" + public const string DefaultKey = "default"; + + /// string + public const string NameKey = "name"; + + #endregion + + public RamOption() => Type = ItemType.RamOption; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Release.cs b/SabreTools.Serialization/Models/Metadata/Release.cs new file mode 100644 index 00000000..d061925c --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Release.cs @@ -0,0 +1,30 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("release"), XmlRoot("release")] + public class Release : DatItem + { + #region Keys + + /// string + public const string DateKey = "date"; + + /// (yes|no) "no" + public const string DefaultKey = "default"; + + /// string + public const string LanguageKey = "language"; + + /// string + public const string NameKey = "name"; + + /// string + public const string RegionKey = "region"; + + #endregion + + public Release() => Type = ItemType.Release; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Rom.cs b/SabreTools.Serialization/Models/Metadata/Rom.cs new file mode 100644 index 00000000..71f8b328 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Rom.cs @@ -0,0 +1,297 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("rom"), XmlRoot("rom")] + public class Rom : DatItem + { + #region Keys + + /// string; ArchiveDotOrg.File + public const string AlbumKey = "album"; + + /// string; AttractMode.Row + public const string AltRomnameKey = "alt_romname"; + + /// string; AttractMode.Row + public const string AltTitleKey = "alt_title"; + + /// string; ArchiveDotOrg.File + public const string ArtistKey = "artist"; + + /// string; ArchiveDotOrg.File + public const string ASRDetectedLangKey = "asr_detected_lang"; + + /// string; ArchiveDotOrg.File + public const string ASRDetectedLangConfKey = "asr_detected_lang_conf"; + + /// string; ArchiveDotOrg.File + public const string ASRTranscribedLangKey = "asr_transcribed_lang"; + + /// string + public const string BiosKey = "bios"; + + /// string; ArchiveDotOrg.File + public const string BitrateKey = "bitrate"; + + /// string; ArchiveDotOrg.File + public const string BitTorrentMagnetHashKey = "btih"; + + /// string; ArchiveDotOrg.File + public const string ClothCoverDetectionModuleVersionKey = "cloth_cover_detection_module_version"; + + /// string; ArchiveDotOrg.File + public const string CollectionCatalogNumberKey = "collection-catalog-number"; + + /// string; ArchiveDotOrg.File + public const string CommentKey = "comment"; + + /// string; Also "crc32" in ArchiveDotOrg.File + public const string CRCKey = "crc"; + + /// string; ArchiveDotOrg.File + public const string CreatorKey = "creator"; + + /// string + public const string DateKey = "date"; + + /// (yes|no) "no" + public const string DisposeKey = "dispose"; + + /// string; OfflineList.FileRomCRC + public const string ExtensionKey = "extension"; + + /// long; ArchiveDotOrg.File + public const string FileCountKey = "filecount"; + + /// bool; AttractMode.Row + public const string FileIsAvailableKey = "file_is_available"; + + /// string + public const string FlagsKey = "flags"; + + /// string; ArchiveDotOrg.File + public const string FormatKey = "format"; + + /// string + public const string HeaderKey = "header"; + + /// string, possibly long; ArchiveDotOrg.File + public const string HeightKey = "height"; + + /// string; ArchiveDotOrg.File + public const string hOCRCharToWordhOCRVersionKey = "hocr_char_to_word_hocr_version"; + + /// string; ArchiveDotOrg.File + public const string hOCRCharToWordModuleVersionKey = "hocr_char_to_word_module_version"; + + /// string; ArchiveDotOrg.File + public const string hOCRFtsTexthOCRVersionKey = "hocr_fts_text_hocr_version"; + + /// string; ArchiveDotOrg.File + public const string hOCRFtsTextModuleVersionKey = "hocr_fts_text_module_version"; + + /// string; ArchiveDotOrg.File + public const string hOCRPageIndexhOCRVersionKey = "hocr_pageindex_hocr_version"; + + /// string; ArchiveDotOrg.File + public const string hOCRPageIndexModuleVersionKey = "hocr_pageindex_module_version"; + + /// (yes|no) "no" + public const string InvertedKey = "inverted"; + + /// long; ArchiveDotOrg.File + public const string LastModifiedTimeKey = "mtime"; + + /// string, possibly long; Also in ArchiveDotOrg.File + public const string LengthKey = "length"; + + /// (load16_byte|load16_word|load16_word_swap|load32_byte|load32_word|load32_word_swap|load32_dword|load64_word|load64_word_swap|reload|fill|continue|reload_plain|ignore) + public const string LoadFlagKey = "loadflag"; + + /// string; ArchiveDotOrg.File + public const string MatrixNumberKey = "matrix_number"; + + /// string + public const string MD2Key = "md2"; + + /// string + public const string MD4Key = "md4"; + + /// string + public const string MD5Key = "md5"; + + /// string; OpenMSX.RomBase + public const string OpenMSXMediaType = "mediatype"; + + /// string + public const string MergeKey = "merge"; + + /// (yes|no) "no" + public const string MIAKey = "mia"; + + /// string + public const string NameKey = "name"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRKey = "ocr"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRConvertedKey = "ocr_converted"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRDetectedLangKey = "ocr_detected_lang"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRDetectedLangConfKey = "ocr_detected_lang_conf"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRDetectedScriptKey = "ocr_detected_script"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRDetectedScriptConfKey = "ocr_detected_script_conf"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRModuleVersionKey = "ocr_module_version"; + + /// string; ArchiveDotOrg.File + public const string TesseractOCRParametersKey = "ocr_parameters"; + + /// string, possibly long; Originally "offs" + public const string OffsetKey = "offset"; + + /// (yes|no) "no" + public const string OptionalKey = "optional"; + + /// string; ArchiveDotOrg.File + public const string OriginalKey = "original"; + + /// string; ArchiveDotOrg.File + public const string PDFModuleVersionKey = "pdf_module_version"; + + /// string; ArchiveDotOrg.File + public const string PreviewImageKey = "preview-image"; + + /// string; ArchiveDotOrg.File + public const string PublisherKey = "publisher"; + + /// string + public const string RegionKey = "region"; + + /// string; OpenMSX.RomBase + public const string RemarkKey = "remark"; + + /// string + public const string RIPEMD128Key = "ripemd128"; + + /// string + public const string RIPEMD160Key = "ripemd160"; + + /// string, possibly long; ArchiveDotOrg.File + public const string RotationKey = "rotation"; + + /// string + public const string SerialKey = "serial"; + + /// string + public const string SHA1Key = "sha1"; + + /// string + public const string SHA256Key = "sha256"; + + /// string + public const string SHA384Key = "sha384"; + + /// string + public const string SHA512Key = "sha512"; + + /// long + public const string SizeKey = "size"; + + /// (yes|no) "no" + public const string SoundOnlyKey = "soundonly"; + + /// string; ArchiveDotOrg.File + public const string SourceKey = "source"; + + /// string + public const string SpamSumKey = "spamsum"; + + /// string, possibly long; OpenMSX.RomBase + public const string StartKey = "start"; + + /// (baddump|nodump|good|verified) "good" + public const string StatusKey = "status"; + + /// string; ArchiveDotOrg.File + public const string SummationKey = "summation"; + + /// string; ArchiveDotOrg.File + public const string TitleKey = "title"; + + /// string, possibly long; ArchiveDotOrg.File + public const string TrackKey = "track"; + + /// string; OpenMSX.RomBase + public const string OpenMSXType = "type"; + + /// string + public const string ValueKey = "value"; + + /// string; ArchiveDotOrg.File + public const string WhisperASRModuleVersionKey = "whisper_asr_module_version"; + + /// string; ArchiveDotOrg.File + public const string WhisperModelHashKey = "whisper_model_hash"; + + /// string; ArchiveDotOrg.File + public const string WhisperModelNameKey = "whisper_model_name"; + + /// string; ArchiveDotOrg.File + public const string WhisperVersionKey = "whisper_version"; + + /// string, possibly long; ArchiveDotOrg.File + public const string WidthKey = "width"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval0To10Key = "word_conf_0_10"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval11To20Key = "word_conf_11_20"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval21To30Key = "word_conf_21_30"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval31To40Key = "word_conf_31_40"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval41To50Key = "word_conf_41_50"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval51To60Key = "word_conf_51_60"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval61To70Key = "word_conf_61_70"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval71To80Key = "word_conf_71_80"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval81To90Key = "word_conf_81_90"; + + /// string; ArchiveDotOrg.File + public const string WordConfidenceInterval91To100Key = "word_conf_91_100"; + + /// string + public const string xxHash364Key = "xxh3_64"; + + /// string + public const string xxHash3128Key = "xxh3_128"; + + #endregion + + public Rom() => Type = ItemType.Rom; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Sample.cs b/SabreTools.Serialization/Models/Metadata/Sample.cs new file mode 100644 index 00000000..f28d772a --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Sample.cs @@ -0,0 +1,18 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("sample"), XmlRoot("sample")] + public class Sample : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + #endregion + + public Sample() => Type = ItemType.Sample; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/SharedFeat.cs b/SabreTools.Serialization/Models/Metadata/SharedFeat.cs new file mode 100644 index 00000000..2d72e7d4 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/SharedFeat.cs @@ -0,0 +1,21 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("sharedfeat"), XmlRoot("sharedfeat")] + public class SharedFeat : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + /// string + public const string ValueKey = "value"; + + #endregion + + public SharedFeat() => Type = ItemType.SharedFeat; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Slot.cs b/SabreTools.Serialization/Models/Metadata/Slot.cs new file mode 100644 index 00000000..51f0e911 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Slot.cs @@ -0,0 +1,23 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("slot"), XmlRoot("slot")] + public class Slot : DatItem + { + #region Keys + + /// string + public const string NameKey = "name"; + + /// SlotOption[] + [NoFilter] + public const string SlotOptionKey = "slotoption"; + + #endregion + + public Slot() => Type = ItemType.Slot; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/SlotOption.cs b/SabreTools.Serialization/Models/Metadata/SlotOption.cs new file mode 100644 index 00000000..0c086e63 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/SlotOption.cs @@ -0,0 +1,24 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("slotoption"), XmlRoot("slotoption")] + public class SlotOption : DatItem + { + #region Keys + + /// (yes|no) "no" + public const string DefaultKey = "default"; + + /// string + public const string DevNameKey = "devname"; + + /// string + public const string NameKey = "name"; + + #endregion + + public SlotOption() => Type = ItemType.SlotOption; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Software.cs b/SabreTools.Serialization/Models/Metadata/Software.cs new file mode 100644 index 00000000..72e4a241 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Software.cs @@ -0,0 +1,49 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("software"), XmlRoot("software")] + public class Software : DatItem + { + #region Keys + + /// string + public const string CloneOfKey = "cloneof"; + + /// string + public const string DescriptionKey = "description"; + + /// Info[] + [NoFilter] + public const string InfoKey = "info"; + + /// string + public const string NameKey = "name"; + + /// string + public const string NotesKey = "notes"; + + /// Part[] + [NoFilter] + public const string PartKey = "part"; + + /// string + public const string PublisherKey = "publisher"; + + /// SharedFeat[] + [NoFilter] + public const string SharedFeatKey = "sharedfeat"; + + /// (yes|partial|no) "yes" + public const string SupportedKey = "supported"; + + /// string + public const string YearKey = "year"; + + #endregion + + public Software() => Type = ItemType.Software; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/SoftwareList.cs b/SabreTools.Serialization/Models/Metadata/SoftwareList.cs new file mode 100644 index 00000000..f251afb3 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/SoftwareList.cs @@ -0,0 +1,38 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; +using SabreTools.Models; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("softwarelist"), XmlRoot("softwarelist")] + public class SoftwareList : DatItem + { + #region Keys + + /// string + public const string DescriptionKey = "description"; + + /// string + public const string FilterKey = "filter"; + + /// string + public const string NameKey = "name"; + + /// string + public const string NotesKey = "notes"; + + /// Software[] + [NoFilter] + public const string SoftwareKey = "software"; + + /// (original|compatible) + public const string StatusKey = "status"; + + /// string + public const string TagKey = "tag"; + + #endregion + + public SoftwareList() => Type = ItemType.SoftwareList; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Sound.cs b/SabreTools.Serialization/Models/Metadata/Sound.cs new file mode 100644 index 00000000..9ea0b6d1 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Sound.cs @@ -0,0 +1,18 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("sound"), XmlRoot("sound")] + public class Sound : DatItem + { + #region Keys + + /// long + public const string ChannelsKey = "channels"; + + #endregion + + public Sound() => Type = ItemType.Sound; + } +} diff --git a/SabreTools.Serialization/Models/Metadata/Video.cs b/SabreTools.Serialization/Models/Metadata/Video.cs new file mode 100644 index 00000000..170da7d7 --- /dev/null +++ b/SabreTools.Serialization/Models/Metadata/Video.cs @@ -0,0 +1,36 @@ +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace SabreTools.Serialization.Models.Metadata +{ + [JsonObject("video"), XmlRoot("video")] + public class Video : DatItem + { + #region Keys + + /// long + public const string AspectXKey = "aspectx"; + + /// long + public const string AspectYKey = "aspecty"; + + /// long; Originally "y" + public const string HeightKey = "height"; + + /// (vertical|horizontal) + public const string OrientationKey = "orientation"; + + /// double; Originally "freq" + public const string RefreshKey = "refresh"; + + /// (raster|vector) + public const string ScreenKey = "screen"; + + /// long; Originally "x" + public const string WidthKey = "width"; + + #endregion + + public Video() => Type = ItemType.Video; + } +} diff --git a/SabreTools.Serialization/Models/OfflineList/CanOpen.cs b/SabreTools.Serialization/Models/OfflineList/CanOpen.cs new file mode 100644 index 00000000..1fa23538 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/CanOpen.cs @@ -0,0 +1,12 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("canOpen")] + public class CanOpen + { + [XmlElement("extension")] + public string[]? Extension { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Configuration.cs b/SabreTools.Serialization/Models/OfflineList/Configuration.cs new file mode 100644 index 00000000..040a1062 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Configuration.cs @@ -0,0 +1,44 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("configuration")] + public class Configuration + { + [XmlElement("datName")] + public string? DatName { get; set; } + + [XmlElement("imFolder")] + public string? ImFolder { get; set; } + + [XmlElement("datVersion")] + public string? DatVersion { get; set; } + + [XmlElement("system")] + public string? System { get; set; } + + /// Numeric? + [XmlElement("screenshotsWidth")] + public string? ScreenshotsWidth { get; set; } + + /// Numeric? + [XmlElement("screenshotsHeight")] + public string? ScreenshotsHeight { get; set; } + + [XmlElement("infos")] + public Infos? Infos { get; set; } + + [XmlElement("canOpen")] + public CanOpen? CanOpen { get; set; } + + [XmlElement("newDat")] + public NewDat? NewDat { get; set; } + + [XmlElement("search")] + public Search? Search { get; set; } + + [XmlElement("romTitle")] + public string? RomTitle { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Dat.cs b/SabreTools.Serialization/Models/OfflineList/Dat.cs new file mode 100644 index 00000000..09057e80 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Dat.cs @@ -0,0 +1,21 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("dat")] + public class Dat + { + [XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "noNamespaceSchemaLocation")] + public string? NoNamespaceSchemaLocation { get; set; } + + [XmlElement("configuration")] + public Configuration? Configuration { get; set; } + + [XmlElement("games")] + public Games? Games { get; set; } + + [XmlElement("gui")] + public GUI? GUI { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/DatUrl.cs b/SabreTools.Serialization/Models/OfflineList/DatUrl.cs new file mode 100644 index 00000000..d5cf2a7c --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/DatUrl.cs @@ -0,0 +1,15 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("datURL")] + public class DatUrl + { + [XmlAttribute("fileName")] + public string? FileName { get; set; } + + [XmlText] + public string? Content { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/FileRomCRC.cs b/SabreTools.Serialization/Models/OfflineList/FileRomCRC.cs new file mode 100644 index 00000000..6517a5b5 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/FileRomCRC.cs @@ -0,0 +1,15 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("romCRC")] + public class FileRomCRC + { + [XmlAttribute("extension")] + public string? Extension { get; set; } + + [XmlText] + public string? Content { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Files.cs b/SabreTools.Serialization/Models/OfflineList/Files.cs new file mode 100644 index 00000000..ad5e7ab7 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Files.cs @@ -0,0 +1,12 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("files")] + public class Files + { + [XmlElement("romCRC")] + public FileRomCRC[]? RomCRC { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Find.cs b/SabreTools.Serialization/Models/OfflineList/Find.cs new file mode 100644 index 00000000..a9f931db --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Find.cs @@ -0,0 +1,19 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("find")] + public class Find + { + [XmlAttribute("operation")] + public string? Operation { get; set; } + + /// Numeric? + [XmlAttribute("value")] + public string? Value { get; set; } + + [XmlText] + public string? Content { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/GUI.cs b/SabreTools.Serialization/Models/OfflineList/GUI.cs new file mode 100644 index 00000000..2b1728b2 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/GUI.cs @@ -0,0 +1,12 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("gui")] + public class GUI + { + [XmlElement("images")] + public Images? Images { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Game.cs b/SabreTools.Serialization/Models/OfflineList/Game.cs new file mode 100644 index 00000000..48444c80 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Game.cs @@ -0,0 +1,52 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("game")] + public class Game + { + [XmlElement("imageNumber")] + public string? ImageNumber { get; set; } + + [XmlElement("releaseNumber")] + public string? ReleaseNumber { get; set; } + + [XmlElement("title")] + public string? Title { get; set; } + + [XmlElement("saveType")] + public string? SaveType { get; set; } + + /// Numeric + [XmlElement("romSize")] + public string? RomSize { get; set; } + + [XmlElement("publisher")] + public string? Publisher { get; set; } + + [XmlElement("location")] + public string? Location { get; set; } + + [XmlElement("sourceRom")] + public string? SourceRom { get; set; } + + [XmlElement("language")] + public string? Language { get; set; } + + [XmlElement("files")] + public Files? Files { get; set; } + + [XmlElement("im1CRC")] + public string? Im1CRC { get; set; } + + [XmlElement("im2CRC")] + public string? Im2CRC { get; set; } + + [XmlElement("comment")] + public string? Comment { get; set; } + + [XmlElement("duplicateID")] + public string? DuplicateID { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Games.cs b/SabreTools.Serialization/Models/OfflineList/Games.cs new file mode 100644 index 00000000..f1955c3b --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Games.cs @@ -0,0 +1,12 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("games")] + public class Games + { + [XmlElement("game")] + public Game[]? Game { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Image.cs b/SabreTools.Serialization/Models/OfflineList/Image.cs new file mode 100644 index 00000000..1bd024eb --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Image.cs @@ -0,0 +1,21 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("image")] + public class Image + { + [XmlAttribute("x")] + public string? X { get; set; } + + [XmlAttribute("y")] + public string? Y { get; set; } + + [XmlAttribute("width")] + public string? Width { get; set; } + + [XmlAttribute("height")] + public string? Height { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Images.cs b/SabreTools.Serialization/Models/OfflineList/Images.cs new file mode 100644 index 00000000..3f57b03a --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Images.cs @@ -0,0 +1,18 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("images")] + public class Images + { + [XmlAttribute("width")] + public string? Width { get; set; } + + [XmlAttribute("height")] + public string? Height { get; set; } + + [XmlElement("image")] + public Image[]? Image { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/InfoBase.cs b/SabreTools.Serialization/Models/OfflineList/InfoBase.cs new file mode 100644 index 00000000..50785c0d --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/InfoBase.cs @@ -0,0 +1,62 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + public class InfoBase + { + /// Boolean + [XmlAttribute("visible")] + public string? Visible { get; set; } + + /// Boolean + [XmlAttribute("inNamingOption")] + public string? InNamingOption { get; set; } + + /// Boolean + [XmlAttribute("default")] + public string? Default { get; set; } + } + + [XmlRoot("title")] + public class Title : InfoBase { } + + [XmlRoot("location")] + public class Location : InfoBase { } + + [XmlRoot("publisher")] + public class Publisher : InfoBase { } + + [XmlRoot("sourceRom")] + public class SourceRom : InfoBase { } + + [XmlRoot("saveType")] + public class SaveType : InfoBase { } + + [XmlRoot("romSize")] + public class RomSize : InfoBase { } + + [XmlRoot("releaseNumber")] + public class ReleaseNumber : InfoBase { } + + [XmlRoot("imageNumber")] + public class ImageNumber : InfoBase { } + + [XmlRoot("languageNumber")] + public class LanguageNumber : InfoBase { } + + [XmlRoot("comment")] + public class Comment : InfoBase { } + + [XmlRoot("romCRC")] + public class RomCRC : InfoBase { } + + [XmlRoot("im1CRC")] + public class Im1CRC : InfoBase { } + + [XmlRoot("im2CRC")] + public class Im2CRC : InfoBase { } + + [XmlRoot("languages")] + public class Languages : InfoBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Infos.cs b/SabreTools.Serialization/Models/OfflineList/Infos.cs new file mode 100644 index 00000000..eab666a8 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Infos.cs @@ -0,0 +1,51 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("infos")] + public class Infos + { + [XmlElement("title")] + public Title? Title { get; set; } + + [XmlElement("location")] + public Location? Location { get; set; } + + [XmlElement("publisher")] + public Publisher? Publisher { get; set; } + + [XmlElement("sourceRom")] + public SourceRom? SourceRom { get; set; } + + [XmlElement("saveType")] + public SaveType? SaveType { get; set; } + + [XmlElement("romSize")] + public RomSize? RomSize { get; set; } + + [XmlElement("releaseNumber")] + public ReleaseNumber? ReleaseNumber { get; set; } + + [XmlElement("imageNumber")] + public ImageNumber? ImageNumber { get; set; } + + [XmlElement("languageNumber")] + public LanguageNumber? LanguageNumber { get; set; } + + [XmlElement("comment")] + public Comment? Comment { get; set; } + + [XmlElement("romCRC")] + public RomCRC? RomCRC { get; set; } + + [XmlElement("im1CRC")] + public Im1CRC? Im1CRC { get; set; } + + [XmlElement("im2CRC")] + public Im2CRC? Im2CRC { get; set; } + + [XmlElement("languages")] + public Languages? Languages { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/NewDat.cs b/SabreTools.Serialization/Models/OfflineList/NewDat.cs new file mode 100644 index 00000000..47c51ed7 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/NewDat.cs @@ -0,0 +1,18 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("newDat")] + public class NewDat + { + [XmlElement("datVersionURL")] + public string? DatVersionUrl { get; set; } + + [XmlElement("datURL")] + public DatUrl? DatUrl { get; set; } + + [XmlElement("imURL")] + public string? ImUrl { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/Search.cs b/SabreTools.Serialization/Models/OfflineList/Search.cs new file mode 100644 index 00000000..bb728458 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/Search.cs @@ -0,0 +1,12 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("search")] + public class Search + { + [XmlElement("to")] + public To[]? To { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OfflineList/To.cs b/SabreTools.Serialization/Models/OfflineList/To.cs new file mode 100644 index 00000000..d9041363 --- /dev/null +++ b/SabreTools.Serialization/Models/OfflineList/To.cs @@ -0,0 +1,23 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OfflineList +{ + [XmlRoot("to")] + public class To + { + [XmlAttribute("value")] + public string? Value { get; set; } + + /// Boolean + [XmlAttribute("default")] + public string? Default { get; set; } + + /// Boolean + [XmlAttribute("auto")] + public string? Auto { get; set; } + + [XmlElement("find")] + public Find[]? Find { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/Dump.cs b/SabreTools.Serialization/Models/OpenMSX/Dump.cs new file mode 100644 index 00000000..5a76087a --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/Dump.cs @@ -0,0 +1,17 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + [XmlRoot("dump")] + public class Dump + { + [XmlElement("original")] + public Original? Original { get; set; } + + [XmlElement("rom", typeof(Rom))] + [XmlElement("megarom", typeof(MegaRom))] + [XmlElement("sccpluscart", typeof(SCCPlusCart))] + public RomBase? Rom { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/MegaRom.cs b/SabreTools.Serialization/Models/OpenMSX/MegaRom.cs new file mode 100644 index 00000000..92502738 --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/MegaRom.cs @@ -0,0 +1,7 @@ +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + [XmlRoot("megarom")] + public class MegaRom : RomBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/Original.cs b/SabreTools.Serialization/Models/OpenMSX/Original.cs new file mode 100644 index 00000000..d647c5fe --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/Original.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + [XmlRoot("original")] + public class Original + { + /// Boolean? + [XmlAttribute("value")] + public string? Value { get; set; } + + [XmlText] + public string? Content { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/Rom.cs b/SabreTools.Serialization/Models/OpenMSX/Rom.cs new file mode 100644 index 00000000..775fc0f5 --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/Rom.cs @@ -0,0 +1,7 @@ +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + [XmlRoot("rom")] + public class Rom : RomBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/RomBase.cs b/SabreTools.Serialization/Models/OpenMSX/RomBase.cs new file mode 100644 index 00000000..faa35e1a --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/RomBase.cs @@ -0,0 +1,24 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + /// + /// Base class to unify the various rom types + /// + public abstract class RomBase + { + [XmlElement("start")] + public string? Start { get; set; } + + [XmlElement("type")] + public string? Type { get; set; } + + /// SHA-1 hash + [XmlElement("hash")] + public string? Hash { get; set; } + + [XmlElement("remark")] + public string? Remark { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/SCCPlusCart.cs b/SabreTools.Serialization/Models/OpenMSX/SCCPlusCart.cs new file mode 100644 index 00000000..51afa058 --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/SCCPlusCart.cs @@ -0,0 +1,7 @@ +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + [XmlRoot("sccpluscart")] + public class SCCPlusCart : RomBase { } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/Software.cs b/SabreTools.Serialization/Models/OpenMSX/Software.cs new file mode 100644 index 00000000..2d808eab --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/Software.cs @@ -0,0 +1,35 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + [XmlRoot("software")] + public class Software + { + [SabreTools.Models.Required] + [XmlElement("title")] + public string? Title { get; set; } + + [XmlElement("genmsxid")] + public string? GenMSXID { get; set; } + + [SabreTools.Models.Required] + [XmlElement("system")] + public string? System { get; set; } + + [SabreTools.Models.Required] + [XmlElement("company")] + public string? Company { get; set; } + + [SabreTools.Models.Required] + [XmlElement("year")] + public string? Year { get; set; } + + [SabreTools.Models.Required] + [XmlElement("country")] + public string? Country { get; set; } + + [XmlElement("dump")] + public Dump[]? Dump { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/OpenMSX/SoftwareDb.cs b/SabreTools.Serialization/Models/OpenMSX/SoftwareDb.cs new file mode 100644 index 00000000..11115ce9 --- /dev/null +++ b/SabreTools.Serialization/Models/OpenMSX/SoftwareDb.cs @@ -0,0 +1,15 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.OpenMSX +{ + [XmlRoot("softwaredb")] + public class SoftwareDb + { + [XmlAttribute("timestamp")] + public string? Timestamp { get; set; } + + [XmlElement("software")] + public Software[]? Software { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/RomCenter/Credits.cs b/SabreTools.Serialization/Models/RomCenter/Credits.cs new file mode 100644 index 00000000..f0dcd225 --- /dev/null +++ b/SabreTools.Serialization/Models/RomCenter/Credits.cs @@ -0,0 +1,27 @@ +namespace SabreTools.Serialization.Models.RomCenter +{ + /// [credits] + public class Credits + { + /// author + public string? Author { get; set; } + + /// version + public string? Version { get; set; } + + /// email + public string? Email { get; set; } + + /// homepage + public string? Homepage { get; set; } + + /// url + public string? Url { get; set; } + + /// date + public string? Date { get; set; } + + /// comment + public string? Comment { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/RomCenter/Dat.cs b/SabreTools.Serialization/Models/RomCenter/Dat.cs new file mode 100644 index 00000000..659ce6b0 --- /dev/null +++ b/SabreTools.Serialization/Models/RomCenter/Dat.cs @@ -0,0 +1,18 @@ +namespace SabreTools.Serialization.Models.RomCenter +{ + /// [dat] + public class Dat + { + /// version + public string? Version { get; set; } + + /// plugin + public string? Plugin { get; set; } + + /// split + public string? Split { get; set; } + + /// merge + public string? Merge { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/RomCenter/Emulator.cs b/SabreTools.Serialization/Models/RomCenter/Emulator.cs new file mode 100644 index 00000000..3fd6dc4b --- /dev/null +++ b/SabreTools.Serialization/Models/RomCenter/Emulator.cs @@ -0,0 +1,12 @@ +namespace SabreTools.Serialization.Models.RomCenter +{ + /// [emulator] + public class Emulator + { + /// refname + public string? RefName { get; set; } + + /// version + public string? Version { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/RomCenter/Games.cs b/SabreTools.Serialization/Models/RomCenter/Games.cs new file mode 100644 index 00000000..e5e2efa1 --- /dev/null +++ b/SabreTools.Serialization/Models/RomCenter/Games.cs @@ -0,0 +1,8 @@ +namespace SabreTools.Serialization.Models.RomCenter +{ + /// [games] + public class Games + { + public Rom[]? Rom { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/RomCenter/MetadataFile.cs b/SabreTools.Serialization/Models/RomCenter/MetadataFile.cs new file mode 100644 index 00000000..23c63f85 --- /dev/null +++ b/SabreTools.Serialization/Models/RomCenter/MetadataFile.cs @@ -0,0 +1,17 @@ +namespace SabreTools.Serialization.Models.RomCenter +{ + public class MetadataFile + { + /// [credits] + public Credits? Credits { get; set; } + + /// [dat] + public Dat? Dat { get; set; } + + /// [emulator] + public Emulator? Emulator { get; set; } + + /// [games] + public Games? Games { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/RomCenter/Rom.cs b/SabreTools.Serialization/Models/RomCenter/Rom.cs new file mode 100644 index 00000000..0c345e2a --- /dev/null +++ b/SabreTools.Serialization/Models/RomCenter/Rom.cs @@ -0,0 +1,33 @@ +namespace SabreTools.Serialization.Models.RomCenter +{ + /// ¬-delimited + public class Rom + { + /// 0 + public string? ParentName { get; set; } + + /// 1 + public string? ParentDescription { get; set; } + + /// 2 + public string? GameName { get; set; } + + /// 3 + public string? GameDescription { get; set; } + + /// 4 + public string? RomName { get; set; } + + /// 5 + public string? RomCRC { get; set; } + + /// 6 + public string? RomSize { get; set; } + + /// 7 + public string? RomOf { get; set; } + + /// 8 + public string? MergeName { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SeparatedValue/MetadataFile.cs b/SabreTools.Serialization/Models/SeparatedValue/MetadataFile.cs new file mode 100644 index 00000000..6d7177a9 --- /dev/null +++ b/SabreTools.Serialization/Models/SeparatedValue/MetadataFile.cs @@ -0,0 +1,10 @@ +namespace SabreTools.Serialization.Models.SeparatedValue +{ + public class MetadataFile + { + [SabreTools.Models.Required] + public string[]? Header { get; set; } + + public Row[]? Row { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SeparatedValue/Row.cs b/SabreTools.Serialization/Models/SeparatedValue/Row.cs new file mode 100644 index 00000000..2cffabbc --- /dev/null +++ b/SabreTools.Serialization/Models/SeparatedValue/Row.cs @@ -0,0 +1,61 @@ +namespace SabreTools.Serialization.Models.SeparatedValue +{ + /// + /// Standardized variant of a row + /// + public class Row + { + /// File Name + public string? FileName { get; set; } + + /// Internal Name + public string? InternalName { get; set; } + + /// Description + public string? Description { get; set; } + + /// Game Name + [SabreTools.Models.Required] + public string? GameName { get; set; } + + /// Game Description + public string? GameDescription { get; set; } + + /// Type + [SabreTools.Models.Required] + public string? Type { get; set; } + + /// Rom Name + public string? RomName { get; set; } + + /// Disk Name + public string? DiskName { get; set; } + + /// Size, Numeric + public string? Size { get; set; } + + /// CRC + public string? CRC { get; set; } + + /// MD5 + public string? MD5 { get; set; } + + /// SHA1 + public string? SHA1 { get; set; } + + /// SHA256 + public string? SHA256 { get; set; } + + /// SHA384, Optional + public string? SHA384 { get; set; } + + /// SHA512, Optional + public string? SHA512 { get; set; } + + /// SpamSum, Optional + public string? SpamSum { get; set; } + + /// Status, Nodump + public string? Status { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/DataArea.cs b/SabreTools.Serialization/Models/SoftwareList/DataArea.cs new file mode 100644 index 00000000..b5b35e0d --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/DataArea.cs @@ -0,0 +1,28 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("dataarea")] + public class DataArea + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("size")] + public string? Size { get; set; } + + /// (8|16|32|64) "8" + [XmlAttribute("width")] + public string? Width { get; set; } + + /// (big|little) "little" + [XmlAttribute("endianness")] + public string? Endianness { get; set; } + + [XmlElement("rom")] + public Rom[]? Rom { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/DipSwitch.cs b/SabreTools.Serialization/Models/SoftwareList/DipSwitch.cs new file mode 100644 index 00000000..273523c8 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/DipSwitch.cs @@ -0,0 +1,23 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("dipswitch")] + public class DipSwitch + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("tag")] + public string? Tag { get; set; } + + [XmlAttribute("mask")] + public string? Mask { get; set; } + + [XmlElement("dipvalue")] + public DipValue[]? DipValue { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/DipValue.cs b/SabreTools.Serialization/Models/SoftwareList/DipValue.cs new file mode 100644 index 00000000..2ce14172 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/DipValue.cs @@ -0,0 +1,21 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("dipvalue")] + public class DipValue + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("value")] + public string? Value { get; set; } + + /// (yes|no) "no" + [XmlAttribute("default")] + public string? Default { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/Disk.cs b/SabreTools.Serialization/Models/SoftwareList/Disk.cs new file mode 100644 index 00000000..c9325824 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/Disk.cs @@ -0,0 +1,27 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("disk")] + public class Disk + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("md5")] + public string? MD5 { get; set; } + + [XmlAttribute("sha1")] + public string? SHA1 { get; set; } + + /// (baddump|nodump|good) "good" + [XmlAttribute("status")] + public string? Status { get; set; } + + /// (yes|no) "no" + [XmlAttribute("writable")] + public string? Writeable { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/DiskArea.cs b/SabreTools.Serialization/Models/SoftwareList/DiskArea.cs new file mode 100644 index 00000000..beaa803c --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/DiskArea.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("diskarea")] + public class DiskArea + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlElement("disk")] + public Disk[]? Disk { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/Feature.cs b/SabreTools.Serialization/Models/SoftwareList/Feature.cs new file mode 100644 index 00000000..4e3469d2 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/Feature.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("feature")] + public class Feature + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("value")] + public string? Value { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/Info.cs b/SabreTools.Serialization/Models/SoftwareList/Info.cs new file mode 100644 index 00000000..0653def4 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/Info.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("info")] + public class Info + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("value")] + public string? Value { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/Part.cs b/SabreTools.Serialization/Models/SoftwareList/Part.cs new file mode 100644 index 00000000..e35fde4c --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/Part.cs @@ -0,0 +1,29 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("part")] + public class Part + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [SabreTools.Models.Required] + [XmlAttribute("interface")] + public string? Interface { get; set; } + + [XmlElement("feature")] + public Feature[]? Feature { get; set; } + + [XmlElement("dataarea")] + public DataArea[]? DataArea { get; set; } + + [XmlElement("diskarea")] + public DiskArea[]? DiskArea { get; set; } + + [XmlElement("dipswitch")] + public DipSwitch[]? DipSwitch { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/Rom.cs b/SabreTools.Serialization/Models/SoftwareList/Rom.cs new file mode 100644 index 00000000..af4dd352 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/Rom.cs @@ -0,0 +1,40 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("rom")] + public class Rom + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("size")] + public string? Size { get; set; } + + [XmlAttribute("length")] + public string? Length { get; set; } + + [XmlAttribute("crc")] + public string? CRC { get; set; } + + [XmlAttribute("sha1")] + public string? SHA1 { get; set; } + + /// Numeric? + [XmlAttribute("offset")] + public string? Offset { get; set; } + + [XmlAttribute("value")] + public string? Value { get; set; } + + /// (baddump|nodump|good) "good" + [XmlAttribute("status")] + public string? Status { get; set; } + + /// (load16_byte|load16_word|load16_word_swap|load32_byte|load32_word|load32_word_swap|load32_dword|load64_word|load64_word_swap|reload|fill|continue|reload_plain|ignore) + [XmlAttribute("loadflag")] + public string? LoadFlag { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/SharedFeat.cs b/SabreTools.Serialization/Models/SoftwareList/SharedFeat.cs new file mode 100644 index 00000000..04cbc41d --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/SharedFeat.cs @@ -0,0 +1,16 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("sharedfeat")] + public class SharedFeat + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("value")] + public string? Value { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/Software.cs b/SabreTools.Serialization/Models/SoftwareList/Software.cs new file mode 100644 index 00000000..2ae373d0 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/Software.cs @@ -0,0 +1,44 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("software")] + public class Software + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("cloneof")] + public string? CloneOf { get; set; } + + /// (yes|partial|no) "yes" + [XmlAttribute("supported")] + public string? Supported { get; set; } + + [SabreTools.Models.Required] + [XmlElement("description")] + public string? Description { get; set; } + + [SabreTools.Models.Required] + [XmlElement("year")] + public string? Year { get; set; } + + [SabreTools.Models.Required] + [XmlElement("publisher")] + public string? Publisher { get; set; } + + [XmlElement("notes")] + public string? Notes { get; set; } + + [XmlElement("info")] + public Info[]? Info { get; set; } + + [XmlElement("sharedfeat")] + public SharedFeat[]? SharedFeat { get; set; } + + [XmlElement("part")] + public Part[]? Part { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Models/SoftwareList/SoftwareList.cs b/SabreTools.Serialization/Models/SoftwareList/SoftwareList.cs new file mode 100644 index 00000000..985f3de2 --- /dev/null +++ b/SabreTools.Serialization/Models/SoftwareList/SoftwareList.cs @@ -0,0 +1,22 @@ +using System.Xml; +using System.Xml.Serialization; + +namespace SabreTools.Serialization.Models.SoftwareList +{ + [XmlRoot("softwarelist")] + public class SoftwareList + { + [SabreTools.Models.Required] + [XmlAttribute("name")] + public string? Name { get; set; } + + [XmlAttribute("description")] + public string? Description { get; set; } + + [XmlElement("notes")] + public string? Notes { get; set; } + + [XmlElement("software")] + public Software[]? Software { get; set; } + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Printers/CIA.cs b/SabreTools.Serialization/Printers/CIA.cs index 2704c024..2c5e2713 100644 --- a/SabreTools.Serialization/Printers/CIA.cs +++ b/SabreTools.Serialization/Printers/CIA.cs @@ -4,13 +4,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Printers { - public class CIA : IPrinter + public class CIA : IPrinter { /// - public void PrintInformation(StringBuilder builder, Models.N3DS.CIA model) + public void PrintInformation(StringBuilder builder, SabreTools.Models.N3DS.CIA model) => Print(builder, model); - public static void Print(StringBuilder builder, Models.N3DS.CIA cia) + public static void Print(StringBuilder builder, SabreTools.Models.N3DS.CIA cia) { builder.AppendLine("CIA Archive Information:"); builder.AppendLine("-------------------------"); diff --git a/SabreTools.Serialization/Printers/LinearExecutable.cs b/SabreTools.Serialization/Printers/LinearExecutable.cs index a315ad93..e2957127 100644 --- a/SabreTools.Serialization/Printers/LinearExecutable.cs +++ b/SabreTools.Serialization/Printers/LinearExecutable.cs @@ -41,7 +41,7 @@ namespace SabreTools.Serialization.Printers Print(builder, executable.DebugInformation); } - private static void Print(StringBuilder builder, Models.MSDOS.ExecutableHeader? header) + private static void Print(StringBuilder builder, SabreTools.Models.MSDOS.ExecutableHeader? header) { builder.AppendLine(" MS-DOS Stub Header Information:"); builder.AppendLine(" -------------------------"); diff --git a/SabreTools.Serialization/Printers/NewExecutable.cs b/SabreTools.Serialization/Printers/NewExecutable.cs index 2e631dd7..f534636d 100644 --- a/SabreTools.Serialization/Printers/NewExecutable.cs +++ b/SabreTools.Serialization/Printers/NewExecutable.cs @@ -34,7 +34,7 @@ namespace SabreTools.Serialization.Printers Print(builder, executable.NonResidentNameTable); } - private static void Print(StringBuilder builder, Models.MSDOS.ExecutableHeader? header) + private static void Print(StringBuilder builder, SabreTools.Models.MSDOS.ExecutableHeader? header) { builder.AppendLine(" MS-DOS Stub Header Information:"); builder.AppendLine(" -------------------------"); @@ -243,7 +243,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, ModuleReferenceTableEntry[]? entries, Models.MSDOS.ExecutableHeader? stub, ExecutableHeader? header) + private static void Print(StringBuilder builder, ModuleReferenceTableEntry[]? entries, SabreTools.Models.MSDOS.ExecutableHeader? stub, ExecutableHeader? header) { builder.AppendLine(" Module-Reference Table Information:"); builder.AppendLine(" -------------------------"); diff --git a/SabreTools.Serialization/Printers/PortableExecutable.cs b/SabreTools.Serialization/Printers/PortableExecutable.cs index a0430207..415da490 100644 --- a/SabreTools.Serialization/Printers/PortableExecutable.cs +++ b/SabreTools.Serialization/Printers/PortableExecutable.cs @@ -60,7 +60,7 @@ namespace SabreTools.Serialization.Printers Print(builder, executable.DebugTable); } - private static void Print(StringBuilder builder, Models.MSDOS.ExecutableHeader? header) + private static void Print(StringBuilder builder, SabreTools.Models.MSDOS.ExecutableHeader? header) { builder.AppendLine(" MS-DOS Stub Header Information:"); builder.AppendLine(" -------------------------"); @@ -119,7 +119,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.OptionalHeader? header, SectionHeader[]? table) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.OptionalHeader? header, SectionHeader[]? table) { builder.AppendLine(" Optional Header Information:"); builder.AppendLine(" -------------------------"); @@ -417,7 +417,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(entry.Reserved2, " Reserved"); } - private static void Print(StringBuilder builder, Models.COFF.StringTable? stringTable) + private static void Print(StringBuilder builder, SabreTools.Models.COFF.StringTable? stringTable) { builder.AppendLine(" String Table Information:"); builder.AppendLine(" -------------------------"); @@ -439,7 +439,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.AttributeCertificate.Entry[]? entries) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.AttributeCertificate.Entry[]? entries) { builder.AppendLine(" Attribute Certificate Table Information:"); builder.AppendLine(" -------------------------"); @@ -480,7 +480,7 @@ namespace SabreTools.Serialization.Printers } else { - foreach (Models.ASN1.TypeLengthValue tlv in topLevelValues) + foreach (SabreTools.Serialization.Models.ASN1.TypeLengthValue tlv in topLevelValues) { string tlvString = tlv.Format(paddingLevel: 4); builder.AppendLine(tlvString); @@ -506,7 +506,7 @@ namespace SabreTools.Serialization.Printers } } - private static void Print(StringBuilder builder, Models.PortableExecutable.DelayLoad.DirectoryTable? table, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.DelayLoad.DirectoryTable? table, SectionHeader[]? sections) { builder.AppendLine(" Delay-Load Directory Table Information:"); builder.AppendLine(" -------------------------"); @@ -533,7 +533,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.BaseRelocation.Block[]? entries, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.BaseRelocation.Block[]? entries, SectionHeader[]? sections) { builder.AppendLine(" Base Relocation Table Information:"); builder.AppendLine(" -------------------------"); @@ -576,7 +576,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.DebugData.Table? table) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.DebugData.Table? table) { builder.AppendLine(" Debug Table Information:"); builder.AppendLine(" -------------------------"); @@ -605,7 +605,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Export.DirectoryTable? table, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Export.DirectoryTable? table, SectionHeader[]? sections) { builder.AppendLine(value: " Export Directory Table Information:"); builder.AppendLine(" -------------------------"); @@ -635,7 +635,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Export.AddressTableEntry[]? table, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Export.AddressTableEntry[]? table, SectionHeader[]? sections) { builder.AppendLine(" Export Address Table Information:"); builder.AppendLine(" -------------------------"); @@ -658,7 +658,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Export.NamePointerTable? table) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Export.NamePointerTable? table) { builder.AppendLine(" Export Name Pointer Table Information:"); builder.AppendLine(" -------------------------"); @@ -680,7 +680,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Export.OrdinalTable? table) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Export.OrdinalTable? table) { builder.AppendLine(" Export Ordinal Table Information:"); builder.AppendLine(" -------------------------"); @@ -702,7 +702,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Export.NameTable? table) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Export.NameTable? table) { builder.AppendLine(" Export Name Table Information:"); builder.AppendLine(" -------------------------"); @@ -724,7 +724,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Import.DirectoryTableEntry[]? table, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Import.DirectoryTableEntry[]? table, SectionHeader[]? sections) { builder.AppendLine(" Import Directory Table Information:"); builder.AppendLine(" -------------------------"); @@ -754,7 +754,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Dictionary? tables, SectionHeader[]? sections) + private static void Print(StringBuilder builder, Dictionary? tables, SectionHeader[]? sections) { builder.AppendLine(" Import Lookup Tables Information:"); builder.AppendLine(" -------------------------"); @@ -800,7 +800,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Dictionary? tables, SectionHeader[]? sections) + private static void Print(StringBuilder builder, Dictionary? tables, SectionHeader[]? sections) { builder.AppendLine(" Import Address Tables Information:"); builder.AppendLine(" -------------------------"); @@ -846,7 +846,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Import.HintNameTableEntry[]? table) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Import.HintNameTableEntry[]? table) { builder.AppendLine(" Import Hint/Name Table Information:"); builder.AppendLine(" -------------------------"); @@ -869,7 +869,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Resource.DirectoryTable? table, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Resource.DirectoryTable? table, SectionHeader[]? sections) { builder.AppendLine(" Resource Directory Table Information:"); builder.AppendLine(" -------------------------"); @@ -884,7 +884,7 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Resource.DirectoryTable table, int level, List types, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Resource.DirectoryTable table, int level, List types, SectionHeader[]? sections) { string padding = new(' ', (level + 1) * 2); @@ -924,7 +924,7 @@ namespace SabreTools.Serialization.Printers } } - private static void Print(StringBuilder builder, Models.PortableExecutable.Resource.DirectoryEntry entry, int level, List types, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Resource.DirectoryEntry entry, int level, List types, SectionHeader[]? sections) { string padding = new(' ', (level + 1) * 2); @@ -945,7 +945,7 @@ namespace SabreTools.Serialization.Printers Print(builder, entry.Subdirectory, level: level + 1, types, sections); } - private static void Print(StringBuilder builder, Models.PortableExecutable.Resource.DataEntry entry, int level, List types, SectionHeader[]? sections) + private static void Print(StringBuilder builder, SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, List types, SectionHeader[]? sections) { string padding = new(' ', (level + 1) * 2); @@ -1041,25 +1041,25 @@ namespace SabreTools.Serialization.Printers builder.AppendLine(); } - private static void PrintResourceRT_CURSOR(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_CURSOR(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Hardware-dependent cursor resource found, not parsed yet"); } - private static void PrintResourceRT_BITMAP(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_BITMAP(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Bitmap resource found, not parsed yet"); } - private static void PrintResourceRT_ICON(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_ICON(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Hardware-dependent icon resource found, not parsed yet"); } - private static void PrintResourceRT_MENU(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_MENU(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1137,7 +1137,7 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceRT_DIALOG(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_DIALOG(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1272,7 +1272,7 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceRT_STRING(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_STRING(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1292,19 +1292,19 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceRT_FONTDIR(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_FONTDIR(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Font directory resource found, not parsed yet"); } - private static void PrintResourceRT_FONT(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_FONT(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Font resource found, not parsed yet"); } - private static void PrintResourceRT_ACCELERATOR(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_ACCELERATOR(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1327,7 +1327,7 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceRT_RCDATA(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_RCDATA(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Application-defined resource found, not parsed yet"); @@ -1362,11 +1362,11 @@ namespace SabreTools.Serialization.Printers { builder.AppendLine($"{padding}Data: [Embedded spanned PKZIP file]"); // TODO: Parse this out and print separately } - else if (magic.StartsWith(Models.RAR.Constants.OldSignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.RAR.Constants.OldSignatureBytes)) { builder.AppendLine($"{padding}Data: [Embedded RAR file]"); // TODO: Parse this out and print separately } - else if (magic.StartsWith(Models.RAR.Constants.NewSignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.RAR.Constants.NewSignatureBytes)) { builder.AppendLine($"{padding}Data: [Embedded RAR5 file]"); // TODO: Parse this out and print separately } @@ -1386,7 +1386,7 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceRT_MESSAGETABLE(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_MESSAGETABLE(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1453,19 +1453,19 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceRT_GROUP_CURSOR(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_GROUP_CURSOR(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Hardware-independent cursor resource found, not parsed yet"); } - private static void PrintResourceRT_GROUP_ICON(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_GROUP_ICON(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Hardware-independent icon resource found, not parsed yet"); } - private static void PrintResourceRT_VERSION(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_VERSION(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1586,37 +1586,37 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceRT_DLGINCLUDE(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_DLGINCLUDE(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}External header resource found, not parsed yet"); } - private static void PrintResourceRT_PLUGPLAY(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_PLUGPLAY(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Plug and Play resource found, not parsed yet"); } - private static void PrintResourceRT_VXD(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_VXD(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}VXD found, not parsed yet"); } - private static void PrintResourceRT_ANICURSOR(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_ANICURSOR(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Animated cursor found, not parsed yet"); } - private static void PrintResourceRT_ANIICON(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_ANIICON(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}Animated icon found, not parsed yet"); } - private static void PrintResourceRT_HTML(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_HTML(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); builder.AppendLine($"{padding}HTML resource found, not parsed yet"); @@ -1629,7 +1629,7 @@ namespace SabreTools.Serialization.Printers // builder.AppendLine(Encoding.Unicode.GetString(entry.Data), $"{padding}Value (Unicode)"); } - private static void PrintResourceRT_MANIFEST(Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) + private static void PrintResourceRT_MANIFEST(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1806,7 +1806,7 @@ namespace SabreTools.Serialization.Printers } } - private static void PrintResourceUNKNOWN(Models.PortableExecutable.Resource.DataEntry entry, int level, object resourceType, StringBuilder builder) + private static void PrintResourceUNKNOWN(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, int level, object resourceType, StringBuilder builder) { string padding = new(' ', (level + 1) * 2); @@ -1848,11 +1848,11 @@ namespace SabreTools.Serialization.Printers { builder.AppendLine($"{padding}Data: [Embedded spanned PKZIP file]"); // TODO: Parse this out and print separately } - else if (magic.StartsWith(Models.RAR.Constants.OldSignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.RAR.Constants.OldSignatureBytes)) { builder.AppendLine($"{padding}Data: [Embedded RAR file]"); // TODO: Parse this out and print separately } - else if (magic.StartsWith(Models.RAR.Constants.NewSignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.RAR.Constants.NewSignatureBytes)) { builder.AppendLine($"{padding}Data: [Embedded RAR5 file]"); // TODO: Parse this out and print separately } diff --git a/SabreTools.Serialization/Printers/XMID.cs b/SabreTools.Serialization/Printers/XMID.cs index 626edfd0..b4ced806 100644 --- a/SabreTools.Serialization/Printers/XMID.cs +++ b/SabreTools.Serialization/Printers/XMID.cs @@ -4,13 +4,13 @@ using static SabreTools.Models.Xbox.Constants; namespace SabreTools.Serialization.Printers { - public class XMID : IPrinter + public class XMID : IPrinter { /// - public void PrintInformation(StringBuilder builder, Models.Xbox.XMID model) + public void PrintInformation(StringBuilder builder, SabreTools.Models.Xbox.XMID model) => Print(builder, model); - public static void Print(StringBuilder builder, Models.Xbox.XMID xmid) + public static void Print(StringBuilder builder, SabreTools.Models.Xbox.XMID xmid) { builder.AppendLine("Xbox Media Identifier Information:"); builder.AppendLine("-------------------------"); diff --git a/SabreTools.Serialization/Printers/XeMID.cs b/SabreTools.Serialization/Printers/XeMID.cs index 16430839..236fff9a 100644 --- a/SabreTools.Serialization/Printers/XeMID.cs +++ b/SabreTools.Serialization/Printers/XeMID.cs @@ -4,13 +4,13 @@ using static SabreTools.Models.Xbox.Constants; namespace SabreTools.Serialization.Printers { - public class XeMID : IPrinter + public class XeMID : IPrinter { /// - public void PrintInformation(StringBuilder builder, Models.Xbox.XeMID model) + public void PrintInformation(StringBuilder builder, SabreTools.Models.Xbox.XeMID model) => Print(builder, model); - public static void Print(StringBuilder builder, Models.Xbox.XeMID xemid) + public static void Print(StringBuilder builder, SabreTools.Models.Xbox.XeMID xemid) { builder.AppendLine("Xbox Media Identifier Information:"); builder.AppendLine("-------------------------"); diff --git a/SabreTools.Serialization/Serializers/ArchiveDotOrg.cs b/SabreTools.Serialization/Serializers/ArchiveDotOrg.cs index 546a07dc..ff42fe75 100644 --- a/SabreTools.Serialization/Serializers/ArchiveDotOrg.cs +++ b/SabreTools.Serialization/Serializers/ArchiveDotOrg.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.ArchiveDotOrg; + namespace SabreTools.Serialization.Serializers { - public class ArchiveDotOrg : XmlFile + public class ArchiveDotOrg : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Serializers/AttractMode.cs b/SabreTools.Serialization/Serializers/AttractMode.cs index 0e8814b6..ad7c10c8 100644 --- a/SabreTools.Serialization/Serializers/AttractMode.cs +++ b/SabreTools.Serialization/Serializers/AttractMode.cs @@ -1,7 +1,7 @@ using System.IO; using System.Text; using SabreTools.IO.Writers; -using SabreTools.Models.AttractMode; +using SabreTools.Serialization.Models.AttractMode; namespace SabreTools.Serialization.Serializers { @@ -64,13 +64,6 @@ namespace SabreTools.Serialization.Serializers #region IByteSerializer - /// - public static byte[]? SerializeBytes(MetadataFile? obj, bool longHeader = false) - { - var serializer = new AttractMode(); - return serializer.SerializeArray(obj, longHeader); - } - /// public override byte[]? SerializeArray(MetadataFile? obj) => SerializeArray(obj, false); @@ -91,19 +84,12 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer - /// - public static bool SerializeFile(MetadataFile? obj, string? path, bool longHeader = false) - { - var serializer = new AttractMode(); - return serializer.Serialize(obj, path, longHeader); - } + /// + public override bool SerializeFile(MetadataFile? obj, string? path) + => SerializeFile(obj, path, false); /// - public override bool Serialize(MetadataFile? obj, string? path) - => Serialize(obj, path, false); - - /// - public bool Serialize(MetadataFile? obj, string? path, bool longHeader) + public bool SerializeFile(MetadataFile? obj, string? path, bool longHeader) { if (string.IsNullOrEmpty(path)) return false; @@ -123,19 +109,12 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer - /// - public static Stream? SerializeStream(MetadataFile? obj, bool longHeader = false) - { - var serializer = new AttractMode(); - return serializer.Serialize(obj, longHeader); - } + /// + public override Stream? SerializeStream(MetadataFile? obj) + => SerializeStream(obj, false); /// - public override Stream? Serialize(MetadataFile? obj) - => Serialize(obj, false); - - /// - public Stream? Serialize(MetadataFile? obj, bool longHeader) + public Stream? SerializeStream(MetadataFile? obj, bool longHeader) { // If the metadata file is null if (obj == null) diff --git a/SabreTools.Serialization/Serializers/BaseBinarySerializer.cs b/SabreTools.Serialization/Serializers/BaseBinarySerializer.cs index 38a1ebb6..9f223576 100644 --- a/SabreTools.Serialization/Serializers/BaseBinarySerializer.cs +++ b/SabreTools.Serialization/Serializers/BaseBinarySerializer.cs @@ -21,7 +21,7 @@ namespace SabreTools.Serialization.Serializers /// public virtual byte[]? SerializeArray(TModel? obj) { - using var stream = Serialize(obj); + using var stream = SerializeStream(obj); if (stream == null) return null; @@ -35,12 +35,12 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer /// - public virtual bool Serialize(TModel? obj, string? path) + public virtual bool SerializeFile(TModel? obj, string? path) { if (string.IsNullOrEmpty(path)) return false; - using var stream = Serialize(obj); + using var stream = SerializeStream(obj); if (stream == null) return false; @@ -56,7 +56,7 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer /// - public abstract Stream? Serialize(TModel? obj); + public abstract Stream? SerializeStream(TModel? obj); #endregion } diff --git a/SabreTools.Serialization/Serializers/Catalog.cs b/SabreTools.Serialization/Serializers/Catalog.cs index 48274755..0c479c68 100644 --- a/SabreTools.Serialization/Serializers/Catalog.cs +++ b/SabreTools.Serialization/Serializers/Catalog.cs @@ -3,10 +3,10 @@ using System.Text; namespace SabreTools.Serialization.Serializers { - public class Catalog : JsonFile + public class Catalog : JsonFile { /// Catalog.js file is encoded as UTF-16 LE - public override Stream? Serialize(Models.Xbox.Catalog? obj) + public override Stream? SerializeStream(SabreTools.Models.Xbox.Catalog? obj) => Serialize(obj, new UnicodeEncoding()); } } diff --git a/SabreTools.Serialization/Serializers/ClrMamePro.cs b/SabreTools.Serialization/Serializers/ClrMamePro.cs index c88418c4..24e47df9 100644 --- a/SabreTools.Serialization/Serializers/ClrMamePro.cs +++ b/SabreTools.Serialization/Serializers/ClrMamePro.cs @@ -1,7 +1,7 @@ using System.IO; using System.Text; using SabreTools.IO.Writers; -using SabreTools.Models.ClrMamePro; +using SabreTools.Serialization.Models.ClrMamePro; namespace SabreTools.Serialization.Serializers { @@ -9,13 +9,6 @@ namespace SabreTools.Serialization.Serializers { #region IByteSerializer - /// - public static byte[]? SerializeBytes(MetadataFile? obj, bool quotes = false) - { - var serializer = new ClrMamePro(); - return serializer.SerializeArray(obj, quotes); - } - /// public override byte[]? SerializeArray(MetadataFile? obj) => SerializeArray(obj, false); @@ -36,19 +29,12 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer - /// - public static bool SerializeFile(MetadataFile? obj, string? path, bool quotes = true) - { - var serializer = new ClrMamePro(); - return serializer.Serialize(obj, path, quotes); - } - /// - public override bool Serialize(MetadataFile? obj, string? path) - => Serialize(obj, path, true); + public override bool SerializeFile(MetadataFile? obj, string? path) + => SerializeFile(obj, path, true); - /// - public bool Serialize(MetadataFile? obj, string? path, bool quotes) + /// + public bool SerializeFile(MetadataFile? obj, string? path, bool quotes) { if (string.IsNullOrEmpty(path)) return false; @@ -68,19 +54,12 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer - /// - public static Stream? SerializeStream(MetadataFile? obj, bool quotes = true) - { - var serializer = new ClrMamePro(); - return serializer.Serialize(obj, quotes); - } - /// - public override Stream? Serialize(MetadataFile? obj) - => Serialize(obj, true); + public override Stream? SerializeStream(MetadataFile? obj) + => SerializeStream(obj, true); - /// - public Stream? Serialize(MetadataFile? obj, bool quotes) + /// + public Stream? SerializeStream(MetadataFile? obj, bool quotes) { // If the metadata file is null if (obj == null) @@ -106,7 +85,7 @@ namespace SabreTools.Serialization.Serializers /// /// ClrMamePro representing the header information /// ClrMameProWriter representing the output - private static void WriteHeader(Models.ClrMamePro.ClrMamePro? header, ClrMameProWriter writer) + private static void WriteHeader(SabreTools.Serialization.Models.ClrMamePro.ClrMamePro? header, ClrMameProWriter writer) { // If the header information is missing, we can't do anything if (header == null) diff --git a/SabreTools.Serialization/Serializers/CueSheet.cs b/SabreTools.Serialization/Serializers/CueSheet.cs index 1c58ae24..d3ecd993 100644 --- a/SabreTools.Serialization/Serializers/CueSheet.cs +++ b/SabreTools.Serialization/Serializers/CueSheet.cs @@ -5,10 +5,10 @@ using SabreTools.Models.CueSheets; namespace SabreTools.Serialization.Serializers { - public class CueSheet : BaseBinarySerializer + public class CueSheet : BaseBinarySerializer { /// - public override Stream? Serialize(Models.CueSheets.CueSheet? obj) + public override Stream? SerializeStream(SabreTools.Models.CueSheets.CueSheet? obj) { // If the cuesheet is null if (obj == null) @@ -41,7 +41,7 @@ namespace SabreTools.Serialization.Serializers /// /// CueSheet to write /// StreamWriter to write to - private static void WriteCueSheet(Models.CueSheets.CueSheet cueSheet, StreamWriter sw) + private static void WriteCueSheet(SabreTools.Models.CueSheets.CueSheet cueSheet, StreamWriter sw) { // If we don't have any files, it's invalid if (cueSheet.Files == null) diff --git a/SabreTools.Serialization/Serializers/DosCenter.cs b/SabreTools.Serialization/Serializers/DosCenter.cs index 6593301a..b9441628 100644 --- a/SabreTools.Serialization/Serializers/DosCenter.cs +++ b/SabreTools.Serialization/Serializers/DosCenter.cs @@ -1,14 +1,14 @@ using System.IO; using System.Text; using SabreTools.IO.Writers; -using SabreTools.Models.DosCenter; +using SabreTools.Serialization.Models.DosCenter; namespace SabreTools.Serialization.Serializers { public class DosCenter : BaseBinarySerializer { /// - public override Stream? Serialize(MetadataFile? obj) + public override Stream? SerializeStream(MetadataFile? obj) { // If the metadata file is null if (obj == null) @@ -37,7 +37,7 @@ namespace SabreTools.Serialization.Serializers /// /// DosCenter representing the header information /// ClrMameProWriter representing the output - private static void WriteHeader(Models.DosCenter.DosCenter? header, ClrMameProWriter writer) + private static void WriteHeader(SabreTools.Serialization.Models.DosCenter.DosCenter? header, ClrMameProWriter writer) { // If the header information is missing, we can't do anything if (header == null) @@ -103,7 +103,7 @@ namespace SabreTools.Serialization.Serializers /// /// Array of File objects to write /// ClrMameProWriter representing the output - private static void WriteFiles(Models.DosCenter.File[]? files, ClrMameProWriter writer) + private static void WriteFiles(SabreTools.Serialization.Models.DosCenter.File[]? files, ClrMameProWriter writer) { // If the array is missing, we can't do anything if (files == null) diff --git a/SabreTools.Serialization/Serializers/EverdriveSMDB.cs b/SabreTools.Serialization/Serializers/EverdriveSMDB.cs index 25508631..935153e8 100644 --- a/SabreTools.Serialization/Serializers/EverdriveSMDB.cs +++ b/SabreTools.Serialization/Serializers/EverdriveSMDB.cs @@ -2,14 +2,14 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.IO.Writers; -using SabreTools.Models.EverdriveSMDB; +using SabreTools.Serialization.Models.EverdriveSMDB; namespace SabreTools.Serialization.Serializers { public class EverdriveSMDB : BaseBinarySerializer { /// - public override Stream? Serialize(MetadataFile? obj) + public override Stream? SerializeStream(MetadataFile? obj) { // If the metadata file is null if (obj == null) diff --git a/SabreTools.Serialization/Serializers/Hashfile.cs b/SabreTools.Serialization/Serializers/Hashfile.cs index c9dc0efb..d8122cef 100644 --- a/SabreTools.Serialization/Serializers/Hashfile.cs +++ b/SabreTools.Serialization/Serializers/Hashfile.cs @@ -3,27 +3,20 @@ using System.IO; using System.Text; using SabreTools.Hashing; using SabreTools.IO.Writers; -using SabreTools.Models.Hashfile; +using SabreTools.Serialization.Models.Hashfile; namespace SabreTools.Serialization.Serializers { - public class Hashfile : BaseBinarySerializer + public class Hashfile : BaseBinarySerializer { #region IByteSerializer - /// - public static byte[]? SerializeBytes(Models.Hashfile.Hashfile? obj, HashType hash = HashType.CRC32) - { - var serializer = new Hashfile(); - return serializer.SerializeArray(obj, hash); - } - /// - public override byte[]? SerializeArray(Models.Hashfile.Hashfile? obj) + public override byte[]? SerializeArray(SabreTools.Serialization.Models.Hashfile.Hashfile? obj) => SerializeArray(obj, HashType.CRC32); /// - public byte[]? SerializeArray(Models.Hashfile.Hashfile? obj, HashType hash) + public byte[]? SerializeArray(SabreTools.Serialization.Models.Hashfile.Hashfile? obj, HashType hash) { using var stream = SerializeStream(obj, hash); if (stream == null) @@ -38,19 +31,12 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer - /// - public static bool SerializeFile(Models.Hashfile.Hashfile? obj, string? path, HashType hash = HashType.CRC32) - { - var serializer = new Hashfile(); - return serializer.Serialize(obj, path, hash); - } + /// + public override bool SerializeFile(SabreTools.Serialization.Models.Hashfile.Hashfile? obj, string? path) + => SerializeFile(obj, path, HashType.CRC32); /// - public override bool Serialize(Models.Hashfile.Hashfile? obj, string? path) - => Serialize(obj, path, HashType.CRC32); - - /// - public bool Serialize(Models.Hashfile.Hashfile? obj, string? path, HashType hash) + public bool SerializeFile(SabreTools.Serialization.Models.Hashfile.Hashfile? obj, string? path, HashType hash) { if (string.IsNullOrEmpty(path)) return false; @@ -70,19 +56,12 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer - /// - public static Stream? SerializeStream(Models.Hashfile.Hashfile? obj, HashType hash = HashType.CRC32) - { - var serializer = new Hashfile(); - return serializer.Serialize(obj, hash); - } + /// + public override Stream? SerializeStream(SabreTools.Serialization.Models.Hashfile.Hashfile? obj) + => SerializeStream(obj, HashType.CRC32); /// - public override Stream? Serialize(Models.Hashfile.Hashfile? obj) - => Serialize(obj, HashType.CRC32); - - /// - public Stream? Serialize(Models.Hashfile.Hashfile? obj, HashType hash) + public Stream? SerializeStream(SabreTools.Serialization.Models.Hashfile.Hashfile? obj, HashType hash) { // If the metadata file is null if (obj == null) diff --git a/SabreTools.Serialization/Serializers/IRD.cs b/SabreTools.Serialization/Serializers/IRD.cs index c9383ecf..6f98e270 100644 --- a/SabreTools.Serialization/Serializers/IRD.cs +++ b/SabreTools.Serialization/Serializers/IRD.cs @@ -4,10 +4,10 @@ using System.Text; namespace SabreTools.Serialization.Serializers { - public class IRD : BaseBinarySerializer + public class IRD : BaseBinarySerializer { /// - public override Stream? Serialize(Models.IRD.File? obj) + public override Stream? SerializeStream(SabreTools.Models.IRD.File? obj) { // If the data is invalid if (obj?.Magic == null) diff --git a/SabreTools.Serialization/Serializers/JsonFile.cs b/SabreTools.Serialization/Serializers/JsonFile.cs index 808327b3..f4ef49d6 100644 --- a/SabreTools.Serialization/Serializers/JsonFile.cs +++ b/SabreTools.Serialization/Serializers/JsonFile.cs @@ -39,7 +39,7 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer /// - public override bool Serialize(T? obj, string? path) + public override bool SerializeFile(T? obj, string? path) => Serialize(obj, path, new UTF8Encoding(false)); /// @@ -71,7 +71,7 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer /// - public override Stream? Serialize(T? obj) + public override Stream? SerializeStream(T? obj) => Serialize(obj, new UTF8Encoding(false)); /// diff --git a/SabreTools.Serialization/Serializers/Listrom.cs b/SabreTools.Serialization/Serializers/Listrom.cs index c06ba9da..2da5a178 100644 --- a/SabreTools.Serialization/Serializers/Listrom.cs +++ b/SabreTools.Serialization/Serializers/Listrom.cs @@ -1,13 +1,13 @@ using System.IO; using System.Text; -using SabreTools.Models.Listrom; +using SabreTools.Serialization.Models.Listrom; namespace SabreTools.Serialization.Serializers { public class Listrom : BaseBinarySerializer { /// - public override Stream? Serialize(MetadataFile? obj) + public override Stream? SerializeStream(MetadataFile? obj) { // If the metadata file is null if (obj == null) diff --git a/SabreTools.Serialization/Serializers/Listxml.cs b/SabreTools.Serialization/Serializers/Listxml.cs index 771de449..1848b887 100644 --- a/SabreTools.Serialization/Serializers/Listxml.cs +++ b/SabreTools.Serialization/Serializers/Listxml.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.Listxml; + namespace SabreTools.Serialization.Serializers { - public class Listxml : XmlFile + public class Listxml : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Serializers/Logiqx.cs b/SabreTools.Serialization/Serializers/Logiqx.cs index 49bf76b5..62be0300 100644 --- a/SabreTools.Serialization/Serializers/Logiqx.cs +++ b/SabreTools.Serialization/Serializers/Logiqx.cs @@ -1,5 +1,5 @@ using System.IO; -using SabreTools.Models.Logiqx; +using SabreTools.Serialization.Models.Logiqx; namespace SabreTools.Serialization.Serializers { @@ -40,7 +40,7 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer /// - public override bool Serialize(Datafile? obj, string? path) + public override bool SerializeFile(Datafile? obj, string? path) => Serialize(obj, path, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId); #endregion @@ -48,7 +48,7 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer /// - public override Stream? Serialize(Datafile? obj) + public override Stream? SerializeStream(Datafile? obj) => Serialize(obj, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId); #endregion diff --git a/SabreTools.Serialization/Serializers/M1.cs b/SabreTools.Serialization/Serializers/M1.cs index 72d340f4..c8689ff3 100644 --- a/SabreTools.Serialization/Serializers/M1.cs +++ b/SabreTools.Serialization/Serializers/M1.cs @@ -1,6 +1,6 @@ namespace SabreTools.Serialization.Serializers { - public class M1 : XmlFile + public class M1 : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Serializers/Mess.cs b/SabreTools.Serialization/Serializers/Mess.cs index b9a11f92..9becf343 100644 --- a/SabreTools.Serialization/Serializers/Mess.cs +++ b/SabreTools.Serialization/Serializers/Mess.cs @@ -1,6 +1,6 @@ namespace SabreTools.Serialization.Serializers { - public class Mess : XmlFile + public class Mess : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Serializers/OfflineList.cs b/SabreTools.Serialization/Serializers/OfflineList.cs index 7259e4a9..3c835212 100644 --- a/SabreTools.Serialization/Serializers/OfflineList.cs +++ b/SabreTools.Serialization/Serializers/OfflineList.cs @@ -1,6 +1,8 @@ +using SabreTools.Serialization.Models.OfflineList; + namespace SabreTools.Serialization.Serializers { - public class OfflineList : XmlFile + public class OfflineList : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Serializers/OpenMSX.cs b/SabreTools.Serialization/Serializers/OpenMSX.cs index 66160a17..ae5f11b2 100644 --- a/SabreTools.Serialization/Serializers/OpenMSX.cs +++ b/SabreTools.Serialization/Serializers/OpenMSX.cs @@ -1,5 +1,5 @@ using System.IO; -using SabreTools.Models.OpenMSX; +using SabreTools.Serialization.Models.OpenMSX; namespace SabreTools.Serialization.Serializers { @@ -40,7 +40,7 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer /// - public override bool Serialize(SoftwareDb? obj, string? path) + public override bool SerializeFile(SoftwareDb? obj, string? path) => Serialize(obj, path, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId); #endregion @@ -48,7 +48,7 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer /// - public override Stream? Serialize(SoftwareDb? obj) + public override Stream? SerializeStream(SoftwareDb? obj) => Serialize(obj, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId); #endregion diff --git a/SabreTools.Serialization/Serializers/RomCenter.cs b/SabreTools.Serialization/Serializers/RomCenter.cs index 199eb3c9..ce2a1f3d 100644 --- a/SabreTools.Serialization/Serializers/RomCenter.cs +++ b/SabreTools.Serialization/Serializers/RomCenter.cs @@ -1,14 +1,14 @@ using System.IO; using System.Text; using SabreTools.IO.Writers; -using SabreTools.Models.RomCenter; +using SabreTools.Serialization.Models.RomCenter; namespace SabreTools.Serialization.Serializers { public class RomCenter : BaseBinarySerializer { /// - public override Stream? Serialize(MetadataFile? obj) + public override Stream? SerializeStream(MetadataFile? obj) { // If the metadata file is null if (obj == null) diff --git a/SabreTools.Serialization/Serializers/SeparatedValue.cs b/SabreTools.Serialization/Serializers/SeparatedValue.cs index 55130bb8..875a60c8 100644 --- a/SabreTools.Serialization/Serializers/SeparatedValue.cs +++ b/SabreTools.Serialization/Serializers/SeparatedValue.cs @@ -1,7 +1,7 @@ using System.IO; using System.Text; using SabreTools.IO.Writers; -using SabreTools.Models.SeparatedValue; +using SabreTools.Serialization.Models.SeparatedValue; namespace SabreTools.Serialization.Serializers { @@ -52,13 +52,6 @@ namespace SabreTools.Serialization.Serializers #region IByteSerializer - /// - public static byte[]? SerializeBytes(MetadataFile? obj, char delim = ',', bool longHeader = false) - { - var serializer = new SeparatedValue(); - return serializer.SerializeArray(obj, delim, longHeader); - } - /// public override byte[]? SerializeArray(MetadataFile? obj) => SerializeArray(obj, ',', false); @@ -79,19 +72,12 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer - /// - public static bool SerializeFile(MetadataFile? obj, string? path, char delim = ',', bool longHeader = false) - { - var serializer = new SeparatedValue(); - return serializer.Serialize(obj, path, delim, longHeader); - } + /// + public override bool SerializeFile(MetadataFile? obj, string? path) + => SerializeFile(obj, path, ',', false); /// - public override bool Serialize(MetadataFile? obj, string? path) - => Serialize(obj, path, ',', false); - - /// - public bool Serialize(MetadataFile? obj, string? path, char delim, bool longHeader) + public bool SerializeFile(MetadataFile? obj, string? path, char delim, bool longHeader) { if (string.IsNullOrEmpty(path)) return false; @@ -111,19 +97,12 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer - /// - public static Stream? SerializeStream(MetadataFile? obj, char delim = ',', bool longHeader = false) - { - var serializer = new SeparatedValue(); - return serializer.Serialize(obj, delim, longHeader); - } - /// - public override Stream? Serialize(MetadataFile? obj) - => Serialize(obj, ',', false); + public override Stream? SerializeStream(MetadataFile? obj) + => SerializeStream(obj, ',', false); - /// - public Stream? Serialize(MetadataFile? obj, char delim, bool longHeader) + /// + public Stream? SerializeStream(MetadataFile? obj, char delim, bool longHeader) { // If the metadata file is null if (obj == null) diff --git a/SabreTools.Serialization/Serializers/SoftwareList.cs b/SabreTools.Serialization/Serializers/SoftwareList.cs index 363b3000..30be6084 100644 --- a/SabreTools.Serialization/Serializers/SoftwareList.cs +++ b/SabreTools.Serialization/Serializers/SoftwareList.cs @@ -2,7 +2,7 @@ using System.IO; namespace SabreTools.Serialization.Serializers { - public class SoftwareList : XmlFile + public class SoftwareList : XmlFile { #region Constants @@ -31,7 +31,7 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer /// - public override bool Serialize(Models.SoftwareList.SoftwareList? obj, string? path) + public override bool SerializeFile(SabreTools.Serialization.Models.SoftwareList.SoftwareList? obj, string? path) => Serialize(obj, path, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId); #endregion @@ -39,7 +39,7 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer /// - public override Stream? Serialize(Models.SoftwareList.SoftwareList? obj) + public override Stream? SerializeStream(SabreTools.Serialization.Models.SoftwareList.SoftwareList? obj) => Serialize(obj, DocTypeName, DocTypePubId, DocTypeSysId, DocTypeSysId); #endregion diff --git a/SabreTools.Serialization/Serializers/XMID.cs b/SabreTools.Serialization/Serializers/XMID.cs index ad2b2a7f..c0c607c6 100644 --- a/SabreTools.Serialization/Serializers/XMID.cs +++ b/SabreTools.Serialization/Serializers/XMID.cs @@ -3,17 +3,17 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Serializers { - public partial class XMID : IStringSerializer + public partial class XMID : IStringSerializer { /// - public static string? SerializeString(Models.Xbox.XMID? obj) + public static string? SerializeString(SabreTools.Models.Xbox.XMID? obj) { var deserializer = new XMID(); return deserializer.Serialize(obj); } /// - public string? Serialize(Models.Xbox.XMID? obj) + public string? Serialize(SabreTools.Models.Xbox.XMID? obj) { if (obj == null) return null; diff --git a/SabreTools.Serialization/Serializers/XeMID.cs b/SabreTools.Serialization/Serializers/XeMID.cs index 6b0d6a27..09ae4bb1 100644 --- a/SabreTools.Serialization/Serializers/XeMID.cs +++ b/SabreTools.Serialization/Serializers/XeMID.cs @@ -3,17 +3,17 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Serializers { - public partial class XeMID : IStringSerializer + public partial class XeMID : IStringSerializer { /// - public static string? SerializeString(Models.Xbox.XeMID? obj) + public static string? SerializeString(SabreTools.Models.Xbox.XeMID? obj) { var deserializer = new XeMID(); return deserializer.Serialize(obj); } /// - public string? Serialize(Models.Xbox.XeMID? obj) + public string? Serialize(SabreTools.Models.Xbox.XeMID? obj) { if (obj == null) return null; diff --git a/SabreTools.Serialization/Serializers/XmlFile.cs b/SabreTools.Serialization/Serializers/XmlFile.cs index 3aa4bc13..c4f24d4c 100644 --- a/SabreTools.Serialization/Serializers/XmlFile.cs +++ b/SabreTools.Serialization/Serializers/XmlFile.cs @@ -42,7 +42,7 @@ namespace SabreTools.Serialization.Serializers #region IFileSerializer /// - public override bool Serialize(T? obj, string? path) + public override bool SerializeFile(T? obj, string? path) => Serialize(obj, path, null, null, null, null); /// @@ -76,7 +76,7 @@ namespace SabreTools.Serialization.Serializers #region IStreamSerializer /// - public override Stream? Serialize(T? obj) + public override Stream? SerializeStream(T? obj) => Serialize(obj, null, null, null, null); /// diff --git a/SabreTools.Serialization/WrapperFactory.cs b/SabreTools.Serialization/WrapperFactory.cs index 4d1d4fb3..e76262da 100644 --- a/SabreTools.Serialization/WrapperFactory.cs +++ b/SabreTools.Serialization/WrapperFactory.cs @@ -97,22 +97,22 @@ namespace SabreTools.Serialization } // New Executable - else if (magic.StartsWith(Models.NewExecutable.Constants.SignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.NewExecutable.Constants.SignatureBytes)) { stream.Seek(initialOffset, SeekOrigin.Begin); return NewExecutable.Create(stream); } // Linear Executable - else if (magic.StartsWith(Models.LinearExecutable.Constants.LESignatureBytes) - || magic.StartsWith(Models.LinearExecutable.Constants.LXSignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.LinearExecutable.Constants.LESignatureBytes) + || magic.StartsWith(SabreTools.Models.LinearExecutable.Constants.LXSignatureBytes)) { stream.Seek(initialOffset, SeekOrigin.Begin); return LinearExecutable.Create(stream); } // Portable Executable - else if (magic.StartsWith(Models.PortableExecutable.Constants.SignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.PortableExecutable.Constants.SignatureBytes)) { stream.Seek(initialOffset, SeekOrigin.Begin); return PortableExecutable.Create(stream); @@ -159,7 +159,7 @@ namespace SabreTools.Serialization #region BDPlusSVM - if (magic.StartsWith(Models.BDPlus.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.BDPlus.Constants.SignatureBytes)) return WrapperType.BDPlusSVM; if (extension.Equals("svm", StringComparison.OrdinalIgnoreCase)) @@ -169,7 +169,7 @@ namespace SabreTools.Serialization #region BFPK - if (magic.StartsWith(Models.BFPK.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.BFPK.Constants.SignatureBytes)) return WrapperType.BFPK; #endregion @@ -191,7 +191,7 @@ namespace SabreTools.Serialization #region BZip2 - if (magic.StartsWith(Models.BZip2.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.BZip2.Constants.SignatureBytes)) return WrapperType.BZip2; if (extension.Equals("bz2", StringComparison.OrdinalIgnoreCase)) @@ -201,7 +201,7 @@ namespace SabreTools.Serialization #region CFB - if (magic.StartsWith(Models.CFB.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.CFB.Constants.SignatureBytes)) return WrapperType.CFB; // Installer package @@ -228,7 +228,7 @@ namespace SabreTools.Serialization #region CHD - if (magic.StartsWith(Models.CHD.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.CHD.Constants.SignatureBytes)) return WrapperType.CHD; #endregion @@ -243,7 +243,7 @@ namespace SabreTools.Serialization #region Executable // DOS MZ executable file format (and descendants) - if (magic.StartsWith(Models.MSDOS.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.MSDOS.Constants.SignatureBytes)) return WrapperType.Executable; // None of the following are supported yet @@ -296,7 +296,7 @@ namespace SabreTools.Serialization #region GZip - if (magic.StartsWith(new byte[] { Models.GZIP.Constants.ID1, Models.GZIP.Constants.ID2 })) + if (magic.StartsWith(new byte[] { SabreTools.Models.GZIP.Constants.ID1, SabreTools.Models.GZIP.Constants.ID2 })) return WrapperType.GZip; if (extension.Equals("gz", StringComparison.OrdinalIgnoreCase)) @@ -313,7 +313,7 @@ namespace SabreTools.Serialization #region InstallShieldArchiveV3 - if (magic.StartsWith(Models.InstallShieldArchiveV3.Constants.HeaderSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.InstallShieldArchiveV3.Constants.HeaderSignatureBytes)) return WrapperType.InstallShieldArchiveV3; if (extension.Equals("z", StringComparison.OrdinalIgnoreCase)) @@ -323,7 +323,7 @@ namespace SabreTools.Serialization #region InstallShieldCAB - if (magic.StartsWith(Models.InstallShieldCabinet.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.InstallShieldCabinet.Constants.SignatureBytes)) return WrapperType.InstallShieldCAB; // Both InstallShieldCAB and MicrosoftCAB share the same extension @@ -332,27 +332,27 @@ namespace SabreTools.Serialization #region LDSCRYPT - if (magic.StartsWith(Models.LDSCRYPT.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.LDSCRYPT.Constants.SignatureBytes)) return WrapperType.LDSCRYPT; #endregion #region LZ - if (magic.StartsWith(Models.LZ.Constants.KWAJSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.LZ.Constants.KWAJSignatureBytes)) return WrapperType.LZKWAJ; - if (magic.StartsWith(Models.LZ.Constants.QBasicSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.LZ.Constants.QBasicSignatureBytes)) return WrapperType.LZQBasic; - if (magic.StartsWith(Models.LZ.Constants.SZDDSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.LZ.Constants.SZDDSignatureBytes)) return WrapperType.LZSZDD; #endregion #region MicrosoftCAB - if (magic.StartsWith(Models.MicrosoftCabinet.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.MicrosoftCabinet.Constants.SignatureBytes)) return WrapperType.MicrosoftCAB; // Both InstallShieldCAB and MicrosoftCAB share the same extension @@ -361,10 +361,10 @@ namespace SabreTools.Serialization #region MoPaQ - if (magic.StartsWith(Models.MoPaQ.Constants.ArchiveHeaderSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.MoPaQ.Constants.ArchiveHeaderSignatureBytes)) return WrapperType.MoPaQ; - if (magic.StartsWith(Models.MoPaQ.Constants.UserDataSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.MoPaQ.Constants.UserDataSignatureBytes)) return WrapperType.MoPaQ; if (extension.Equals("mpq", StringComparison.OrdinalIgnoreCase)) @@ -420,7 +420,7 @@ namespace SabreTools.Serialization #region PAK - if (magic.StartsWith(Models.PAK.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.PAK.Constants.SignatureBytes)) return WrapperType.PAK; // Both PAK and Quantum share one extension @@ -461,17 +461,17 @@ namespace SabreTools.Serialization return WrapperType.PKZIP; // PKZIP - if (magic.StartsWith(Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) return WrapperType.PKZIP; // PKZIP (Empty Archive) - if (magic.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) return WrapperType.PKZIP; - else if (magic.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) + else if (magic.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) return WrapperType.PKZIP; // PKZIP (Spanned Archive) - if (magic.StartsWith(Models.PKZIP.Constants.DataDescriptorSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.PKZIP.Constants.DataDescriptorSignatureBytes)) return WrapperType.PKZIP; // PKZIP @@ -563,7 +563,7 @@ namespace SabreTools.Serialization #region PLJ // https://www.iana.org/assignments/media-types/audio/vnd.everad.plj - if (magic.StartsWith(Models.PlayJ.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.PlayJ.Constants.SignatureBytes)) return WrapperType.PlayJAudioFile; // https://www.iana.org/assignments/media-types/audio/vnd.everad.plj @@ -574,7 +574,7 @@ namespace SabreTools.Serialization #region Quantum - if (magic.StartsWith(Models.Quantum.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.Quantum.Constants.SignatureBytes)) return WrapperType.Quantum; if (extension.Equals("q", StringComparison.OrdinalIgnoreCase)) @@ -589,11 +589,11 @@ namespace SabreTools.Serialization #region RAR // RAR archive version 1.50 onwards - if (magic.StartsWith(Models.RAR.Constants.OldSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.RAR.Constants.OldSignatureBytes)) return WrapperType.RAR; // RAR archive version 5.0 onwards - if (magic.StartsWith(Models.RAR.Constants.NewSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.RAR.Constants.NewSignatureBytes)) return WrapperType.RAR; if (extension.Equals("rar", StringComparison.OrdinalIgnoreCase)) @@ -605,26 +605,26 @@ namespace SabreTools.Serialization // RASGI2.0 // Found in the ".rgs files in IA item "Nova_RealArcadeCD_USA". - if (magic.StartsWith(Models.RealArcades.Constants.RgsSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.RealArcades.Constants.RgsSignatureBytes)) return WrapperType.RealArcadeInstaller; // XZip2.0 // Found in the ".mez" files in IA item "Nova_RealArcadeCD_USA". - if (magic.StartsWith(Models.RealArcades.Constants.MezzanineSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.RealArcades.Constants.MezzanineSignatureBytes)) return WrapperType.RealArcadeMezzanine; #endregion #region SecuROM DFA - if (magic.StartsWith(Models.SecuROM.Constants.DFAMagicBytes)) + if (magic.StartsWith(SabreTools.Models.SecuROM.Constants.DFAMagicBytes)) return WrapperType.SecuROMDFA; #endregion #region SevenZip - if (magic.StartsWith(Models.SevenZip.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.SevenZip.Constants.SignatureBytes)) return WrapperType.SevenZip; if (extension.Equals("7z", StringComparison.OrdinalIgnoreCase)) @@ -635,14 +635,14 @@ namespace SabreTools.Serialization #region SFFS // Found in Redump entry 81756, confirmed to be "StarForce Filesystem" by PiD. - if (magic.StartsWith(Models.StarForce.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.StarForce.Constants.SignatureBytes)) return WrapperType.SFFS; #endregion #region SGA - if (magic.StartsWith(Models.SGA.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.SGA.Constants.SignatureBytes)) return WrapperType.SGA; if (extension.Equals("sga", StringComparison.OrdinalIgnoreCase)) @@ -756,7 +756,7 @@ namespace SabreTools.Serialization #region VBSP - if (magic.StartsWith(Models.BSP.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.BSP.Constants.SignatureBytes)) return WrapperType.VBSP; // Shares an extension with BSP @@ -767,7 +767,7 @@ namespace SabreTools.Serialization #region VPK - if (magic.StartsWith(Models.VPK.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.VPK.Constants.SignatureBytes)) return WrapperType.VPK; // Common extension so this cannot be used accurately @@ -778,7 +778,7 @@ namespace SabreTools.Serialization #region WAD - if (magic.StartsWith(Models.WAD3.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.WAD3.Constants.SignatureBytes)) return WrapperType.WAD; // Common extension so this cannot be used accurately @@ -789,7 +789,7 @@ namespace SabreTools.Serialization #region XZ - if (magic.StartsWith(Models.XZ.Constants.SignatureBytes)) + if (magic.StartsWith(SabreTools.Models.XZ.Constants.SignatureBytes)) return WrapperType.XZ; if (extension.Equals("xz", StringComparison.OrdinalIgnoreCase)) @@ -799,7 +799,7 @@ namespace SabreTools.Serialization #region XZP - if (magic.StartsWith(Models.XZP.Constants.HeaderSignatureBytes)) + if (magic.StartsWith(SabreTools.Models.XZP.Constants.HeaderSignatureBytes)) return WrapperType.XZP; if (extension.Equals("xzp", StringComparison.OrdinalIgnoreCase)) diff --git a/SabreTools.Serialization/Wrappers/CIA.cs b/SabreTools.Serialization/Wrappers/CIA.cs index 1e561724..4efb3c56 100644 --- a/SabreTools.Serialization/Wrappers/CIA.cs +++ b/SabreTools.Serialization/Wrappers/CIA.cs @@ -3,7 +3,7 @@ using SabreTools.Models.N3DS; namespace SabreTools.Serialization.Wrappers { - public class CIA : WrapperBase + public class CIA : WrapperBase { #region Descriptive Properties @@ -15,22 +15,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public CIA(Models.N3DS.CIA model, byte[] data) : base(model, data) { } + public CIA(SabreTools.Models.N3DS.CIA model, byte[] data) : base(model, data) { } /// - public CIA(Models.N3DS.CIA model, byte[] data, int offset) : base(model, data, offset) { } + public CIA(SabreTools.Models.N3DS.CIA model, byte[] data, int offset) : base(model, data, offset) { } /// - public CIA(Models.N3DS.CIA model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public CIA(SabreTools.Models.N3DS.CIA model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public CIA(Models.N3DS.CIA model, Stream data) : base(model, data) { } + public CIA(SabreTools.Models.N3DS.CIA model, Stream data) : base(model, data) { } /// - public CIA(Models.N3DS.CIA model, Stream data, long offset) : base(model, data, offset) { } + public CIA(SabreTools.Models.N3DS.CIA model, Stream data, long offset) : base(model, data, offset) { } /// - public CIA(Models.N3DS.CIA model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public CIA(SabreTools.Models.N3DS.CIA model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/GCF.cs b/SabreTools.Serialization/Wrappers/GCF.cs index 49e3ce0d..41841ed1 100644 --- a/SabreTools.Serialization/Wrappers/GCF.cs +++ b/SabreTools.Serialization/Wrappers/GCF.cs @@ -3,7 +3,7 @@ using System.IO; namespace SabreTools.Serialization.Wrappers { - public partial class GCF : WrapperBase + public partial class GCF : WrapperBase { #region Descriptive Properties @@ -39,9 +39,9 @@ namespace SabreTools.Serialization.Wrappers // If we have a directory, skip for now #if NET20 || NET35 - if ((directoryEntry.DirectoryFlags & Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_FILE) == 0) + if ((directoryEntry.DirectoryFlags & SabreTools.Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_FILE) == 0) #else - if (!directoryEntry.DirectoryFlags.HasFlag(Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_FILE)) + if (!directoryEntry.DirectoryFlags.HasFlag(SabreTools.Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_FILE)) #endif continue; @@ -50,13 +50,13 @@ namespace SabreTools.Serialization.Wrappers { Size = directoryEntry.ItemSize, #if NET20 || NET35 - Encrypted = (directoryEntry.DirectoryFlags & Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_ENCRYPTED) != 0, + Encrypted = (directoryEntry.DirectoryFlags & SabreTools.Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_ENCRYPTED) != 0, #else - Encrypted = directoryEntry.DirectoryFlags.HasFlag(Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_ENCRYPTED), + Encrypted = directoryEntry.DirectoryFlags.HasFlag(SabreTools.Models.GCF.HL_GCF_FLAG.HL_GCF_FLAG_ENCRYPTED), #endif }; var pathParts = new List { Model.DirectoryNames![directoryEntry.NameOffset] ?? string.Empty }; - var blockEntries = new List(); + var blockEntries = new List(); // Traverse the parent tree uint index = directoryEntry.ParentIndex; @@ -164,22 +164,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public GCF(Models.GCF.File model, byte[] data) : base(model, data) { } + public GCF(SabreTools.Models.GCF.File model, byte[] data) : base(model, data) { } /// - public GCF(Models.GCF.File model, byte[] data, int offset) : base(model, data, offset) { } + public GCF(SabreTools.Models.GCF.File model, byte[] data, int offset) : base(model, data, offset) { } /// - public GCF(Models.GCF.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public GCF(SabreTools.Models.GCF.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public GCF(Models.GCF.File model, Stream data) : base(model, data) { } + public GCF(SabreTools.Models.GCF.File model, Stream data) : base(model, data) { } /// - public GCF(Models.GCF.File model, Stream data, long offset) : base(model, data, offset) { } + public GCF(SabreTools.Models.GCF.File model, Stream data, long offset) : base(model, data, offset) { } /// - public GCF(Models.GCF.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public GCF(SabreTools.Models.GCF.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion @@ -261,7 +261,7 @@ namespace SabreTools.Serialization.Wrappers /// /// Array of block entries /// - public Models.GCF.BlockEntry[]? BlockEntries; + public SabreTools.Models.GCF.BlockEntry[]? BlockEntries; } #endregion diff --git a/SabreTools.Serialization/Wrappers/IRD.cs b/SabreTools.Serialization/Wrappers/IRD.cs index fe0df2a4..69b3751a 100644 --- a/SabreTools.Serialization/Wrappers/IRD.cs +++ b/SabreTools.Serialization/Wrappers/IRD.cs @@ -2,7 +2,7 @@ using System.IO; namespace SabreTools.Serialization.Wrappers { - public class IRD : WrapperBase + public class IRD : WrapperBase { #region Descriptive Properties @@ -14,22 +14,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public IRD(Models.IRD.File model, byte[] data) : base(model, data) { } + public IRD(SabreTools.Models.IRD.File model, byte[] data) : base(model, data) { } /// - public IRD(Models.IRD.File model, byte[] data, int offset) : base(model, data, offset) { } + public IRD(SabreTools.Models.IRD.File model, byte[] data, int offset) : base(model, data, offset) { } /// - public IRD(Models.IRD.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public IRD(SabreTools.Models.IRD.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public IRD(Models.IRD.File model, Stream data) : base(model, data) { } + public IRD(SabreTools.Models.IRD.File model, Stream data) : base(model, data) { } /// - public IRD(Models.IRD.File model, Stream data, long offset) : base(model, data, offset) { } + public IRD(SabreTools.Models.IRD.File model, Stream data, long offset) : base(model, data, offset) { } /// - public IRD(Models.IRD.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public IRD(SabreTools.Models.IRD.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs index 58826774..2d30b574 100644 --- a/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs +++ b/SabreTools.Serialization/Wrappers/InstallShieldArchiveV3.cs @@ -26,10 +26,10 @@ namespace SabreTools.Serialization.Wrappers public ushort FileCount => Model.Header?.FileCount ?? 0; /// - public Models.InstallShieldArchiveV3.Directory[] Directories => Model.Directories ?? []; + public SabreTools.Models.InstallShieldArchiveV3.Directory[] Directories => Model.Directories ?? []; /// - public Models.InstallShieldArchiveV3.File[] Files => Model.Files ?? []; + public SabreTools.Models.InstallShieldArchiveV3.File[] Files => Model.Files ?? []; /// /// Map of all files to their parent directories by index @@ -63,7 +63,7 @@ namespace SabreTools.Serialization.Wrappers /// /// Map of all files found in the archive /// - public Dictionary FileNameMap + public Dictionary FileNameMap { get { @@ -96,7 +96,7 @@ namespace SabreTools.Serialization.Wrappers return _fileNameMap; } } - private Dictionary? _fileNameMap = null; + private Dictionary? _fileNameMap = null; /// /// Data offset for all archives diff --git a/SabreTools.Serialization/Wrappers/LinearExecutable.cs b/SabreTools.Serialization/Wrappers/LinearExecutable.cs index 5206ea73..db80b83e 100644 --- a/SabreTools.Serialization/Wrappers/LinearExecutable.cs +++ b/SabreTools.Serialization/Wrappers/LinearExecutable.cs @@ -26,7 +26,7 @@ namespace SabreTools.Serialization.Wrappers public ResourceTableEntry[]? ResourceTable => Model.ResourceTable; /// - public Models.MSDOS.Executable? Stub => Model.Stub; + public SabreTools.Models.MSDOS.Executable? Stub => Model.Stub; #endregion diff --git a/SabreTools.Serialization/Wrappers/NCF.cs b/SabreTools.Serialization/Wrappers/NCF.cs index 08745a0c..13404a71 100644 --- a/SabreTools.Serialization/Wrappers/NCF.cs +++ b/SabreTools.Serialization/Wrappers/NCF.cs @@ -2,7 +2,7 @@ using System.IO; namespace SabreTools.Serialization.Wrappers { - public class NCF : WrapperBase + public class NCF : WrapperBase { #region Descriptive Properties @@ -14,22 +14,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public NCF(Models.NCF.File model, byte[] data) : base(model, data) { } + public NCF(SabreTools.Models.NCF.File model, byte[] data) : base(model, data) { } /// - public NCF(Models.NCF.File model, byte[] data, int offset) : base(model, data, offset) { } + public NCF(SabreTools.Models.NCF.File model, byte[] data, int offset) : base(model, data, offset) { } /// - public NCF(Models.NCF.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public NCF(SabreTools.Models.NCF.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public NCF(Models.NCF.File model, Stream data) : base(model, data) { } + public NCF(SabreTools.Models.NCF.File model, Stream data) : base(model, data) { } /// - public NCF(Models.NCF.File model, Stream data, long offset) : base(model, data, offset) { } + public NCF(SabreTools.Models.NCF.File model, Stream data, long offset) : base(model, data, offset) { } /// - public NCF(Models.NCF.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public NCF(SabreTools.Models.NCF.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/NewExecutable.Extraction.cs b/SabreTools.Serialization/Wrappers/NewExecutable.Extraction.cs index 20968829..5ddafe59 100644 --- a/SabreTools.Serialization/Wrappers/NewExecutable.Extraction.cs +++ b/SabreTools.Serialization/Wrappers/NewExecutable.Extraction.cs @@ -46,7 +46,7 @@ namespace SabreTools.Serialization.Wrappers int temp = overlayOffset; byte[] overlaySample = overlayData.ReadBytes(ref temp, 0x10); - if (overlaySample.StartsWith(Models.SevenZip.Constants.SignatureBytes)) + if (overlaySample.StartsWith(SabreTools.Models.SevenZip.Constants.SignatureBytes)) { extension = "7z"; break; @@ -62,12 +62,12 @@ namespace SabreTools.Serialization.Wrappers extension = "7z"; break; } - else if (overlaySample.StartsWith(Models.BZip2.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.BZip2.Constants.SignatureBytes)) { extension = "bz2"; break; } - else if (overlaySample.StartsWith(Models.CFB.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.CFB.Constants.SignatureBytes)) { // Assume embedded CFB files are MSI extension = "msi"; @@ -78,37 +78,37 @@ namespace SabreTools.Serialization.Wrappers extension = "gz"; break; } - else if (overlaySample.StartsWith(Models.MicrosoftCabinet.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.MicrosoftCabinet.Constants.SignatureBytes)) { extension = "cab"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.DataDescriptorSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.DataDescriptorSignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.RAR.Constants.OldSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.RAR.Constants.OldSignatureBytes)) { extension = "rar"; break; } - else if (overlaySample.StartsWith(Models.RAR.Constants.NewSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.RAR.Constants.NewSignatureBytes)) { extension = "rar"; break; @@ -133,12 +133,12 @@ namespace SabreTools.Serialization.Wrappers extension = "xml"; break; } - else if (overlaySample.StartsWith(Models.XZ.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.XZ.Constants.SignatureBytes)) { extension = "xz"; break; } - else if (overlaySample.StartsWith(Models.MSDOS.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.MSDOS.Constants.SignatureBytes)) { extension = "bin"; // exe/dll break; diff --git a/SabreTools.Serialization/Wrappers/NewExecutable.cs b/SabreTools.Serialization/Wrappers/NewExecutable.cs index d8097d84..9d8f49ce 100644 --- a/SabreTools.Serialization/Wrappers/NewExecutable.cs +++ b/SabreTools.Serialization/Wrappers/NewExecutable.cs @@ -261,7 +261,7 @@ namespace SabreTools.Serialization.Wrappers public SegmentTableEntry[]? SegmentTable => Model.SegmentTable; /// - public Models.MSDOS.Executable? Stub => Model.Stub; + public SabreTools.Models.MSDOS.Executable? Stub => Model.Stub; /// /// Stub executable data, if it exists diff --git a/SabreTools.Serialization/Wrappers/PAK.cs b/SabreTools.Serialization/Wrappers/PAK.cs index d3f82385..bcb13180 100644 --- a/SabreTools.Serialization/Wrappers/PAK.cs +++ b/SabreTools.Serialization/Wrappers/PAK.cs @@ -3,7 +3,7 @@ using SabreTools.Models.PAK; namespace SabreTools.Serialization.Wrappers { - public partial class PAK : WrapperBase + public partial class PAK : WrapperBase { #region Descriptive Properties @@ -22,22 +22,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public PAK(Models.PAK.File model, byte[] data) : base(model, data) { } + public PAK(SabreTools.Models.PAK.File model, byte[] data) : base(model, data) { } /// - public PAK(Models.PAK.File model, byte[] data, int offset) : base(model, data, offset) { } + public PAK(SabreTools.Models.PAK.File model, byte[] data, int offset) : base(model, data, offset) { } /// - public PAK(Models.PAK.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public PAK(SabreTools.Models.PAK.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public PAK(Models.PAK.File model, Stream data) : base(model, data) { } + public PAK(SabreTools.Models.PAK.File model, Stream data) : base(model, data) { } /// - public PAK(Models.PAK.File model, Stream data, long offset) : base(model, data, offset) { } + public PAK(SabreTools.Models.PAK.File model, Stream data, long offset) : base(model, data, offset) { } /// - public PAK(Models.PAK.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public PAK(SabreTools.Models.PAK.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/PlayJAudioFile.cs b/SabreTools.Serialization/Wrappers/PlayJAudioFile.cs index cd86f86e..14ef42d7 100644 --- a/SabreTools.Serialization/Wrappers/PlayJAudioFile.cs +++ b/SabreTools.Serialization/Wrappers/PlayJAudioFile.cs @@ -2,7 +2,7 @@ using System.IO; namespace SabreTools.Serialization.Wrappers { - public class PlayJAudioFile : WrapperBase + public class PlayJAudioFile : WrapperBase { #region Descriptive Properties @@ -14,22 +14,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public PlayJAudioFile(Models.PlayJ.AudioFile model, byte[] data) : base(model, data) { } + public PlayJAudioFile(SabreTools.Models.PlayJ.AudioFile model, byte[] data) : base(model, data) { } /// - public PlayJAudioFile(Models.PlayJ.AudioFile model, byte[] data, int offset) : base(model, data, offset) { } + public PlayJAudioFile(SabreTools.Models.PlayJ.AudioFile model, byte[] data, int offset) : base(model, data, offset) { } /// - public PlayJAudioFile(Models.PlayJ.AudioFile model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public PlayJAudioFile(SabreTools.Models.PlayJ.AudioFile model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public PlayJAudioFile(Models.PlayJ.AudioFile model, Stream data) : base(model, data) { } + public PlayJAudioFile(SabreTools.Models.PlayJ.AudioFile model, Stream data) : base(model, data) { } /// - public PlayJAudioFile(Models.PlayJ.AudioFile model, Stream data, long offset) : base(model, data, offset) { } + public PlayJAudioFile(SabreTools.Models.PlayJ.AudioFile model, Stream data, long offset) : base(model, data, offset) { } /// - public PlayJAudioFile(Models.PlayJ.AudioFile model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public PlayJAudioFile(SabreTools.Models.PlayJ.AudioFile model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/PlayJPlaylist.cs b/SabreTools.Serialization/Wrappers/PlayJPlaylist.cs index 9dcff9f5..b71a3331 100644 --- a/SabreTools.Serialization/Wrappers/PlayJPlaylist.cs +++ b/SabreTools.Serialization/Wrappers/PlayJPlaylist.cs @@ -2,7 +2,7 @@ using System.IO; namespace SabreTools.Serialization.Wrappers { - public class PlayJPlaylist : WrapperBase + public class PlayJPlaylist : WrapperBase { #region Descriptive Properties @@ -14,22 +14,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public PlayJPlaylist(Models.PlayJ.Playlist model, byte[] data) : base(model, data) { } + public PlayJPlaylist(SabreTools.Models.PlayJ.Playlist model, byte[] data) : base(model, data) { } /// - public PlayJPlaylist(Models.PlayJ.Playlist model, byte[] data, int offset) : base(model, data, offset) { } + public PlayJPlaylist(SabreTools.Models.PlayJ.Playlist model, byte[] data, int offset) : base(model, data, offset) { } /// - public PlayJPlaylist(Models.PlayJ.Playlist model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public PlayJPlaylist(SabreTools.Models.PlayJ.Playlist model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public PlayJPlaylist(Models.PlayJ.Playlist model, Stream data) : base(model, data) { } + public PlayJPlaylist(SabreTools.Models.PlayJ.Playlist model, Stream data) : base(model, data) { } /// - public PlayJPlaylist(Models.PlayJ.Playlist model, Stream data, long offset) : base(model, data, offset) { } + public PlayJPlaylist(SabreTools.Models.PlayJ.Playlist model, Stream data, long offset) : base(model, data, offset) { } /// - public PlayJPlaylist(Models.PlayJ.Playlist model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public PlayJPlaylist(SabreTools.Models.PlayJ.Playlist model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs b/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs index a375c866..7686c9d6 100644 --- a/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs +++ b/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs @@ -107,7 +107,7 @@ namespace SabreTools.Serialization.Wrappers int temp = overlayOffset; byte[] overlaySample = overlayData.ReadBytes(ref temp, 0x10); - if (overlaySample.StartsWith(Models.SevenZip.Constants.SignatureBytes)) + if (overlaySample.StartsWith(SabreTools.Models.SevenZip.Constants.SignatureBytes)) { extension = "7z"; break; @@ -123,12 +123,12 @@ namespace SabreTools.Serialization.Wrappers extension = "7z"; break; } - else if (overlaySample.StartsWith(Models.BZip2.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.BZip2.Constants.SignatureBytes)) { extension = "bz2"; break; } - else if (overlaySample.StartsWith(Models.CFB.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.CFB.Constants.SignatureBytes)) { // Assume embedded CFB files are MSI extension = "msi"; @@ -139,37 +139,37 @@ namespace SabreTools.Serialization.Wrappers extension = "gz"; break; } - else if (overlaySample.StartsWith(Models.MicrosoftCabinet.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.MicrosoftCabinet.Constants.SignatureBytes)) { extension = "cab"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.PKZIP.Constants.DataDescriptorSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.PKZIP.Constants.DataDescriptorSignatureBytes)) { extension = "zip"; break; } - else if (overlaySample.StartsWith(Models.RAR.Constants.OldSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.RAR.Constants.OldSignatureBytes)) { extension = "rar"; break; } - else if (overlaySample.StartsWith(Models.RAR.Constants.NewSignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.RAR.Constants.NewSignatureBytes)) { extension = "rar"; break; @@ -194,12 +194,12 @@ namespace SabreTools.Serialization.Wrappers extension = "xml"; break; } - else if (overlaySample.StartsWith(Models.XZ.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.XZ.Constants.SignatureBytes)) { extension = "xz"; break; } - else if (overlaySample.StartsWith(Models.MSDOS.Constants.SignatureBytes)) + else if (overlaySample.StartsWith(SabreTools.Models.MSDOS.Constants.SignatureBytes)) { extension = "bin"; // exe/dll break; @@ -296,7 +296,7 @@ namespace SabreTools.Serialization.Wrappers int temp = resourceOffset; byte[] resourceSample = ba.ReadBytes(ref temp, 0x10); - if (resourceSample.StartsWith(Models.SevenZip.Constants.SignatureBytes)) + if (resourceSample.StartsWith(SabreTools.Models.SevenZip.Constants.SignatureBytes)) { extension = "7z"; break; @@ -306,12 +306,12 @@ namespace SabreTools.Serialization.Wrappers extension = "bmp"; break; } - else if (resourceSample.StartsWith(Models.BZip2.Constants.SignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.BZip2.Constants.SignatureBytes)) { extension = "bz2"; break; } - else if (resourceSample.StartsWith(Models.CFB.Constants.SignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.CFB.Constants.SignatureBytes)) { // Assume embedded CFB files are MSI extension = "msi"; @@ -337,27 +337,27 @@ namespace SabreTools.Serialization.Wrappers extension = "html"; break; } - else if (resourceSample.StartsWith(Models.MicrosoftCabinet.Constants.SignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.MicrosoftCabinet.Constants.SignatureBytes)) { extension = "cab"; break; } - else if (resourceSample.StartsWith(Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.PKZIP.Constants.LocalFileHeaderSignatureBytes)) { extension = "zip"; break; } - else if (resourceSample.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecordSignatureBytes)) { extension = "zip"; break; } - else if (resourceSample.StartsWith(Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.PKZIP.Constants.EndOfCentralDirectoryRecord64SignatureBytes)) { extension = "zip"; break; } - else if (resourceSample.StartsWith(Models.PKZIP.Constants.DataDescriptorSignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.PKZIP.Constants.DataDescriptorSignatureBytes)) { extension = "zip"; break; @@ -367,12 +367,12 @@ namespace SabreTools.Serialization.Wrappers extension = "png"; break; } - else if (resourceSample.StartsWith(Models.RAR.Constants.OldSignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.RAR.Constants.OldSignatureBytes)) { extension = "rar"; break; } - else if (resourceSample.StartsWith(Models.RAR.Constants.NewSignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.RAR.Constants.NewSignatureBytes)) { extension = "rar"; break; @@ -397,12 +397,12 @@ namespace SabreTools.Serialization.Wrappers extension = "xml"; break; } - else if (resourceSample.StartsWith(Models.XZ.Constants.SignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.XZ.Constants.SignatureBytes)) { extension = "xz"; break; } - else if (resourceSample.StartsWith(Models.MSDOS.Constants.SignatureBytes)) + else if (resourceSample.StartsWith(SabreTools.Models.MSDOS.Constants.SignatureBytes)) { extension = "bin"; // exe/dll break; diff --git a/SabreTools.Serialization/Wrappers/PortableExecutable.cs b/SabreTools.Serialization/Wrappers/PortableExecutable.cs index aa84a057..e3b89c71 100644 --- a/SabreTools.Serialization/Wrappers/PortableExecutable.cs +++ b/SabreTools.Serialization/Wrappers/PortableExecutable.cs @@ -49,7 +49,7 @@ namespace SabreTools.Serialization.Wrappers } /// - public Models.PortableExecutable.DebugData.Entry[]? DebugDirectoryTable + public SabreTools.Models.PortableExecutable.DebugData.Entry[]? DebugDirectoryTable => Model.DebugTable?.DebugDirectoryTable; /// @@ -104,19 +104,19 @@ namespace SabreTools.Serialization.Wrappers } /// - public Models.PortableExecutable.Export.AddressTableEntry[]? ExportTable => Model.ExportAddressTable; + public SabreTools.Models.PortableExecutable.Export.AddressTableEntry[]? ExportTable => Model.ExportAddressTable; /// - public Models.PortableExecutable.Export.DirectoryTable? ExportDirectoryTable => Model.ExportDirectoryTable; + public SabreTools.Models.PortableExecutable.Export.DirectoryTable? ExportDirectoryTable => Model.ExportDirectoryTable; /// - public Models.PortableExecutable.Export.NamePointerTable? ExportNamePointerTable => Model.NamePointerTable; + public SabreTools.Models.PortableExecutable.Export.NamePointerTable? ExportNamePointerTable => Model.NamePointerTable; /// - public Models.PortableExecutable.Export.NameTable? ExportNameTable => Model.ExportNameTable; + public SabreTools.Models.PortableExecutable.Export.NameTable? ExportNameTable => Model.ExportNameTable; /// - public Models.PortableExecutable.Export.OrdinalTable? ExportOrdinalTable => Model.OrdinalTable; + public SabreTools.Models.PortableExecutable.Export.OrdinalTable? ExportOrdinalTable => Model.OrdinalTable; /// /// Header padding data, if it exists @@ -197,16 +197,16 @@ namespace SabreTools.Serialization.Wrappers } /// - public Dictionary? ImportAddressTables => Model.ImportAddressTables; + public Dictionary? ImportAddressTables => Model.ImportAddressTables; /// - public Models.PortableExecutable.Import.DirectoryTableEntry[]? ImportDirectoryTable => Model.ImportDirectoryTable; + public SabreTools.Models.PortableExecutable.Import.DirectoryTableEntry[]? ImportDirectoryTable => Model.ImportDirectoryTable; /// - public Models.PortableExecutable.Import.HintNameTableEntry[]? ImportHintNameTable => Model.HintNameTable; + public SabreTools.Models.PortableExecutable.Import.HintNameTableEntry[]? ImportHintNameTable => Model.HintNameTable; /// - public Dictionary? ImportLookupTables => Model.ImportLookupTables; + public Dictionary? ImportLookupTables => Model.ImportLookupTables; /// /// SecuROM Matroschka package wrapper, if it exists @@ -287,7 +287,7 @@ namespace SabreTools.Serialization.Wrappers } /// - public Models.PortableExecutable.OptionalHeader? OptionalHeader => Model.OptionalHeader; + public SabreTools.Models.PortableExecutable.OptionalHeader? OptionalHeader => Model.OptionalHeader; /// /// Address of the overlay, if it exists @@ -501,7 +501,7 @@ namespace SabreTools.Serialization.Wrappers } /// - public Models.PortableExecutable.Resource.DirectoryTable? ResourceDirectoryTable => Model.ResourceDirectoryTable; + public SabreTools.Models.PortableExecutable.Resource.DirectoryTable? ResourceDirectoryTable => Model.ResourceDirectoryTable; /// /// Sanitized section names @@ -590,7 +590,7 @@ namespace SabreTools.Serialization.Wrappers } /// - public Models.MSDOS.Executable? Stub => Model.Stub; + public SabreTools.Models.MSDOS.Executable? Stub => Model.Stub; /// /// Stub executable data, if it exists @@ -1265,14 +1265,14 @@ namespace SabreTools.Serialization.Wrappers if (data == null) continue; - if (data is Models.PortableExecutable.DebugData.NB10ProgramDatabase n) + if (data is SabreTools.Models.PortableExecutable.DebugData.NB10ProgramDatabase n) { if (n.PdbFileName == null || !n.PdbFileName.Contains(path)) continue; debugFound.Add(n); } - else if (data is Models.PortableExecutable.DebugData.RSDSProgramDatabase r) + else if (data is SabreTools.Models.PortableExecutable.DebugData.RSDSProgramDatabase r) { if (r.PathAndFileName == null || !r.PathAndFileName.Contains(path)) continue; @@ -1672,7 +1672,7 @@ namespace SabreTools.Serialization.Wrappers { if (kvp.Value == null || kvp.Value is not byte[] ba) continue; - if (!ba.StartsWith(Models.MSDOS.Constants.SignatureBytes)) + if (!ba.StartsWith(SabreTools.Models.MSDOS.Constants.SignatureBytes)) continue; exeResources = true; @@ -1696,7 +1696,7 @@ namespace SabreTools.Serialization.Wrappers while (_dataSource.Position < resourceTableOffset + OptionalHeader.ResourceTable.Size && _dataSource.Position < _dataSource.Length) { ushort possibleSignature = _dataSource.ReadUInt16(); - if (possibleSignature == Models.MSDOS.Constants.SignatureUInt16) + if (possibleSignature == SabreTools.Models.MSDOS.Constants.SignatureUInt16) { resourceOffset = _dataSource.Position - 2; break; @@ -1726,7 +1726,7 @@ namespace SabreTools.Serialization.Wrappers /// /// Parse the resource directory table information /// - private void ParseResourceDirectoryTable(Models.PortableExecutable.Resource.DirectoryTable table, List types) + private void ParseResourceDirectoryTable(SabreTools.Models.PortableExecutable.Resource.DirectoryTable table, List types) { if (table?.Entries == null) return; @@ -1748,7 +1748,7 @@ namespace SabreTools.Serialization.Wrappers /// /// Parse the name resource directory entry information /// - private void ParseResourceDirectoryEntry(Models.PortableExecutable.Resource.DirectoryEntry entry, List types) + private void ParseResourceDirectoryEntry(SabreTools.Models.PortableExecutable.Resource.DirectoryEntry entry, List types) { if (entry.DataEntry != null) ParseResourceDataEntry(entry.DataEntry, types); @@ -1764,7 +1764,7 @@ namespace SabreTools.Serialization.Wrappers /// of those resources in the entire exectuable. This means that only the last found version or manifest will /// ever be cached. /// - private void ParseResourceDataEntry(Models.PortableExecutable.Resource.DataEntry entry, List types) + private void ParseResourceDataEntry(SabreTools.Models.PortableExecutable.Resource.DataEntry entry, List types) { // Create the key and value objects string key = types == null diff --git a/SabreTools.Serialization/Wrappers/SGA.cs b/SabreTools.Serialization/Wrappers/SGA.cs index 0636fbff..bb31ce0d 100644 --- a/SabreTools.Serialization/Wrappers/SGA.cs +++ b/SabreTools.Serialization/Wrappers/SGA.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Wrappers /// /// Directory data /// - public Models.SGA.Directory? Directory => Model.Directory; + public SabreTools.Models.SGA.Directory? Directory => Model.Directory; /// /// Number of files in the directory @@ -164,7 +164,7 @@ namespace SabreTools.Serialization.Wrappers /// /// Get a file header from the archive /// - public Models.SGA.File? GetFile(int index) + public SabreTools.Models.SGA.File? GetFile(int index) { // If the index is invalid if (index < 0 || index >= FileCount) diff --git a/SabreTools.Serialization/Wrappers/VPK.cs b/SabreTools.Serialization/Wrappers/VPK.cs index 7be96540..6b9c136e 100644 --- a/SabreTools.Serialization/Wrappers/VPK.cs +++ b/SabreTools.Serialization/Wrappers/VPK.cs @@ -4,7 +4,7 @@ using static SabreTools.Models.VPK.Constants; namespace SabreTools.Serialization.Wrappers { - public partial class VPK : WrapperBase + public partial class VPK : WrapperBase { #region Descriptive Properties @@ -71,7 +71,7 @@ namespace SabreTools.Serialization.Wrappers } /// - public Models.VPK.DirectoryItem[]? DirectoryItems => Model.DirectoryItems; + public SabreTools.Models.VPK.DirectoryItem[]? DirectoryItems => Model.DirectoryItems; #endregion @@ -87,22 +87,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public VPK(Models.VPK.File model, byte[] data) : base(model, data) { } + public VPK(SabreTools.Models.VPK.File model, byte[] data) : base(model, data) { } /// - public VPK(Models.VPK.File model, byte[] data, int offset) : base(model, data, offset) { } + public VPK(SabreTools.Models.VPK.File model, byte[] data, int offset) : base(model, data, offset) { } /// - public VPK(Models.VPK.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public VPK(SabreTools.Models.VPK.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public VPK(Models.VPK.File model, Stream data) : base(model, data) { } + public VPK(SabreTools.Models.VPK.File model, Stream data) : base(model, data) { } /// - public VPK(Models.VPK.File model, Stream data, long offset) : base(model, data, offset) { } + public VPK(SabreTools.Models.VPK.File model, Stream data, long offset) : base(model, data, offset) { } /// - public VPK(Models.VPK.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public VPK(SabreTools.Models.VPK.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/WAD3.cs b/SabreTools.Serialization/Wrappers/WAD3.cs index 3a3f4b9a..39417bab 100644 --- a/SabreTools.Serialization/Wrappers/WAD3.cs +++ b/SabreTools.Serialization/Wrappers/WAD3.cs @@ -2,7 +2,7 @@ using System.IO; namespace SabreTools.Serialization.Wrappers { - public partial class WAD3 : WrapperBase + public partial class WAD3 : WrapperBase { #region Descriptive Properties @@ -14,29 +14,29 @@ namespace SabreTools.Serialization.Wrappers #region Extension Properties /// - public Models.WAD3.DirEntry[]? DirEntries => Model.DirEntries; + public SabreTools.Models.WAD3.DirEntry[]? DirEntries => Model.DirEntries; #endregion #region Constructors /// - public WAD3(Models.WAD3.File model, byte[] data) : base(model, data) { } + public WAD3(SabreTools.Models.WAD3.File model, byte[] data) : base(model, data) { } /// - public WAD3(Models.WAD3.File model, byte[] data, int offset) : base(model, data, offset) { } + public WAD3(SabreTools.Models.WAD3.File model, byte[] data, int offset) : base(model, data, offset) { } /// - public WAD3(Models.WAD3.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public WAD3(SabreTools.Models.WAD3.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public WAD3(Models.WAD3.File model, Stream data) : base(model, data) { } + public WAD3(SabreTools.Models.WAD3.File model, Stream data) : base(model, data) { } /// - public WAD3(Models.WAD3.File model, Stream data, long offset) : base(model, data, offset) { } + public WAD3(SabreTools.Models.WAD3.File model, Stream data, long offset) : base(model, data, offset) { } /// - public WAD3(Models.WAD3.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public WAD3(SabreTools.Models.WAD3.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/XMID.cs b/SabreTools.Serialization/Wrappers/XMID.cs index a2887590..0f6bdfee 100644 --- a/SabreTools.Serialization/Wrappers/XMID.cs +++ b/SabreTools.Serialization/Wrappers/XMID.cs @@ -4,7 +4,7 @@ using static SabreTools.Models.Xbox.Constants; namespace SabreTools.Serialization.Wrappers { - public class XMID : WrapperBase + public class XMID : WrapperBase { #region Descriptive Properties @@ -63,22 +63,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public XMID(Models.Xbox.XMID model, byte[] data) : base(model, data) { } + public XMID(SabreTools.Models.Xbox.XMID model, byte[] data) : base(model, data) { } /// - public XMID(Models.Xbox.XMID model, byte[] data, int offset) : base(model, data, offset) { } + public XMID(SabreTools.Models.Xbox.XMID model, byte[] data, int offset) : base(model, data, offset) { } /// - public XMID(Models.Xbox.XMID model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public XMID(SabreTools.Models.Xbox.XMID model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public XMID(Models.Xbox.XMID model, Stream data) : base(model, data) { } + public XMID(SabreTools.Models.Xbox.XMID model, Stream data) : base(model, data) { } /// - public XMID(Models.Xbox.XMID model, Stream data, long offset) : base(model, data, offset) { } + public XMID(SabreTools.Models.Xbox.XMID model, Stream data, long offset) : base(model, data, offset) { } /// - public XMID(Models.Xbox.XMID model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public XMID(SabreTools.Models.Xbox.XMID model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/XZP.cs b/SabreTools.Serialization/Wrappers/XZP.cs index c6de4ade..e187db27 100644 --- a/SabreTools.Serialization/Wrappers/XZP.cs +++ b/SabreTools.Serialization/Wrappers/XZP.cs @@ -2,7 +2,7 @@ using System.IO; namespace SabreTools.Serialization.Wrappers { - public partial class XZP : WrapperBase + public partial class XZP : WrapperBase { #region Descriptive Properties @@ -14,32 +14,32 @@ namespace SabreTools.Serialization.Wrappers #region Extension Properties /// - public Models.XZP.DirectoryEntry[]? DirectoryEntries => Model.DirectoryEntries; + public SabreTools.Models.XZP.DirectoryEntry[]? DirectoryEntries => Model.DirectoryEntries; /// - public Models.XZP.DirectoryItem[]? DirectoryItems => Model.DirectoryItems; + public SabreTools.Models.XZP.DirectoryItem[]? DirectoryItems => Model.DirectoryItems; #endregion #region Constructors /// - public XZP(Models.XZP.File model, byte[] data) : base(model, data) { } + public XZP(SabreTools.Models.XZP.File model, byte[] data) : base(model, data) { } /// - public XZP(Models.XZP.File model, byte[] data, int offset) : base(model, data, offset) { } + public XZP(SabreTools.Models.XZP.File model, byte[] data, int offset) : base(model, data, offset) { } /// - public XZP(Models.XZP.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public XZP(SabreTools.Models.XZP.File model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public XZP(Models.XZP.File model, Stream data) : base(model, data) { } + public XZP(SabreTools.Models.XZP.File model, Stream data) : base(model, data) { } /// - public XZP(Models.XZP.File model, Stream data, long offset) : base(model, data, offset) { } + public XZP(SabreTools.Models.XZP.File model, Stream data, long offset) : base(model, data, offset) { } /// - public XZP(Models.XZP.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public XZP(SabreTools.Models.XZP.File model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion diff --git a/SabreTools.Serialization/Wrappers/XeMID.cs b/SabreTools.Serialization/Wrappers/XeMID.cs index 15f74341..0f181919 100644 --- a/SabreTools.Serialization/Wrappers/XeMID.cs +++ b/SabreTools.Serialization/Wrappers/XeMID.cs @@ -4,7 +4,7 @@ using static SabreTools.Models.Xbox.Constants; namespace SabreTools.Serialization.Wrappers { - public class XeMID : WrapperBase + public class XeMID : WrapperBase { #region Descriptive Properties @@ -78,22 +78,22 @@ namespace SabreTools.Serialization.Wrappers #region Constructors /// - public XeMID(Models.Xbox.XeMID model, byte[] data) : base(model, data) { } + public XeMID(SabreTools.Models.Xbox.XeMID model, byte[] data) : base(model, data) { } /// - public XeMID(Models.Xbox.XeMID model, byte[] data, int offset) : base(model, data, offset) { } + public XeMID(SabreTools.Models.Xbox.XeMID model, byte[] data, int offset) : base(model, data, offset) { } /// - public XeMID(Models.Xbox.XeMID model, byte[] data, int offset, int length) : base(model, data, offset, length) { } + public XeMID(SabreTools.Models.Xbox.XeMID model, byte[] data, int offset, int length) : base(model, data, offset, length) { } /// - public XeMID(Models.Xbox.XeMID model, Stream data) : base(model, data) { } + public XeMID(SabreTools.Models.Xbox.XeMID model, Stream data) : base(model, data) { } /// - public XeMID(Models.Xbox.XeMID model, Stream data, long offset) : base(model, data, offset) { } + public XeMID(SabreTools.Models.Xbox.XeMID model, Stream data, long offset) : base(model, data, offset) { } /// - public XeMID(Models.Xbox.XeMID model, Stream data, long offset, long length) : base(model, data, offset, length) { } + public XeMID(SabreTools.Models.Xbox.XeMID model, Stream data, long offset, long length) : base(model, data, offset, length) { } #endregion