diff --git a/BurnOutSharp.Wrappers/NewExecutable.cs b/BurnOutSharp.Wrappers/NewExecutable.cs
index 9d474d09..6a74e1ab 100644
--- a/BurnOutSharp.Wrappers/NewExecutable.cs
+++ b/BurnOutSharp.Wrappers/NewExecutable.cs
@@ -1,4 +1,5 @@
-using System.IO;
+using System.Collections.Generic;
+using System.IO;
namespace BurnOutSharp.Wrappers
{
@@ -75,7 +76,127 @@ namespace BurnOutSharp.Wrappers
#endregion
- // TODO: Determine what properties can be passed through
+ #region Header
+
+ ///
+ public byte[] Magic => _executable.Header.Magic;
+
+ ///
+ public byte LinkerVersion => _executable.Header.LinkerVersion;
+
+ ///
+ public byte LinkerRevision => _executable.Header.LinkerRevision;
+
+ ///
+ public ushort EntryTableOffset => _executable.Header.EntryTableOffset;
+
+ ///
+ public ushort EntryTableSize => _executable.Header.EntryTableSize;
+
+ ///
+ public uint CrcChecksum => _executable.Header.CrcChecksum;
+
+ ///
+ public Models.NewExecutable.HeaderFlag FlagWord => _executable.Header.FlagWord;
+
+ ///
+ public ushort AutomaticDataSegmentNumber => _executable.Header.AutomaticDataSegmentNumber;
+
+ ///
+ public ushort InitialHeapAlloc => _executable.Header.InitialHeapAlloc;
+
+ ///
+ public ushort InitialStackAlloc => _executable.Header.InitialStackAlloc;
+
+ ///
+ public uint InitialCSIPSetting => _executable.Header.InitialCSIPSetting;
+
+ ///
+ public uint InitialSSSPSetting => _executable.Header.InitialSSSPSetting;
+
+ ///
+ public ushort FileSegmentCount => _executable.Header.FileSegmentCount;
+
+ ///
+ public ushort ModuleReferenceTableSize => _executable.Header.ModuleReferenceTableSize;
+
+ ///
+ public ushort NonResidentNameTableSize => _executable.Header.NonResidentNameTableSize;
+
+ ///
+ public ushort SegmentTableOffset => _executable.Header.SegmentTableOffset;
+
+ ///
+ public ushort ResourceTableOffset => _executable.Header.ResourceTableOffset;
+
+ ///
+ public ushort ResidentNameTableOffset => _executable.Header.ResidentNameTableOffset;
+
+ ///
+ public ushort ModuleReferenceTableOffset => _executable.Header.ModuleReferenceTableOffset;
+
+ ///
+ public ushort ImportedNamesTableOffset => _executable.Header.ImportedNamesTableOffset;
+
+ ///
+ public uint NonResidentNamesTableOffset => _executable.Header.NonResidentNamesTableOffset;
+
+ ///
+ public ushort MovableEntriesCount => _executable.Header.MovableEntriesCount;
+
+ ///
+ public ushort SegmentAlignmentShiftCount => _executable.Header.SegmentAlignmentShiftCount;
+
+ ///
+ public ushort ResourceEntriesCount => _executable.Header.ResourceEntriesCount;
+
+ ///
+ public Models.NewExecutable.OperatingSystem TargetOperatingSystem => _executable.Header.TargetOperatingSystem;
+
+ ///
+ public Models.NewExecutable.OS2Flag AdditionalFlags => _executable.Header.AdditionalFlags;
+
+ ///
+ public ushort ReturnThunkOffset => _executable.Header.ReturnThunkOffset;
+
+ ///
+ public ushort SegmentReferenceThunkOffset => _executable.Header.SegmentReferenceThunkOffset;
+
+ ///
+ public ushort MinCodeSwapAreaSize => _executable.Header.MinCodeSwapAreaSize;
+
+ ///
+ public byte WindowsSDKRevision => _executable.Header.WindowsSDKRevision;
+
+ ///
+ public byte WindowsSDKVersion => _executable.Header.WindowsSDKVersion;
+
+ #endregion
+
+ #region Tables
+
+ ///
+ public Models.NewExecutable.SegmentTableEntry[] SegmentTable => _executable.SegmentTable;
+
+ ///
+ public Models.NewExecutable.ResourceTable ResourceTable => _executable.ResourceTable;
+
+ ///
+ public Models.NewExecutable.ResidentNameTableEntry[] ResidentNameTable => _executable.ResidentNameTable;
+
+ ///
+ public Models.NewExecutable.ModuleReferenceTableEntry[] ModuleReferenceTable => _executable.ModuleReferenceTable;
+
+ ///
+ public Dictionary ImportedNameTable => _executable.ImportedNameTable;
+
+ ///
+ public Models.NewExecutable.EntryTableBundle[] EntryTable => _executable.EntryTable;
+
+ ///
+ public Models.NewExecutable.NonResidentNameTableEntry[] NonResidentNameTable => _executable.NonResidentNameTable;
+
+ #endregion
#endregion