From bbe234b459703ab30da8b5a393d53686c8600438 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 15 Dec 2022 12:41:08 -0800 Subject: [PATCH] Use `MemoryStream` in wrappers --- BurnOutSharp.Wrappers/BFPK.cs | 15 +++------------ BurnOutSharp.Wrappers/LinearExecutable.cs | 15 +++------------ BurnOutSharp.Wrappers/MSDOS.cs | 15 +++------------ BurnOutSharp.Wrappers/MicrosoftCabinet.cs | 15 +++------------ BurnOutSharp.Wrappers/NewExecutable.cs | 15 +++------------ BurnOutSharp.Wrappers/PortableExecutable.cs | 15 +++------------ 6 files changed, 18 insertions(+), 72 deletions(-) diff --git a/BurnOutSharp.Wrappers/BFPK.cs b/BurnOutSharp.Wrappers/BFPK.cs index 340dcf97..daec2e05 100644 --- a/BurnOutSharp.Wrappers/BFPK.cs +++ b/BurnOutSharp.Wrappers/BFPK.cs @@ -55,18 +55,9 @@ namespace BurnOutSharp.Wrappers /// A BFPK archive wrapper on success, null on failure public static BFPK Create(byte[] data, int offset) { - var archive = Builder.BFPK.ParseArchive(data, offset); - if (archive == null) - return null; - - var wrapper = new BFPK - { - _archive = archive, - _dataSource = DataSource.ByteArray, - _byteArrayData = data, - _byteArrayOffset = offset, - }; - return wrapper; + MemoryStream dataStream = new MemoryStream(data); + dataStream.Position = offset; + return Create(dataStream); } /// diff --git a/BurnOutSharp.Wrappers/LinearExecutable.cs b/BurnOutSharp.Wrappers/LinearExecutable.cs index ad0da865..68180211 100644 --- a/BurnOutSharp.Wrappers/LinearExecutable.cs +++ b/BurnOutSharp.Wrappers/LinearExecutable.cs @@ -301,18 +301,9 @@ namespace BurnOutSharp.Wrappers /// An LE/LX executable wrapper on success, null on failure public static LinearExecutable Create(byte[] data, int offset) { - var executable = Builder.LinearExecutable.ParseExecutable(data, offset); - if (executable == null) - return null; - - var wrapper = new LinearExecutable - { - _executable = executable, - _dataSource = DataSource.ByteArray, - _byteArrayData = data, - _byteArrayOffset = offset, - }; - return wrapper; + MemoryStream dataStream = new MemoryStream(data); + dataStream.Position = offset; + return Create(dataStream); } /// diff --git a/BurnOutSharp.Wrappers/MSDOS.cs b/BurnOutSharp.Wrappers/MSDOS.cs index cf0e5122..f8cf809d 100644 --- a/BurnOutSharp.Wrappers/MSDOS.cs +++ b/BurnOutSharp.Wrappers/MSDOS.cs @@ -105,18 +105,9 @@ namespace BurnOutSharp.Wrappers /// An MS-DOS executable wrapper on success, null on failure public static MSDOS Create(byte[] data, int offset) { - var executable = Builder.MSDOS.ParseExecutable(data, offset); - if (executable == null) - return null; - - var wrapper = new MSDOS - { - _executable = executable, - _dataSource = DataSource.ByteArray, - _byteArrayData = data, - _byteArrayOffset = offset, - }; - return wrapper; + MemoryStream dataStream = new MemoryStream(data); + dataStream.Position = offset; + return Create(dataStream); } /// diff --git a/BurnOutSharp.Wrappers/MicrosoftCabinet.cs b/BurnOutSharp.Wrappers/MicrosoftCabinet.cs index 96a94cd0..4d96ef6c 100644 --- a/BurnOutSharp.Wrappers/MicrosoftCabinet.cs +++ b/BurnOutSharp.Wrappers/MicrosoftCabinet.cs @@ -116,18 +116,9 @@ namespace BurnOutSharp.Wrappers /// A cabinet wrapper on success, null on failure public static MicrosoftCabinet Create(byte[] data, int offset) { - var cabinet = Builder.MicrosoftCabinet.ParseCabinet(data, offset); - if (cabinet == null) - return null; - - var wrapper = new MicrosoftCabinet - { - _cabinet = cabinet, - _dataSource = DataSource.ByteArray, - _byteArrayData = data, - _byteArrayOffset = offset, - }; - return wrapper; + MemoryStream dataStream = new MemoryStream(data); + dataStream.Position = offset; + return Create(dataStream); } /// diff --git a/BurnOutSharp.Wrappers/NewExecutable.cs b/BurnOutSharp.Wrappers/NewExecutable.cs index 557c001f..41387bae 100644 --- a/BurnOutSharp.Wrappers/NewExecutable.cs +++ b/BurnOutSharp.Wrappers/NewExecutable.cs @@ -233,18 +233,9 @@ namespace BurnOutSharp.Wrappers /// An NE executable wrapper on success, null on failure public static NewExecutable Create(byte[] data, int offset) { - var executable = Builder.NewExecutable.ParseExecutable(data, offset); - if (executable == null) - return null; - - var wrapper = new NewExecutable - { - _executable = executable, - _dataSource = DataSource.ByteArray, - _byteArrayData = data, - _byteArrayOffset = offset, - }; - return wrapper; + MemoryStream dataStream = new MemoryStream(data); + dataStream.Position = offset; + return Create(dataStream); } /// diff --git a/BurnOutSharp.Wrappers/PortableExecutable.cs b/BurnOutSharp.Wrappers/PortableExecutable.cs index 52a7541f..8ac985ca 100644 --- a/BurnOutSharp.Wrappers/PortableExecutable.cs +++ b/BurnOutSharp.Wrappers/PortableExecutable.cs @@ -871,18 +871,9 @@ namespace BurnOutSharp.Wrappers /// A PE executable wrapper on success, null on failure public static PortableExecutable Create(byte[] data, int offset) { - var executable = Builder.PortableExecutable.ParseExecutable(data, offset); - if (executable == null) - return null; - - var wrapper = new PortableExecutable - { - _executable = executable, - _dataSource = DataSource.ByteArray, - _byteArrayData = data, - _byteArrayOffset = offset, - }; - return wrapper; + MemoryStream dataStream = new MemoryStream(data); + dataStream.Position = offset; + return Create(dataStream); } ///