From a2c065bdf28b65c9ffab737da44069ed0b8ce4e2 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 31 Oct 2024 12:09:36 -0400 Subject: [PATCH] Add CHD to factory --- SabreTools.Serialization/Wrappers/WrapperFactory.cs | 8 ++++++++ SabreTools.Serialization/Wrappers/WrapperType.cs | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/SabreTools.Serialization/Wrappers/WrapperFactory.cs b/SabreTools.Serialization/Wrappers/WrapperFactory.cs index 6f4ed2f8..1a891554 100644 --- a/SabreTools.Serialization/Wrappers/WrapperFactory.cs +++ b/SabreTools.Serialization/Wrappers/WrapperFactory.cs @@ -21,6 +21,7 @@ namespace SabreTools.Serialization.Wrappers case WrapperType.BSP: return BSP.Create(data); case WrapperType.BZip2: return null; // TODO: Implement wrapper case WrapperType.CFB: return CFB.Create(data); + case WrapperType.CHD: return CHD.Create(data); case WrapperType.CIA: return CIA.Create(data); case WrapperType.Executable: return CreateExecutableWrapper(data); case WrapperType.GCF: return GCF.Create(data); @@ -218,6 +219,13 @@ namespace SabreTools.Serialization.Wrappers #endregion + #region CHD + + if (magic.StartsWith(new byte?[] { 0x4D, 0x43, 0x6F, 0x6D, 0x70, 0x72, 0x48, 0x44 })) + return WrapperType.CHD; + + #endregion + #region CIA if (extension.Equals("cia", StringComparison.OrdinalIgnoreCase)) diff --git a/SabreTools.Serialization/Wrappers/WrapperType.cs b/SabreTools.Serialization/Wrappers/WrapperType.cs index a0070ca3..5d9d94fd 100644 --- a/SabreTools.Serialization/Wrappers/WrapperType.cs +++ b/SabreTools.Serialization/Wrappers/WrapperType.cs @@ -41,6 +41,11 @@ namespace SabreTools.Serialization.Wrappers /// CFB, + /// + /// MAME Compressed Hunks of Data + /// + CHD, + /// /// CTR Importable Archive ///