From 81d7151f8fc9e06e2828c4c9fbaa3847e122d9d8 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 28 Dec 2022 14:18:50 -0800 Subject: [PATCH] Create new Compression library (nw) --- .../BurnOutSharp.Compression.csproj | 32 +++++++++++++++++++ BurnOutSharp.Compression/LZ.cs | 10 ++++++ BurnOutSharp.Compression/LZX.cs | 9 ++++++ .../MSZIP.cs | 11 +++++-- BurnOutSharp.Compression/Quantum.cs | 9 ++++++ .../BurnOutSharp.Wrappers.csproj | 1 + BurnOutSharp.Wrappers/MicrosoftCabinet.LZX.cs | 7 ---- .../MicrosoftCabinet.Quantum.cs | 7 ---- BurnOutSharp.Wrappers/MicrosoftCabinet.cs | 5 +-- BurnOutSharp.sln | 6 ++++ BurnOutSharp/BurnOutSharp.csproj | 4 +++ 11 files changed, 82 insertions(+), 19 deletions(-) create mode 100644 BurnOutSharp.Compression/BurnOutSharp.Compression.csproj create mode 100644 BurnOutSharp.Compression/LZ.cs create mode 100644 BurnOutSharp.Compression/LZX.cs rename BurnOutSharp.Wrappers/MicrosoftCabinet.MSZIP.cs => BurnOutSharp.Compression/MSZIP.cs (98%) create mode 100644 BurnOutSharp.Compression/Quantum.cs delete mode 100644 BurnOutSharp.Wrappers/MicrosoftCabinet.LZX.cs delete mode 100644 BurnOutSharp.Wrappers/MicrosoftCabinet.Quantum.cs diff --git a/BurnOutSharp.Compression/BurnOutSharp.Compression.csproj b/BurnOutSharp.Compression/BurnOutSharp.Compression.csproj new file mode 100644 index 00000000..2631a8ae --- /dev/null +++ b/BurnOutSharp.Compression/BurnOutSharp.Compression.csproj @@ -0,0 +1,32 @@ + + + + netstandard2.0;net6.0 + BurnOutSharp.Compression + BurnOutSharp.Compression + Matt Nadareski + BurnOutSharp + Copyright (c)2022 Matt Nadareski + https://github.com/mnadareski/BurnOutSharp + 2.5 + 2.5 + 2.5 + true + true + + + + true + + + + + + + + + + + + + diff --git a/BurnOutSharp.Compression/LZ.cs b/BurnOutSharp.Compression/LZ.cs new file mode 100644 index 00000000..37c7e199 --- /dev/null +++ b/BurnOutSharp.Compression/LZ.cs @@ -0,0 +1,10 @@ +using BurnOutSharp.Models.Compression.LZ; + +namespace BurnOutSharp.Compression +{ + /// + public class LZ + { + // TODO: Implement LZ decompression + } +} \ No newline at end of file diff --git a/BurnOutSharp.Compression/LZX.cs b/BurnOutSharp.Compression/LZX.cs new file mode 100644 index 00000000..b557ccd6 --- /dev/null +++ b/BurnOutSharp.Compression/LZX.cs @@ -0,0 +1,9 @@ +using BurnOutSharp.Models.Compression.LZX; + +namespace BurnOutSharp.Compression +{ + public class LZX + { + // TODO: Implement LZX decompression + } +} \ No newline at end of file diff --git a/BurnOutSharp.Wrappers/MicrosoftCabinet.MSZIP.cs b/BurnOutSharp.Compression/MSZIP.cs similarity index 98% rename from BurnOutSharp.Wrappers/MicrosoftCabinet.MSZIP.cs rename to BurnOutSharp.Compression/MSZIP.cs index 15dad1d0..7d7579ee 100644 --- a/BurnOutSharp.Wrappers/MicrosoftCabinet.MSZIP.cs +++ b/BurnOutSharp.Compression/MSZIP.cs @@ -1,12 +1,17 @@ using System; using System.Collections.Generic; +using BurnOutSharp.Models.Compression.MSZIP; using BurnOutSharp.Utilities; using ICSharpCode.SharpZipLib.Zip.Compression; -namespace BurnOutSharp.Wrappers +namespace BurnOutSharp.Compression { - public partial class MicrosoftCabinet : WrapperBase + public class MSZIP { + // TODO: Implement MSZIP decompression + // The below is a first attempt at implementation that is not working. It likely needs to be replaced by + // a zlib wrapper and/or a proper implementation + #region Constants /// @@ -609,4 +614,4 @@ namespace BurnOutSharp.Wrappers #endregion } -} +} \ No newline at end of file diff --git a/BurnOutSharp.Compression/Quantum.cs b/BurnOutSharp.Compression/Quantum.cs new file mode 100644 index 00000000..43b5f5bd --- /dev/null +++ b/BurnOutSharp.Compression/Quantum.cs @@ -0,0 +1,9 @@ +using BurnOutSharp.Models.Compression.Quantum; + +namespace BurnOutSharp.Compression +{ + public class Quantum + { + // TODO: Implement Quantum decompression + } +} \ No newline at end of file diff --git a/BurnOutSharp.Wrappers/BurnOutSharp.Wrappers.csproj b/BurnOutSharp.Wrappers/BurnOutSharp.Wrappers.csproj index 62238195..9799a1e2 100644 --- a/BurnOutSharp.Wrappers/BurnOutSharp.Wrappers.csproj +++ b/BurnOutSharp.Wrappers/BurnOutSharp.Wrappers.csproj @@ -27,6 +27,7 @@ + diff --git a/BurnOutSharp.Wrappers/MicrosoftCabinet.LZX.cs b/BurnOutSharp.Wrappers/MicrosoftCabinet.LZX.cs deleted file mode 100644 index 1045ae73..00000000 --- a/BurnOutSharp.Wrappers/MicrosoftCabinet.LZX.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace BurnOutSharp.Wrappers -{ - public partial class MicrosoftCabinet : WrapperBase - { - // TODO: Implement LZX decompression - } -} \ No newline at end of file diff --git a/BurnOutSharp.Wrappers/MicrosoftCabinet.Quantum.cs b/BurnOutSharp.Wrappers/MicrosoftCabinet.Quantum.cs deleted file mode 100644 index 858ef91a..00000000 --- a/BurnOutSharp.Wrappers/MicrosoftCabinet.Quantum.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace BurnOutSharp.Wrappers -{ - public partial class MicrosoftCabinet : WrapperBase - { - // TODO: Implement Quantum decompression - } -} \ No newline at end of file diff --git a/BurnOutSharp.Wrappers/MicrosoftCabinet.cs b/BurnOutSharp.Wrappers/MicrosoftCabinet.cs index e541c006..d8fd7d3f 100644 --- a/BurnOutSharp.Wrappers/MicrosoftCabinet.cs +++ b/BurnOutSharp.Wrappers/MicrosoftCabinet.cs @@ -5,7 +5,7 @@ using System.Linq; namespace BurnOutSharp.Wrappers { - public partial class MicrosoftCabinet : WrapperBase + public class MicrosoftCabinet : WrapperBase { #region Pass-Through Properties @@ -229,7 +229,8 @@ namespace BurnOutSharp.Wrappers decompressed = dataBlock.CompressedData; break; case Models.MicrosoftCabinet.CompressionType.TYPE_MSZIP: - decompressed = DecompressMSZIPData(dataBlock.CompressedData); + // TODO: UNIMPLEMENTED + decompressed = dataBlock.CompressedData; break; case Models.MicrosoftCabinet.CompressionType.TYPE_QUANTUM: // TODO: UNIMPLEMENTED diff --git a/BurnOutSharp.sln b/BurnOutSharp.sln index 3631882b..1cb92bea 100644 --- a/BurnOutSharp.sln +++ b/BurnOutSharp.sln @@ -36,6 +36,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BurnOutSharp.Utilities", "B EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BurnOutSharp.ASN1", "BurnOutSharp.ASN1\BurnOutSharp.ASN1.csproj", "{D5407F3A-236C-45B5-BE3A-1505412DCB22}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BurnOutSharp.Compression", "BurnOutSharp.Compression\BurnOutSharp.Compression.csproj", "{B55206B2-58FD-4A47-AADC-74982FEA8FAD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -90,6 +92,10 @@ Global {D5407F3A-236C-45B5-BE3A-1505412DCB22}.Debug|Any CPU.Build.0 = Debug|Any CPU {D5407F3A-236C-45B5-BE3A-1505412DCB22}.Release|Any CPU.ActiveCfg = Release|Any CPU {D5407F3A-236C-45B5-BE3A-1505412DCB22}.Release|Any CPU.Build.0 = Release|Any CPU + {B55206B2-58FD-4A47-AADC-74982FEA8FAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B55206B2-58FD-4A47-AADC-74982FEA8FAD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B55206B2-58FD-4A47-AADC-74982FEA8FAD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B55206B2-58FD-4A47-AADC-74982FEA8FAD}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/BurnOutSharp/BurnOutSharp.csproj b/BurnOutSharp/BurnOutSharp.csproj index 2395c052..2a6bd647 100644 --- a/BurnOutSharp/BurnOutSharp.csproj +++ b/BurnOutSharp/BurnOutSharp.csproj @@ -65,6 +65,10 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + runtime; build; native; contentfiles; analyzers; buildtransitive all