diff --git a/SabreTools.Serialization/Deserializers/AACS.cs b/SabreTools.Serialization/Deserializers/AACS.cs index 2ec4f669..1fc9b08f 100644 --- a/SabreTools.Serialization/Deserializers/AACS.cs +++ b/SabreTools.Serialization/Deserializers/AACS.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class AACS : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public MediaKeyBlock? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/AttractMode.cs b/SabreTools.Serialization/Deserializers/AttractMode.cs index 3d615f8a..fb68e63d 100644 --- a/SabreTools.Serialization/Deserializers/AttractMode.cs +++ b/SabreTools.Serialization/Deserializers/AttractMode.cs @@ -10,7 +10,6 @@ namespace SabreTools.Serialization.Deserializers { public class AttractMode : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { @@ -22,26 +21,6 @@ namespace SabreTools.Serialization.Deserializers #endregion - #region IByteDeserializer - - /// - public MetadataFile? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/BDPlus.cs b/SabreTools.Serialization/Deserializers/BDPlus.cs index deddbee0..d10878cc 100644 --- a/SabreTools.Serialization/Deserializers/BDPlus.cs +++ b/SabreTools.Serialization/Deserializers/BDPlus.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class BDPlus : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public SVM? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/BFPK.cs b/SabreTools.Serialization/Deserializers/BFPK.cs index 800dfe03..ccd2ec96 100644 --- a/SabreTools.Serialization/Deserializers/BFPK.cs +++ b/SabreTools.Serialization/Deserializers/BFPK.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class BFPK : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Archive? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/BSP.cs b/SabreTools.Serialization/Deserializers/BSP.cs index c214023d..37e0a5c6 100644 --- a/SabreTools.Serialization/Deserializers/BSP.cs +++ b/SabreTools.Serialization/Deserializers/BSP.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class BSP : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.BSP.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs b/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs index 359bc0c9..1a064e7a 100644 --- a/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs +++ b/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs @@ -13,7 +13,28 @@ namespace SabreTools.Serialization.Deserializers /// Type of the model to deserialize /// These methods assume there is a concrete implementation of the deserialzier for the model available public abstract class BaseBinaryDeserializer + : IByteDeserializer { + #region IByteDeserializer + + /// + public virtual TModel? Deserialize(byte[]? data, int offset) + { + // If the data is invalid + if (data == null) + return default; + + // If the offset is out of bounds + if (offset < 0 || offset >= data.Length) + return default; + + // Create a memory stream and parse that + var dataStream = new MemoryStream(data, offset, data.Length - offset); + return DeserializeStream(dataStream); + } + + #endregion + #region Static Implementations /// @@ -47,6 +68,8 @@ namespace SabreTools.Serialization.Deserializers #endregion + #region Helpers + /// /// Get a constructed instance of a type, if possible /// @@ -84,5 +107,7 @@ namespace SabreTools.Serialization.Deserializers return default; } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/CFB.cs b/SabreTools.Serialization/Deserializers/CFB.cs index 17676753..e6bafee5 100644 --- a/SabreTools.Serialization/Deserializers/CFB.cs +++ b/SabreTools.Serialization/Deserializers/CFB.cs @@ -11,30 +11,9 @@ namespace SabreTools.Serialization.Deserializers { public class CFB : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Binary? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/CIA.cs b/SabreTools.Serialization/Deserializers/CIA.cs index 2eb6051b..e1f932e0 100644 --- a/SabreTools.Serialization/Deserializers/CIA.cs +++ b/SabreTools.Serialization/Deserializers/CIA.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class CIA : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.N3DS.CIA? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/ClrMamePro.cs b/SabreTools.Serialization/Deserializers/ClrMamePro.cs index 4830a900..1c112107 100644 --- a/SabreTools.Serialization/Deserializers/ClrMamePro.cs +++ b/SabreTools.Serialization/Deserializers/ClrMamePro.cs @@ -10,41 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class ClrMamePro : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public static MetadataFile? DeserializeBytes(byte[]? data, int offset, bool quotes = true) - { - var deserializer = new ClrMamePro(); - return deserializer.Deserialize(data, offset, quotes); - } - - /// - public MetadataFile? Deserialize(byte[]? data, int offset) - => Deserialize(data, offset, true); - - /// - public MetadataFile? Deserialize(byte[]? data, int offset, bool quotes) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream, quotes); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/CueSheet.cs b/SabreTools.Serialization/Deserializers/CueSheet.cs index 1181b1ce..7ff9b1c0 100644 --- a/SabreTools.Serialization/Deserializers/CueSheet.cs +++ b/SabreTools.Serialization/Deserializers/CueSheet.cs @@ -11,30 +11,9 @@ namespace SabreTools.Serialization.Deserializers { public class CueSheet : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.CueSheets.CueSheet? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/DosCenter.cs b/SabreTools.Serialization/Deserializers/DosCenter.cs index 769a7e75..92b920d6 100644 --- a/SabreTools.Serialization/Deserializers/DosCenter.cs +++ b/SabreTools.Serialization/Deserializers/DosCenter.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class DosCenter : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public MetadataFile? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs index 8edde60c..a48a9f99 100644 --- a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs +++ b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class EverdriveSMDB : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public MetadataFile? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/GCF.cs b/SabreTools.Serialization/Deserializers/GCF.cs index 47b8a806..993eee95 100644 --- a/SabreTools.Serialization/Deserializers/GCF.cs +++ b/SabreTools.Serialization/Deserializers/GCF.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class GCF : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.GCF.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/Hashfile.cs b/SabreTools.Serialization/Deserializers/Hashfile.cs index fd2fd97b..359c67a8 100644 --- a/SabreTools.Serialization/Deserializers/Hashfile.cs +++ b/SabreTools.Serialization/Deserializers/Hashfile.cs @@ -10,7 +10,6 @@ namespace SabreTools.Serialization.Deserializers { public class Hashfile : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { @@ -24,7 +23,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? Deserialize(byte[]? data, int offset) + public override Models.Hashfile.Hashfile? Deserialize(byte[]? data, int offset) => Deserialize(data, offset, HashType.CRC32); /// diff --git a/SabreTools.Serialization/Deserializers/IRD.cs b/SabreTools.Serialization/Deserializers/IRD.cs index d81f5e5f..ba9d06b9 100644 --- a/SabreTools.Serialization/Deserializers/IRD.cs +++ b/SabreTools.Serialization/Deserializers/IRD.cs @@ -7,30 +7,9 @@ namespace SabreTools.Serialization.Deserializers { public class IRD : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.IRD.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs b/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs index 06330c10..a96ef191 100644 --- a/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs +++ b/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs @@ -11,30 +11,9 @@ namespace SabreTools.Serialization.Deserializers // TODO: Add multi-cabinet reading public class InstallShieldCabinet : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Cabinet? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/JsonFile.cs b/SabreTools.Serialization/Deserializers/JsonFile.cs index 82781837..5c827655 100644 --- a/SabreTools.Serialization/Deserializers/JsonFile.cs +++ b/SabreTools.Serialization/Deserializers/JsonFile.cs @@ -11,14 +11,13 @@ namespace SabreTools.Serialization.Deserializers /// public class JsonFile : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { #region IByteDeserializer /// - public virtual T? Deserialize(byte[]? data, int offset) + public override T? Deserialize(byte[]? data, int offset) => Deserialize(data, offset, new UTF8Encoding(false)); /// diff --git a/SabreTools.Serialization/Deserializers/LinearExecutable.cs b/SabreTools.Serialization/Deserializers/LinearExecutable.cs index f05e46ec..0f260d37 100644 --- a/SabreTools.Serialization/Deserializers/LinearExecutable.cs +++ b/SabreTools.Serialization/Deserializers/LinearExecutable.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class LinearExecutable : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Executable? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/Listrom.cs b/SabreTools.Serialization/Deserializers/Listrom.cs index 54b94201..2a0a8996 100644 --- a/SabreTools.Serialization/Deserializers/Listrom.cs +++ b/SabreTools.Serialization/Deserializers/Listrom.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class Listrom : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public MetadataFile? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/MSDOS.cs b/SabreTools.Serialization/Deserializers/MSDOS.cs index bf724586..2099b8cb 100644 --- a/SabreTools.Serialization/Deserializers/MSDOS.cs +++ b/SabreTools.Serialization/Deserializers/MSDOS.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class MSDOS : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Executable? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs index 1e45735c..ff9514b1 100644 --- a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs +++ b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers // TODO: Add multi-cabinet reading public class MicrosoftCabinet : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Cabinet? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/MoPaQ.cs b/SabreTools.Serialization/Deserializers/MoPaQ.cs index cf9f9bb3..262a235a 100644 --- a/SabreTools.Serialization/Deserializers/MoPaQ.cs +++ b/SabreTools.Serialization/Deserializers/MoPaQ.cs @@ -11,30 +11,9 @@ namespace SabreTools.Serialization.Deserializers { public class MoPaQ : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Archive? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/N3DS.cs b/SabreTools.Serialization/Deserializers/N3DS.cs index 2f4e2d79..57e3a98a 100644 --- a/SabreTools.Serialization/Deserializers/N3DS.cs +++ b/SabreTools.Serialization/Deserializers/N3DS.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class N3DS : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Cart? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/NCF.cs b/SabreTools.Serialization/Deserializers/NCF.cs index b39c2587..1d57b10b 100644 --- a/SabreTools.Serialization/Deserializers/NCF.cs +++ b/SabreTools.Serialization/Deserializers/NCF.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class NCF : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.NCF.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/NewExecutable.cs b/SabreTools.Serialization/Deserializers/NewExecutable.cs index ed298872..4ab9685d 100644 --- a/SabreTools.Serialization/Deserializers/NewExecutable.cs +++ b/SabreTools.Serialization/Deserializers/NewExecutable.cs @@ -11,30 +11,9 @@ namespace SabreTools.Serialization.Deserializers { public class NewExecutable : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Executable? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/Nitro.cs b/SabreTools.Serialization/Deserializers/Nitro.cs index 820099a1..4f6de598 100644 --- a/SabreTools.Serialization/Deserializers/Nitro.cs +++ b/SabreTools.Serialization/Deserializers/Nitro.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class Nitro : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Cart? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/PAK.cs b/SabreTools.Serialization/Deserializers/PAK.cs index 4bf1ac5a..9be880cd 100644 --- a/SabreTools.Serialization/Deserializers/PAK.cs +++ b/SabreTools.Serialization/Deserializers/PAK.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class PAK : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.PAK.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/PFF.cs b/SabreTools.Serialization/Deserializers/PFF.cs index c716756e..c0ca7c2a 100644 --- a/SabreTools.Serialization/Deserializers/PFF.cs +++ b/SabreTools.Serialization/Deserializers/PFF.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class PFF : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Archive? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/PIC.cs b/SabreTools.Serialization/Deserializers/PIC.cs index 952714e5..29e6b1f2 100644 --- a/SabreTools.Serialization/Deserializers/PIC.cs +++ b/SabreTools.Serialization/Deserializers/PIC.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class PIC : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public DiscInformation? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/PlayJAudio.cs b/SabreTools.Serialization/Deserializers/PlayJAudio.cs index 8612b589..f5db1e92 100644 --- a/SabreTools.Serialization/Deserializers/PlayJAudio.cs +++ b/SabreTools.Serialization/Deserializers/PlayJAudio.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class PlayJAudio : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public AudioFile? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs b/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs index 218653e2..6acbfccb 100644 --- a/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs +++ b/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs @@ -7,30 +7,9 @@ namespace SabreTools.Serialization.Deserializers { public class PlayJPlaylist : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Playlist? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/PortableExecutable.cs b/SabreTools.Serialization/Deserializers/PortableExecutable.cs index d68246f3..34775e23 100644 --- a/SabreTools.Serialization/Deserializers/PortableExecutable.cs +++ b/SabreTools.Serialization/Deserializers/PortableExecutable.cs @@ -12,30 +12,9 @@ namespace SabreTools.Serialization.Deserializers { public class PortableExecutable : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Executable? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/Quantum.cs b/SabreTools.Serialization/Deserializers/Quantum.cs index 6039d2bf..8220c9dc 100644 --- a/SabreTools.Serialization/Deserializers/Quantum.cs +++ b/SabreTools.Serialization/Deserializers/Quantum.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class Quantum : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Archive? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/RomCenter.cs b/SabreTools.Serialization/Deserializers/RomCenter.cs index 38eb3027..a151bae6 100644 --- a/SabreTools.Serialization/Deserializers/RomCenter.cs +++ b/SabreTools.Serialization/Deserializers/RomCenter.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class RomCenter : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public MetadataFile? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/SGA.cs b/SabreTools.Serialization/Deserializers/SGA.cs index af03f6b6..9d69a423 100644 --- a/SabreTools.Serialization/Deserializers/SGA.cs +++ b/SabreTools.Serialization/Deserializers/SGA.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class SGA : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.SGA.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/SeparatedValue.cs b/SabreTools.Serialization/Deserializers/SeparatedValue.cs index 56830106..40ec99c5 100644 --- a/SabreTools.Serialization/Deserializers/SeparatedValue.cs +++ b/SabreTools.Serialization/Deserializers/SeparatedValue.cs @@ -10,7 +10,6 @@ namespace SabreTools.Serialization.Deserializers { public class SeparatedValue : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { @@ -32,7 +31,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public MetadataFile? Deserialize(byte[]? data, int offset) + public override MetadataFile? Deserialize(byte[]? data, int offset) => Deserialize(data, offset, ','); /// diff --git a/SabreTools.Serialization/Deserializers/VBSP.cs b/SabreTools.Serialization/Deserializers/VBSP.cs index 7c6ff24d..b150f874 100644 --- a/SabreTools.Serialization/Deserializers/VBSP.cs +++ b/SabreTools.Serialization/Deserializers/VBSP.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class VBSP : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.VBSP.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/VPK.cs b/SabreTools.Serialization/Deserializers/VPK.cs index f7cddf8b..3888d8a7 100644 --- a/SabreTools.Serialization/Deserializers/VPK.cs +++ b/SabreTools.Serialization/Deserializers/VPK.cs @@ -10,30 +10,9 @@ namespace SabreTools.Serialization.Deserializers { public class VPK : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.VPK.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/WAD.cs b/SabreTools.Serialization/Deserializers/WAD.cs index 1b2bb9aa..0b6942b5 100644 --- a/SabreTools.Serialization/Deserializers/WAD.cs +++ b/SabreTools.Serialization/Deserializers/WAD.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class WAD : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.WAD.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/XZP.cs b/SabreTools.Serialization/Deserializers/XZP.cs index 088ab421..421e8446 100644 --- a/SabreTools.Serialization/Deserializers/XZP.cs +++ b/SabreTools.Serialization/Deserializers/XZP.cs @@ -9,30 +9,9 @@ namespace SabreTools.Serialization.Deserializers { public class XZP : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public Models.XZP.File? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return null; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return null; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return DeserializeStream(dataStream); - } - - #endregion - #region IFileDeserializer /// diff --git a/SabreTools.Serialization/Deserializers/XmlFile.cs b/SabreTools.Serialization/Deserializers/XmlFile.cs index a103078b..db687741 100644 --- a/SabreTools.Serialization/Deserializers/XmlFile.cs +++ b/SabreTools.Serialization/Deserializers/XmlFile.cs @@ -12,30 +12,9 @@ namespace SabreTools.Serialization.Deserializers /// public class XmlFile : BaseBinaryDeserializer, - IByteDeserializer, IFileDeserializer, IStreamDeserializer { - #region IByteDeserializer - - /// - public T? Deserialize(byte[]? data, int offset) - { - // If the data is invalid - if (data == null) - return default; - - // If the offset is out of bounds - if (offset < 0 || offset >= data.Length) - return default; - - // Create a memory stream and parse that - var dataStream = new MemoryStream(data, offset, data.Length - offset); - return Deserialize(dataStream); - } - - #endregion - #region IFileDeserializer ///