mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-04-24 23:30:07 +00:00
Fix "nullability of reference types" warnings
This commit is contained in:
@@ -18,7 +18,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Records
|
||||
|
||||
/// <inheritdoc cref="Models.AACS.MediaKeyBlock.Records"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.AACS.Record[] Records => _model.Records;
|
||||
#else
|
||||
public SabreTools.Models.AACS.Record?[] Records => _model.Records;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -32,7 +32,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Files
|
||||
|
||||
/// <inheritdoc cref="Models.BFPK.Archive.Files"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.BFPK.FileEntry[] FileTable => _model.Files;
|
||||
#else
|
||||
public SabreTools.Models.BFPK.FileEntry?[] FileTable => _model.Files;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -27,7 +27,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Lumps
|
||||
|
||||
/// <inheritdoc cref="Models.BSP.File.Lumps"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.BSP.Lump[] Lumps => _model.Lumps;
|
||||
#else
|
||||
public SabreTools.Models.BSP.Lump?[] Lumps => _model.Lumps;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -44,7 +48,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Textures
|
||||
|
||||
/// <inheritdoc cref="Models.BSP.File.Textures"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.BSP.Texture[] Textures => _model.Textures;
|
||||
#else
|
||||
public SabreTools.Models.BSP.Texture?[] Textures => _model.Textures;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -128,7 +136,7 @@ namespace BinaryObjectScanner.Wrappers
|
||||
public override StringBuilder PrettyPrint()
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
|
||||
builder.AppendLine("BSP Information:");
|
||||
builder.AppendLine("-------------------------");
|
||||
builder.AppendLine();
|
||||
|
||||
@@ -49,7 +49,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Certificate Chain
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.CIA.CertificateChain"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.Certificate[] CertificateChain => _model.CertificateChain;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.Certificate?[]? CertificateChain => _model.CertificateChain;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -140,7 +144,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
public byte[] T_ContentIndex => _model.Ticket.ContentIndex;
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.Ticket.CertificateChain"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.Certificate[] T_CertificateChain => _model.Ticket.CertificateChain;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.Certificate?[]? T_CertificateChain => _model.Ticket.CertificateChain;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -222,20 +230,36 @@ namespace BinaryObjectScanner.Wrappers
|
||||
public byte[] TMD_SHA256HashContentInfoRecords => _model.TMDFileData.SHA256HashContentInfoRecords;
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.TitleMetadata.ContentInfoRecords"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.ContentInfoRecord[] TMD_ContentInfoRecords => _model.TMDFileData.ContentInfoRecords;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.ContentInfoRecord?[]? TMD_ContentInfoRecords => _model.TMDFileData.ContentInfoRecords;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.TitleMetadata.ContentChunkRecords"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.ContentChunkRecord[] TMD_ContentChunkRecords => _model.TMDFileData.ContentChunkRecords;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.ContentChunkRecord?[]? TMD_ContentChunkRecords => _model.TMDFileData.ContentChunkRecords;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.TitleMetadata.CertificateChain"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.Certificate[] TMD_CertificateChain => _model.TMDFileData.CertificateChain;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.Certificate?[]? TMD_CertificateChain => _model.TMDFileData.CertificateChain;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Partitions
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.CIA.Partitions"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.NCCHHeader[] Partitions => _model.Partitions;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.NCCHHeader?[]? Partitions => _model.Partitions;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -84,7 +84,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Block Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.BlockEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.BlockEntry[] BlockEntries => _model.BlockEntries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.BlockEntry?[]? BlockEntries => _model.BlockEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -107,7 +111,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Fragmentation Maps
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.FragmentationMaps"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.FragmentationMap[] FragmentationMaps => _model.FragmentationMaps;
|
||||
#else
|
||||
public SabreTools.Models.GCF.FragmentationMap?[]? FragmentationMaps => _model.FragmentationMaps;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -133,7 +141,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Block Entry Maps
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.BlockEntryMaps"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.BlockEntryMap[] BlockEntryMaps => _model.BlockEntryMaps;
|
||||
#else
|
||||
public SabreTools.Models.GCF.BlockEntryMap?[]? BlockEntryMaps => _model.BlockEntryMaps;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -186,42 +198,66 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Directory Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.DirectoryEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.DirectoryEntry[] DirectoryEntries => _model.DirectoryEntries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.DirectoryEntry?[]? DirectoryEntries => _model.DirectoryEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Names
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.DirectoryNames"/>
|
||||
public System.Collections.Generic.Dictionary<long, string> DirectoryNames => _model.DirectoryNames;
|
||||
#if NET48
|
||||
public Dictionary<long, string> DirectoryNames => _model.DirectoryNames;
|
||||
#else
|
||||
public Dictionary<long, string?>? DirectoryNames => _model.DirectoryNames;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Info 1 Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.DirectoryInfo1Entries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.DirectoryInfo1Entry[] DirectoryInfo1Entries => _model.DirectoryInfo1Entries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.DirectoryInfo1Entry?[]? DirectoryInfo1Entries => _model.DirectoryInfo1Entries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Info 2 Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.DirectoryInfo2Entries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.DirectoryInfo2Entry[] DirectoryInfo2Entries => _model.DirectoryInfo2Entries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.DirectoryInfo2Entry?[]? DirectoryInfo2Entries => _model.DirectoryInfo2Entries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Copy Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.DirectoryCopyEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.DirectoryCopyEntry[] DirectoryCopyEntries => _model.DirectoryCopyEntries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.DirectoryCopyEntry?[]? DirectoryCopyEntries => _model.DirectoryCopyEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Local Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.DirectoryLocalEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.DirectoryLocalEntry[] DirectoryLocalEntries => _model.DirectoryLocalEntries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.DirectoryLocalEntry?[]? DirectoryLocalEntries => _model.DirectoryLocalEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -238,7 +274,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Directory Map Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.DirectoryMapEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.DirectoryMapEntry[] DirectoryMapEntries => _model.DirectoryMapEntries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.DirectoryMapEntry?[]? DirectoryMapEntries => _model.DirectoryMapEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -271,14 +311,22 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Checksum Map Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.ChecksumMapEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.ChecksumMapEntry[] ChecksumMapEntries => _model.ChecksumMapEntries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.ChecksumMapEntry?[]? ChecksumMapEntries => _model.ChecksumMapEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Checksum Entries
|
||||
|
||||
/// <inheritdoc cref="Models.GCF.File.ChecksumEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.GCF.ChecksumEntry[] ChecksumEntries => _model.ChecksumEntries;
|
||||
#else
|
||||
public SabreTools.Models.GCF.ChecksumEntry?[]? ChecksumEntries => _model.ChecksumEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -177,35 +177,55 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region File Descriptors
|
||||
|
||||
/// <inheritdoc cref="Models.InstallShieldCabinet.Cabinet.FileDescriptors"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.InstallShieldCabinet.FileDescriptor[] FileDescriptors => _model.FileDescriptors;
|
||||
#else
|
||||
public SabreTools.Models.InstallShieldCabinet.FileDescriptor?[]? FileDescriptors => _model.FileDescriptors;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Group Offsets
|
||||
|
||||
/// <inheritdoc cref="Models.InstallShieldCabinet.Cabinet.FileGroupOffsets"/>
|
||||
#if NET48
|
||||
public Dictionary<long, SabreTools.Models.InstallShieldCabinet.OffsetList> FileGroupOffsets => _model.FileGroupOffsets;
|
||||
#else
|
||||
public Dictionary<long, SabreTools.Models.InstallShieldCabinet.OffsetList?>? FileGroupOffsets => _model.FileGroupOffsets;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Groups
|
||||
|
||||
/// <inheritdoc cref="Models.InstallShieldCabinet.Cabinet.FileGroups"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.InstallShieldCabinet.FileGroup[] FileGroups => _model.FileGroups;
|
||||
#else
|
||||
public SabreTools.Models.InstallShieldCabinet.FileGroup?[]? FileGroups => _model.FileGroups;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Component Offsets
|
||||
|
||||
/// <inheritdoc cref="Models.InstallShieldCabinet.Cabinet.ComponentOffsets"/>
|
||||
#if NET48
|
||||
public Dictionary<long, SabreTools.Models.InstallShieldCabinet.OffsetList> ComponentOffsets => _model.ComponentOffsets;
|
||||
#else
|
||||
public Dictionary<long, SabreTools.Models.InstallShieldCabinet.OffsetList?>? ComponentOffsets => _model.ComponentOffsets;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Components
|
||||
|
||||
/// <inheritdoc cref="Models.InstallShieldCabinet.Cabinet.Components"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.InstallShieldCabinet.Component[] Components => _model.Components;
|
||||
#else
|
||||
public SabreTools.Models.InstallShieldCabinet.Component?[]? Components => _model.Components;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -229,43 +229,95 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Tables
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.ObjectTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.ObjectTableEntry[] ObjectTable => _model.ObjectTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.ObjectTableEntry?[]? ObjectTable => _model.ObjectTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.ObjectPageMap"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.ObjectPageMapEntry[] ObjectPageMap => _model.ObjectPageMap;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.ObjectPageMapEntry?[]? ObjectPageMap => _model.ObjectPageMap;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.ResourceTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.ResourceTableEntry[] ResourceTable => _model.ResourceTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.ResourceTableEntry?[]? ResourceTable => _model.ResourceTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.ResidentNamesTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.ResidentNamesTableEntry[] ResidentNamesTable => _model.ResidentNamesTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.ResidentNamesTableEntry?[]? ResidentNamesTable => _model.ResidentNamesTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.EntryTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.EntryTableBundle[] EntryTable => _model.EntryTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.EntryTableBundle?[]? EntryTable => _model.EntryTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.ModuleFormatDirectivesTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.ModuleFormatDirectivesTableEntry[] ModuleFormatDirectivesTable => _model.ModuleFormatDirectivesTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.ModuleFormatDirectivesTableEntry?[]? ModuleFormatDirectivesTable => _model.ModuleFormatDirectivesTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.VerifyRecordDirectiveTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.VerifyRecordDirectiveTableEntry[] VerifyRecordDirectiveTable => _model.VerifyRecordDirectiveTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.VerifyRecordDirectiveTableEntry?[]? VerifyRecordDirectiveTable => _model.VerifyRecordDirectiveTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.PerPageChecksumTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.PerPageChecksumTableEntry[] PerPageChecksumTable => _model.PerPageChecksumTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.PerPageChecksumTableEntry?[]? PerPageChecksumTable => _model.PerPageChecksumTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.FixupPageTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.FixupPageTableEntry[] FixupPageTable => _model.FixupPageTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.FixupPageTableEntry?[]? FixupPageTable => _model.FixupPageTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.FixupRecordTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.FixupRecordTableEntry[] FixupRecordTable => _model.FixupRecordTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.FixupRecordTableEntry?[]? FixupRecordTable => _model.FixupRecordTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.ImportModuleNameTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.ImportModuleNameTableEntry[] ImportModuleNameTable => _model.ImportModuleNameTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.ImportModuleNameTableEntry?[]? ImportModuleNameTable => _model.ImportModuleNameTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.ImportModuleProcedureNameTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.ImportModuleProcedureNameTableEntry[] ImportModuleProcedureNameTable => _model.ImportModuleProcedureNameTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.ImportModuleProcedureNameTableEntry?[]? ImportModuleProcedureNameTable => _model.ImportModuleProcedureNameTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.LinearExecutable.NonResidentNamesTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.LinearExecutable.NonResidentNamesTableEntry[] NonResidentNamesTable => _model.NonResidentNamesTable;
|
||||
#else
|
||||
public SabreTools.Models.LinearExecutable.NonResidentNamesTableEntry?[]? NonResidentNamesTable => _model.NonResidentNamesTable;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -82,7 +82,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Relocation Table
|
||||
|
||||
/// <inheritdoc cref="Models.MSDOS.Executable.RelocationTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.MSDOS.RelocationEntry[] RelocationTable => _model.RelocationTable;
|
||||
#else
|
||||
public SabreTools.Models.MSDOS.RelocationEntry?[]? RelocationTable => _model.RelocationTable;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -86,14 +86,22 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Folders
|
||||
|
||||
/// <inheritdoc cref="Models.MicrosoftCabinet.Cabinet.Folders"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.MicrosoftCabinet.CFFOLDER[] Folders => _model.Folders;
|
||||
#else
|
||||
public SabreTools.Models.MicrosoftCabinet.CFFOLDER?[]? Folders => _model.Folders;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Files
|
||||
|
||||
/// <inheritdoc cref="Models.MicrosoftCabinet.Cabinet.Files"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.MicrosoftCabinet.CFFILE[] Files => _model.Files;
|
||||
#else
|
||||
public SabreTools.Models.MicrosoftCabinet.CFFILE?[]? Files => _model.Files;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -38,7 +38,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
public byte[] PartitionsCryptType => _model.Header.PartitionsCryptType;
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.NCSDHeader.PartitionsTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.PartitionTableEntry[] PartitionsTable => _model.Header.PartitionsTable;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.PartitionTableEntry?[]? PartitionsTable => _model.Header.PartitionsTable;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -194,28 +198,44 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Partitions
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.Cart.Partitions"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.NCCHHeader[] Partitions => _model.Partitions;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.NCCHHeader?[]? Partitions => _model.Partitions;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Extended Headers
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.Cart.ExtendedHeaders"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.NCCHExtendedHeader[] ExtendedHeaders => _model.ExtendedHeaders;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.NCCHExtendedHeader?[]? ExtendedHeaders => _model.ExtendedHeaders;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region ExeFS Headers
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.Cart.ExeFSHeaders"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.ExeFSHeader[] ExeFSHeaders => _model.ExeFSHeaders;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.ExeFSHeader?[]? ExeFSHeaders => _model.ExeFSHeaders;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region RomFS Headers
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.Cart.RomFSHeaders"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.N3DS.RomFSHeader[] RomFSHeaders => _model.RomFSHeaders;
|
||||
#else
|
||||
public SabreTools.Models.N3DS.RomFSHeader?[]? RomFSHeaders => _model.RomFSHeaders;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
@@ -100,42 +101,66 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Directory Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.DirectoryEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.DirectoryEntry[] DirectoryEntries => _model.DirectoryEntries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.DirectoryEntry?[]? DirectoryEntries => _model.DirectoryEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Names
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.DirectoryNames"/>
|
||||
public System.Collections.Generic.Dictionary<long, string> DirectoryNames => _model.DirectoryNames;
|
||||
#if NET48
|
||||
public Dictionary<long, string> DirectoryNames => _model.DirectoryNames;
|
||||
#else
|
||||
public Dictionary<long, string?>? DirectoryNames => _model.DirectoryNames;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Info 1 Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.DirectoryInfo1Entries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.DirectoryInfo1Entry[] DirectoryInfo1Entries => _model.DirectoryInfo1Entries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.DirectoryInfo1Entry?[]? DirectoryInfo1Entries => _model.DirectoryInfo1Entries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Info 2 Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.DirectoryInfo2Entries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.DirectoryInfo2Entry[] DirectoryInfo2Entries => _model.DirectoryInfo2Entries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.DirectoryInfo2Entry?[]? DirectoryInfo2Entries => _model.DirectoryInfo2Entries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Copy Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.DirectoryCopyEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.DirectoryCopyEntry[] DirectoryCopyEntries => _model.DirectoryCopyEntries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.DirectoryCopyEntry?[]? DirectoryCopyEntries => _model.DirectoryCopyEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Local Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.DirectoryLocalEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.DirectoryLocalEntry[] DirectoryLocalEntries => _model.DirectoryLocalEntries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.DirectoryLocalEntry?[]? DirectoryLocalEntries => _model.DirectoryLocalEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -152,7 +177,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Unknown Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.UnknownEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.UnknownEntry[] UnknownEntries => _model.UnknownEntries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.UnknownEntry?[]? UnknownEntries => _model.UnknownEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -185,14 +214,22 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Checksum Map Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.ChecksumMapEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.ChecksumMapEntry[] ChecksumMapEntries => _model.ChecksumMapEntries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.ChecksumMapEntry?[]? ChecksumMapEntries => _model.ChecksumMapEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Checksum Entries
|
||||
|
||||
/// <inheritdoc cref="Models.NCF.File.ChecksumEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NCF.ChecksumEntry[] ChecksumEntries => _model.ChecksumEntries;
|
||||
#else
|
||||
public SabreTools.Models.NCF.ChecksumEntry?[]? ChecksumEntries => _model.ChecksumEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -186,25 +186,53 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Tables
|
||||
|
||||
/// <inheritdoc cref="Models.NewExecutable.SegmentTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NewExecutable.SegmentTableEntry[] SegmentTable => _model.SegmentTable;
|
||||
#else
|
||||
public SabreTools.Models.NewExecutable.SegmentTableEntry?[]? SegmentTable => _model.SegmentTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.NewExecutable.ResourceTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NewExecutable.ResourceTable ResourceTable => _model.ResourceTable;
|
||||
#else
|
||||
public SabreTools.Models.NewExecutable.ResourceTable? ResourceTable => _model.ResourceTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.NewExecutable.ResidentNameTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NewExecutable.ResidentNameTableEntry[] ResidentNameTable => _model.ResidentNameTable;
|
||||
#else
|
||||
public SabreTools.Models.NewExecutable.ResidentNameTableEntry?[]? ResidentNameTable => _model.ResidentNameTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.NewExecutable.ModuleReferenceTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NewExecutable.ModuleReferenceTableEntry[] ModuleReferenceTable => _model.ModuleReferenceTable;
|
||||
#else
|
||||
public SabreTools.Models.NewExecutable.ModuleReferenceTableEntry?[]? ModuleReferenceTable => _model.ModuleReferenceTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.NewExecutable.ImportedNameTable"/>
|
||||
#if NET48
|
||||
public Dictionary<ushort, SabreTools.Models.NewExecutable.ImportedNameTableEntry> ImportedNameTable => _model.ImportedNameTable;
|
||||
#else
|
||||
public Dictionary<ushort, SabreTools.Models.NewExecutable.ImportedNameTableEntry?>? ImportedNameTable => _model.ImportedNameTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.NewExecutable.EntryTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NewExecutable.EntryTableBundle[] EntryTable => _model.EntryTable;
|
||||
#else
|
||||
public SabreTools.Models.NewExecutable.EntryTableBundle?[]? EntryTable => _model.EntryTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.NewExecutable.NonResidentNameTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.NewExecutable.NonResidentNameTableEntry[] NonResidentNameTable => _model.NonResidentNameTable;
|
||||
#else
|
||||
public SabreTools.Models.NewExecutable.NonResidentNameTableEntry?[]? NonResidentNameTable => _model.NonResidentNameTable;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -300,17 +300,29 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Name Table
|
||||
|
||||
/// <inheritdoc cref="Models.Nitro.NameTable.FolderAllocationTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.Nitro.FolderAllocationTableEntry[] FolderAllocationTable => _model.NameTable.FolderAllocationTable;
|
||||
#else
|
||||
public SabreTools.Models.Nitro.FolderAllocationTableEntry?[]? FolderAllocationTable => _model.NameTable.FolderAllocationTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.Nitro.NameTable.NameList"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.Nitro.NameListEntry[] NameList => _model.NameTable.NameList;
|
||||
#else
|
||||
public SabreTools.Models.Nitro.NameListEntry?[]? NameList => _model.NameTable.NameList;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Allocation Table
|
||||
|
||||
/// <inheritdoc cref="Models.Nitro.Cart.FileAllocationTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.Nitro.FileAllocationTableEntry[] FileAllocationTable => _model.FileAllocationTable;
|
||||
#else
|
||||
public SabreTools.Models.Nitro.FileAllocationTableEntry?[]? FileAllocationTable => _model.FileAllocationTable;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -30,7 +30,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Directory Items
|
||||
|
||||
/// <inheritdoc cref="Models.PAK.DirectoryItems"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.PAK.DirectoryItem[] DirectoryItems => _model.DirectoryItems;
|
||||
#else
|
||||
public SabreTools.Models.PAK.DirectoryItem?[]? DirectoryItems => _model.DirectoryItems;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -36,7 +36,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Segments
|
||||
|
||||
/// <inheritdoc cref="Models.PFF.Archive.Segments"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.PFF.Segment[] Segments => _model.Segments;
|
||||
#else
|
||||
public SabreTools.Models.PFF.Segment?[]? Segments => _model.Segments;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -214,7 +214,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Unknown Block 3
|
||||
|
||||
/// <inheritdoc cref="Models.PlayJ.AudioFile.DataFiles"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.PlayJ.DataFile[] DataFiles => _model.DataFiles;
|
||||
#else
|
||||
public SabreTools.Models.PlayJ.DataFile?[]? DataFiles => _model.DataFiles;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -287,16 +287,28 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Tables
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.SectionTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.PortableExecutable.SectionHeader[] SectionTable => _model.SectionTable;
|
||||
#else
|
||||
public SabreTools.Models.PortableExecutable.SectionHeader?[]? SectionTable => _model.SectionTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.COFFSymbolTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.PortableExecutable.COFFSymbolTableEntry[] COFFSymbolTable => _model.COFFSymbolTable;
|
||||
#else
|
||||
public SabreTools.Models.PortableExecutable.COFFSymbolTableEntry?[]? COFFSymbolTable => _model.COFFSymbolTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.COFFStringTable"/>
|
||||
public SabreTools.Models.PortableExecutable.COFFStringTable COFFStringTable => _model.COFFStringTable;
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.AttributeCertificateTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.PortableExecutable.AttributeCertificateTableEntry[] AttributeCertificateTable => _model.AttributeCertificateTable;
|
||||
#else
|
||||
public SabreTools.Models.PortableExecutable.AttributeCertificateTableEntry?[]? AttributeCertificateTable => _model.AttributeCertificateTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.DelayLoadDirectoryTable"/>
|
||||
public SabreTools.Models.PortableExecutable.DelayLoadDirectoryTable DelayLoadDirectoryTable => _model.DelayLoadDirectoryTable;
|
||||
@@ -306,7 +318,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Sections
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.BaseRelocationTable"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.PortableExecutable.BaseRelocationBlock[] BaseRelocationTable => _model.BaseRelocationTable;
|
||||
#else
|
||||
public SabreTools.Models.PortableExecutable.BaseRelocationBlock?[]? BaseRelocationTable => _model.BaseRelocationTable;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.DebugTable"/>
|
||||
public SabreTools.Models.PortableExecutable.DebugTable DebugTable => _model.DebugTable;
|
||||
@@ -321,7 +337,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
public SabreTools.Models.PortableExecutable.ImportTable ImportTable => _model.ImportTable;
|
||||
|
||||
/// <inheritdoc cref="Models.PortableExecutable.ImportTable.HintNameTable"/>
|
||||
#if NET48
|
||||
public string[] ImportHintNameTable => _model.ImportTable?.HintNameTable != null
|
||||
#else
|
||||
public string?[]? ImportHintNameTable => _model.ImportTable?.HintNameTable != null
|
||||
#endif
|
||||
? _model.ImportTable.HintNameTable.Select(entry => entry.Name).ToArray()
|
||||
: null;
|
||||
|
||||
@@ -476,7 +496,7 @@ namespace BinaryObjectScanner.Wrappers
|
||||
// If we didn't find the end of section data
|
||||
if (endOfSectionData <= 0)
|
||||
endOfSectionData = -1;
|
||||
|
||||
|
||||
// Cache and return the position
|
||||
_overlayAddress = endOfSectionData;
|
||||
return _overlayAddress.Value;
|
||||
@@ -2423,7 +2443,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
{
|
||||
string padding = new string(' ', (level + 1) * 2);
|
||||
|
||||
#if NET48
|
||||
Dictionary<int, string> stringTable = null;
|
||||
#else
|
||||
Dictionary<int, string?>? stringTable = null;
|
||||
#endif
|
||||
try { stringTable = entry.AsStringTable(); } catch { }
|
||||
if (stringTable == null)
|
||||
{
|
||||
@@ -3021,11 +3045,19 @@ namespace BinaryObjectScanner.Wrappers
|
||||
/// </summary>
|
||||
/// <param name="path">Partial path to check for</param>
|
||||
/// <returns>Enumerable of matching debug data</returns>
|
||||
#if NET48
|
||||
public IEnumerable<object> FindCodeViewDebugTableByPath(string path)
|
||||
#else
|
||||
public IEnumerable<object?> FindCodeViewDebugTableByPath(string path)
|
||||
#endif
|
||||
{
|
||||
// Ensure that we have the debug data cached
|
||||
if (DebugData == null)
|
||||
#if NET48
|
||||
return Enumerable.Empty<object>();
|
||||
#else
|
||||
return Enumerable.Empty<object?>();
|
||||
#endif
|
||||
|
||||
var nb10Found = DebugData.Select(r => r.Value)
|
||||
.Select(r => r as SabreTools.Models.PortableExecutable.NB10ProgramDatabase)
|
||||
@@ -3047,11 +3079,19 @@ namespace BinaryObjectScanner.Wrappers
|
||||
/// </summary>
|
||||
/// <param name="value">String value to check for</param>
|
||||
/// <returns>Enumerable of matching debug data</returns>
|
||||
#if NET48
|
||||
public IEnumerable<byte[]> FindGenericDebugTableByValue(string value)
|
||||
#else
|
||||
public IEnumerable<byte[]?> FindGenericDebugTableByValue(string value)
|
||||
#endif
|
||||
{
|
||||
// Ensure that we have the resource data cached
|
||||
if (DebugData == null)
|
||||
#if NET48
|
||||
return Enumerable.Empty<byte[]>();
|
||||
#else
|
||||
return Enumerable.Empty<byte[]>();
|
||||
#endif
|
||||
|
||||
return DebugData.Select(r => r.Value)
|
||||
.Select(b => b as byte[])
|
||||
@@ -3155,11 +3195,19 @@ namespace BinaryObjectScanner.Wrappers
|
||||
/// </summary>
|
||||
/// <param name="title">Dialog box title to check for</param>
|
||||
/// <returns>Enumerable of matching resources</returns>
|
||||
#if NET48
|
||||
public IEnumerable<SabreTools.Models.PortableExecutable.DialogBoxResource> FindDialogByTitle(string title)
|
||||
#else
|
||||
public IEnumerable<SabreTools.Models.PortableExecutable.DialogBoxResource?> FindDialogByTitle(string title)
|
||||
#endif
|
||||
{
|
||||
// Ensure that we have the resource data cached
|
||||
if (ResourceData == null)
|
||||
#if NET48
|
||||
return Enumerable.Empty<SabreTools.Models.PortableExecutable.DialogBoxResource>();
|
||||
#else
|
||||
return Enumerable.Empty<SabreTools.Models.PortableExecutable.DialogBoxResource?>();
|
||||
#endif
|
||||
|
||||
return ResourceData.Select(r => r.Value)
|
||||
.Select(r => r as SabreTools.Models.PortableExecutable.DialogBoxResource)
|
||||
@@ -3176,11 +3224,19 @@ namespace BinaryObjectScanner.Wrappers
|
||||
/// </summary>
|
||||
/// <param name="title">Dialog box item title to check for</param>
|
||||
/// <returns>Enumerable of matching resources</returns>
|
||||
#if NET48
|
||||
public IEnumerable<SabreTools.Models.PortableExecutable.DialogBoxResource> FindDialogBoxByItemTitle(string title)
|
||||
#else
|
||||
public IEnumerable<SabreTools.Models.PortableExecutable.DialogBoxResource?> FindDialogBoxByItemTitle(string title)
|
||||
#endif
|
||||
{
|
||||
// Ensure that we have the resource data cached
|
||||
if (ResourceData == null)
|
||||
#if NET48
|
||||
return Enumerable.Empty<SabreTools.Models.PortableExecutable.DialogBoxResource>();
|
||||
#else
|
||||
return Enumerable.Empty<SabreTools.Models.PortableExecutable.DialogBoxResource?>();
|
||||
#endif
|
||||
|
||||
return ResourceData.Select(r => r.Value)
|
||||
.Select(r => r as SabreTools.Models.PortableExecutable.DialogBoxResource)
|
||||
@@ -3209,14 +3265,26 @@ namespace BinaryObjectScanner.Wrappers
|
||||
/// </summary>
|
||||
/// <param name="entry">String entry to check for</param>
|
||||
/// <returns>Enumerable of matching resources</returns>
|
||||
#if NET48
|
||||
public IEnumerable<Dictionary<int, string>> FindStringTableByEntry(string entry)
|
||||
#else
|
||||
public IEnumerable<Dictionary<int, string?>?> FindStringTableByEntry(string entry)
|
||||
#endif
|
||||
{
|
||||
// Ensure that we have the resource data cached
|
||||
if (ResourceData == null)
|
||||
#if NET48
|
||||
return Enumerable.Empty<Dictionary<int, string>>();
|
||||
#else
|
||||
return Enumerable.Empty<Dictionary<int, string?>?>();
|
||||
#endif
|
||||
|
||||
return ResourceData.Select(r => r.Value)
|
||||
#if NET48
|
||||
.Select(r => r as Dictionary<int, string>)
|
||||
#else
|
||||
.Select(r => r as Dictionary<int, string?>)
|
||||
#endif
|
||||
.Where(st => st != null)
|
||||
.Where(st => st.Select(kvp => kvp.Value)
|
||||
.Any(s => s.Contains(entry)));
|
||||
@@ -3227,11 +3295,19 @@ namespace BinaryObjectScanner.Wrappers
|
||||
/// </summary>
|
||||
/// <param name="typeName">Type name to check for</param>
|
||||
/// <returns>Enumerable of matching resources</returns>
|
||||
#if NET48
|
||||
public IEnumerable<byte[]> FindResourceByNamedType(string typeName)
|
||||
#else
|
||||
public IEnumerable<byte[]?> FindResourceByNamedType(string typeName)
|
||||
#endif
|
||||
{
|
||||
// Ensure that we have the resource data cached
|
||||
if (ResourceData == null)
|
||||
#if NET48
|
||||
return Enumerable.Empty<byte[]>();
|
||||
#else
|
||||
return Enumerable.Empty<byte[]?>();
|
||||
#endif
|
||||
|
||||
return ResourceData.Where(kvp => kvp.Key.Contains(typeName))
|
||||
.Select(kvp => kvp.Value as byte[])
|
||||
@@ -3243,11 +3319,19 @@ namespace BinaryObjectScanner.Wrappers
|
||||
/// </summary>
|
||||
/// <param name="value">String value to check for</param>
|
||||
/// <returns>Enumerable of matching resources</returns>
|
||||
#if NET48
|
||||
public IEnumerable<byte[]> FindGenericResource(string value)
|
||||
#else
|
||||
public IEnumerable<byte[]?> FindGenericResource(string value)
|
||||
#endif
|
||||
{
|
||||
// Ensure that we have the resource data cached
|
||||
if (ResourceData == null)
|
||||
#if NET48
|
||||
return Enumerable.Empty<byte[]>();
|
||||
#else
|
||||
return Enumerable.Empty<byte[]?>();
|
||||
#endif
|
||||
|
||||
return ResourceData.Select(r => r.Value)
|
||||
.Select(r => r as byte[])
|
||||
|
||||
@@ -39,7 +39,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region File List
|
||||
|
||||
/// <inheritdoc cref="Models.Quantum.Archive.FileList"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.Quantum.FileDescriptor[] FileList => _model.FileList;
|
||||
#else
|
||||
public SabreTools.Models.Quantum.FileDescriptor?[]? FileList => _model.FileList;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -30,7 +30,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
public ushort MinorVersion => _model.Header.MinorVersion;
|
||||
|
||||
/// <inheritdoc cref="Models.SGA.Header4.FileMD5"/>
|
||||
#if NET48
|
||||
public byte[] FileMD5
|
||||
#else
|
||||
public byte[]? FileMD5
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -44,7 +48,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
}
|
||||
|
||||
/// <inheritdoc cref="Models.SGA.Header4.Name"/>
|
||||
#if NET48
|
||||
public string Name
|
||||
#else
|
||||
public string? Name
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -60,7 +68,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
}
|
||||
|
||||
/// <inheritdoc cref="Models.SGA.Header4.HeaderMD5"/>
|
||||
#if NET48
|
||||
public byte[] HeaderMD5
|
||||
#else
|
||||
public byte[]? HeaderMD5
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -286,7 +298,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Sections
|
||||
|
||||
/// <inheritdoc cref="Models.SGA.SpecializedDirectory{THeader, TDirectoryHeader, TSection, TFolder, TFile, U}.Sections"/>
|
||||
#if NET48
|
||||
public object[] Sections
|
||||
#else
|
||||
public object?[]? Sections
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -306,7 +322,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Folders
|
||||
|
||||
/// <inheritdoc cref="Models.SGA.SpecializedDirectory{THeader, TDirectoryHeader, TSection, TFolder, TFile, U}.Folders"/>
|
||||
#if NET48
|
||||
public object[] Folders
|
||||
#else
|
||||
public object?[]? Folders
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -326,7 +346,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Files
|
||||
|
||||
/// <inheritdoc cref="Models.SGA.SpecializedDirectory{THeader, TDirectoryHeader, TSection, TFolder, TFile, U}.Files"/>
|
||||
#if NET48
|
||||
public object[] Files
|
||||
#else
|
||||
public object?[]? Files
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
@@ -22,7 +22,11 @@ namespace BinaryObjectScanner.Wrappers
|
||||
public int Version => _model.Header.Version;
|
||||
|
||||
/// <inheritdoc cref="Models.VBSP.File.Lumps"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.VBSP.Lump[] Lumps => _model.Header.Lumps;
|
||||
#else
|
||||
public SabreTools.Models.VBSP.Lump?[]? Lumps => _model.Header.Lumps;
|
||||
#endif
|
||||
|
||||
/// <inheritdoc cref="Models.VBSP.Header.MapRevision"/>
|
||||
public int MapRevision => _model.Header.MapRevision;
|
||||
|
||||
@@ -50,14 +50,22 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Archive Hashes
|
||||
|
||||
/// <inheritdoc cref="Models.VPK.ArchiveHashes"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.VPK.ArchiveHash[] ArchiveHashes => _model.ArchiveHashes;
|
||||
#else
|
||||
public SabreTools.Models.VPK.ArchiveHash?[]? ArchiveHashes => _model.ArchiveHashes;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Items
|
||||
|
||||
/// <inheritdoc cref="Models.VPK.DirectoryItems"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.VPK.DirectoryItem[] DirectoryItems => _model.DirectoryItems;
|
||||
#else
|
||||
public SabreTools.Models.VPK.DirectoryItem?[]? DirectoryItems => _model.DirectoryItems;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -30,14 +30,22 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Lumps
|
||||
|
||||
/// <inheritdoc cref="Models.WAD.File.Lumps"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.WAD.Lump[] Lumps => _model.Lumps;
|
||||
#else
|
||||
public SabreTools.Models.WAD.Lump?[]? Lumps => _model.Lumps;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Lump Infos
|
||||
|
||||
/// <inheritdoc cref="Models.WAD.File.LumpInfos"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.WAD.LumpInfo[] LumpInfos => _model.LumpInfos;
|
||||
#else
|
||||
public SabreTools.Models.WAD.LumpInfo?[]? LumpInfos => _model.LumpInfos;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -49,28 +49,44 @@ namespace BinaryObjectScanner.Wrappers
|
||||
#region Directory Entries
|
||||
|
||||
/// <inheritdoc cref="Models.XZP.DirectoryEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.XZP.DirectoryEntry[] DirectoryEntries => _model.DirectoryEntries;
|
||||
#else
|
||||
public SabreTools.Models.XZP.DirectoryEntry?[]? DirectoryEntries => _model.DirectoryEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Preload Directory Entries
|
||||
|
||||
/// <inheritdoc cref="Models.XZP.PreloadDirectoryEntries"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.XZP.DirectoryEntry[] PreloadDirectoryEntries => _model.PreloadDirectoryEntries;
|
||||
#else
|
||||
public SabreTools.Models.XZP.DirectoryEntry?[]? PreloadDirectoryEntries => _model.PreloadDirectoryEntries;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Preload Directory Entries
|
||||
|
||||
/// <inheritdoc cref="Models.XZP.PreloadDirectoryMappings"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.XZP.DirectoryMapping[] PreloadDirectoryMappings => _model.PreloadDirectoryMappings;
|
||||
#else
|
||||
public SabreTools.Models.XZP.DirectoryMapping?[]? PreloadDirectoryMappings => _model.PreloadDirectoryMappings;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Items
|
||||
|
||||
/// <inheritdoc cref="Models.XZP.DirectoryItems"/>
|
||||
#if NET48
|
||||
public SabreTools.Models.XZP.DirectoryItem[] DirectoryItems => _model.DirectoryItems;
|
||||
#else
|
||||
public SabreTools.Models.XZP.DirectoryItem?[]? DirectoryItems => _model.DirectoryItems;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
Reference in New Issue
Block a user