mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-07-17 06:14:59 +00:00
Add hex to outputs for debugging
This commit is contained in:
@@ -203,8 +203,8 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Magic: {Magic}");
|
||||
Console.WriteLine($" Version: {Version}");
|
||||
Console.WriteLine($" Files: {Files}");
|
||||
Console.WriteLine($" Version: {Version} (0x{Version:X})");
|
||||
Console.WriteLine($" Files: {Files} (0x{Files:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -225,11 +225,11 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = FileTable[i];
|
||||
Console.WriteLine($" File Table Entry {i}");
|
||||
Console.WriteLine($" Name size = {entry.NameSize}");
|
||||
Console.WriteLine($" Name size = {entry.NameSize} (0x{entry.NameSize:X})");
|
||||
Console.WriteLine($" Name = {entry.Name}");
|
||||
Console.WriteLine($" Uncompressed size = {entry.UncompressedSize}");
|
||||
Console.WriteLine($" Offset = {entry.Offset}");
|
||||
Console.WriteLine($" Compressed Size = {entry.CompressedSize}");
|
||||
Console.WriteLine($" Uncompressed size = {entry.UncompressedSize} (0x{entry.UncompressedSize:X})");
|
||||
Console.WriteLine($" Offset = {entry.Offset} (0x{entry.Offset:X})");
|
||||
Console.WriteLine($" Compressed Size = {entry.CompressedSize} (0x{entry.CompressedSize:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -127,7 +127,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Version: {Version}");
|
||||
Console.WriteLine($" Version: {Version} (0x{Version:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -159,8 +159,8 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
|
||||
Console.WriteLine($" Lump {i}{specialLumpName}");
|
||||
Console.WriteLine($" Offset: {lump.Offset}");
|
||||
Console.WriteLine($" Length: {lump.Length}");
|
||||
Console.WriteLine($" Offset: {lump.Offset} (0x{lump.Offset:X})");
|
||||
Console.WriteLine($" Length: {lump.Length} (0x{lump.Length:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -174,7 +174,11 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Texture Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Texture count: {TextureCount}");
|
||||
Console.WriteLine($" Offsets: {string.Join(", ", Offsets)}");
|
||||
Console.WriteLine($" Offsets:");
|
||||
for (int i = 0; i < Offsets.Length; i++)
|
||||
{
|
||||
Console.WriteLine($" Offset {i}: {Offsets[i]} (0x{Offsets[i]:X})");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -196,11 +200,15 @@ namespace BurnOutSharp.Wrappers
|
||||
var texture = Textures[i];
|
||||
Console.WriteLine($" Texture {i}");
|
||||
Console.WriteLine($" Name: {texture.Name}");
|
||||
Console.WriteLine($" Width: {texture.Width}");
|
||||
Console.WriteLine($" Height: {texture.Height}");
|
||||
Console.WriteLine($" Offsets: {string.Join(", ", texture.Offsets)}");
|
||||
Console.WriteLine($" Width: {texture.Width} (0x{texture.Width:X})");
|
||||
Console.WriteLine($" Height: {texture.Height} (0x{texture.Height:X})");
|
||||
Console.WriteLine($" Offsets:");
|
||||
for (int j = 0; j < texture.Offsets.Length; j++)
|
||||
{
|
||||
Console.WriteLine($" Offset {j}: {Offsets[i]} (0x{texture.Offsets[j]:X})");
|
||||
}
|
||||
// Skip texture data
|
||||
Console.WriteLine($" Palette size: {texture.PaletteSize}");
|
||||
Console.WriteLine($" Palette size: {texture.PaletteSize} (0x{texture.PaletteSize:X})");
|
||||
// Skip palette data
|
||||
}
|
||||
}
|
||||
|
||||
@@ -364,27 +364,27 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" File Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Signature: {Signature} (0x{Signature:X})");
|
||||
Console.WriteLine($" CLSID: {CLSID}");
|
||||
Console.WriteLine($" Minor version: {MinorVersion}");
|
||||
Console.WriteLine($" Major version: {MajorVersion}");
|
||||
Console.WriteLine($" Byte order: {ByteOrder}");
|
||||
Console.WriteLine($" Sector shift: {SectorShift} [{(long)Math.Pow(2, SectorShift)}]");
|
||||
Console.WriteLine($" Mini sector shift: {MiniSectorShift} [{(long)Math.Pow(2, MiniSectorShift)}]");
|
||||
Console.WriteLine($" Minor version: {MinorVersion} (0x{MinorVersion:X})");
|
||||
Console.WriteLine($" Major version: {MajorVersion} (0x{MajorVersion:X})");
|
||||
Console.WriteLine($" Byte order: {ByteOrder} (0x{ByteOrder:X})");
|
||||
Console.WriteLine($" Sector shift: {SectorShift} (0x{SectorShift:X}) => {SectorSize}");
|
||||
Console.WriteLine($" Mini sector shift: {MiniSectorShift} (0x{MiniSectorShift:X}) => {MiniSectorSize}");
|
||||
Console.WriteLine($" Reserved: {BitConverter.ToString(Reserved).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Number of directory sectors: {NumberOfDirectorySectors}");
|
||||
Console.WriteLine($" Number of FAT sectors: {NumberOfFATSectors}");
|
||||
Console.WriteLine($" First directory sector location: {FirstDirectorySectorLocation}");
|
||||
Console.WriteLine($" Transaction signature number: {TransactionSignatureNumber}");
|
||||
Console.WriteLine($" Mini stream cutoff size: {MiniStreamCutoffSize}");
|
||||
Console.WriteLine($" First mini FAT sector location: {FirstMiniFATSectorLocation}");
|
||||
Console.WriteLine($" Number of mini FAT sectors: {NumberOfMiniFATSectors}");
|
||||
Console.WriteLine($" First DIFAT sector location: {FirstDIFATSectorLocation}");
|
||||
Console.WriteLine($" Number of DIFAT sectors: {NumberOfDIFATSectors}");
|
||||
Console.WriteLine($" Number of directory sectors: {NumberOfDirectorySectors} (0x{NumberOfDirectorySectors:X})");
|
||||
Console.WriteLine($" Number of FAT sectors: {NumberOfFATSectors} (0x{NumberOfFATSectors:X})");
|
||||
Console.WriteLine($" First directory sector location: {FirstDirectorySectorLocation} (0x{FirstDirectorySectorLocation:X})");
|
||||
Console.WriteLine($" Transaction signature number: {TransactionSignatureNumber} (0x{TransactionSignatureNumber:X})");
|
||||
Console.WriteLine($" Mini stream cutoff size: {MiniStreamCutoffSize} (0x{MiniStreamCutoffSize:X})");
|
||||
Console.WriteLine($" First mini FAT sector location: {FirstMiniFATSectorLocation} (0x{FirstMiniFATSectorLocation:X})");
|
||||
Console.WriteLine($" Number of mini FAT sectors: {NumberOfMiniFATSectors} (0x{NumberOfMiniFATSectors:X})");
|
||||
Console.WriteLine($" First DIFAT sector location: {FirstDIFATSectorLocation} (0x{FirstDIFATSectorLocation:X})");
|
||||
Console.WriteLine($" Number of DIFAT sectors: {NumberOfDIFATSectors} (0x{NumberOfDIFATSectors:X})");
|
||||
Console.WriteLine($" DIFAT:");
|
||||
for (int i = 0; i < DIFAT.Length; i++)
|
||||
{
|
||||
Console.WriteLine($" DIFAT Entry {i}: {DIFAT[i]}");
|
||||
Console.WriteLine($" DIFAT Entry {i}: {DIFAT[i]} (0x{DIFAT[i]:X})");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
@@ -404,7 +404,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
for (int i = 0; i < FATSectorNumbers.Length; i++)
|
||||
{
|
||||
Console.WriteLine($" FAT Sector Entry {i}: {FATSectorNumbers[i]}");
|
||||
Console.WriteLine($" FAT Sector Entry {i}: {FATSectorNumbers[i]} (0x{FATSectorNumbers[i]:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -425,7 +425,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
for (int i = 0; i < MiniFATSectorNumbers.Length; i++)
|
||||
{
|
||||
Console.WriteLine($" Mini FAT Sector Entry {i}: {MiniFATSectorNumbers[i]}");
|
||||
Console.WriteLine($" Mini FAT Sector Entry {i}: {MiniFATSectorNumbers[i]} (0x{MiniFATSectorNumbers[i]:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -446,7 +446,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
for (int i = 0; i < DIFATSectorNumbers.Length; i++)
|
||||
{
|
||||
Console.WriteLine($" DIFAT Sector Entry {i}: {DIFATSectorNumbers[i]}");
|
||||
Console.WriteLine($" DIFAT Sector Entry {i}: {DIFATSectorNumbers[i]} (0x{DIFATSectorNumbers[i]:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -470,18 +470,18 @@ namespace BurnOutSharp.Wrappers
|
||||
var directoryEntry = DirectoryEntries[i];
|
||||
Console.WriteLine($" Directory Entry {i}");
|
||||
Console.WriteLine($" Name: {directoryEntry.Name}");
|
||||
Console.WriteLine($" Name length: {directoryEntry.NameLength}");
|
||||
Console.WriteLine($" Object type: {directoryEntry.ObjectType}");
|
||||
Console.WriteLine($" Color flag: {directoryEntry.ColorFlag}");
|
||||
Console.WriteLine($" Left sibling ID: {directoryEntry.LeftSiblingID}");
|
||||
Console.WriteLine($" Right sibling ID: {directoryEntry.RightSiblingID}");
|
||||
Console.WriteLine($" Child ID: {directoryEntry.ChildID}");
|
||||
Console.WriteLine($" Name length: {directoryEntry.NameLength} (0x{directoryEntry.NameLength:X})");
|
||||
Console.WriteLine($" Object type: {directoryEntry.ObjectType} (0x{directoryEntry.ObjectType:X})");
|
||||
Console.WriteLine($" Color flag: {directoryEntry.ColorFlag} (0x{directoryEntry.ColorFlag:X})");
|
||||
Console.WriteLine($" Left sibling ID: {directoryEntry.LeftSiblingID} (0x{directoryEntry.LeftSiblingID:X})");
|
||||
Console.WriteLine($" Right sibling ID: {directoryEntry.RightSiblingID} (0x{directoryEntry.RightSiblingID:X})");
|
||||
Console.WriteLine($" Child ID: {directoryEntry.ChildID} (0x{directoryEntry.ChildID:X})");
|
||||
Console.WriteLine($" CLSID: {directoryEntry.CLSID}");
|
||||
Console.WriteLine($" State bits: {directoryEntry.StateBits}");
|
||||
Console.WriteLine($" Creation time: {directoryEntry.CreationTime}");
|
||||
Console.WriteLine($" Modification time: {directoryEntry.ModifiedTime}");
|
||||
Console.WriteLine($" Staring sector location: {directoryEntry.StartingSectorLocation}");
|
||||
Console.WriteLine($" Stream size: {directoryEntry.StreamSize}");
|
||||
Console.WriteLine($" State bits: {directoryEntry.StateBits} (0x{directoryEntry.StateBits:X})");
|
||||
Console.WriteLine($" Creation time: {directoryEntry.CreationTime} (0x{directoryEntry.CreationTime:X})");
|
||||
Console.WriteLine($" Modification time: {directoryEntry.ModifiedTime} (0x{directoryEntry.ModifiedTime:X})");
|
||||
Console.WriteLine($" Staring sector location: {directoryEntry.StartingSectorLocation} (0x{directoryEntry.StartingSectorLocation:X})");
|
||||
Console.WriteLine($" Stream size: {directoryEntry.StreamSize} (0x{directoryEntry.StreamSize:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -339,14 +339,14 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" CIA Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Header size: {HeaderSize}");
|
||||
Console.WriteLine($" Type: {Type}");
|
||||
Console.WriteLine($" Version: {Version}");
|
||||
Console.WriteLine($" Certificate chain size: {CertificateChainSize}");
|
||||
Console.WriteLine($" Ticket size: {TicketSize}");
|
||||
Console.WriteLine($" TMD file size: {TMDFileSize}");
|
||||
Console.WriteLine($" Meta size: {MetaSize}");
|
||||
Console.WriteLine($" Content size: {ContentSize}");
|
||||
Console.WriteLine($" Header size: {HeaderSize} (0x{HeaderSize:X})");
|
||||
Console.WriteLine($" Type: {Type} (0x{Type:X})");
|
||||
Console.WriteLine($" Version: {Version} (0x{Version:X})");
|
||||
Console.WriteLine($" Certificate chain size: {CertificateChainSize} (0x{CertificateChainSize:X})");
|
||||
Console.WriteLine($" Ticket size: {TicketSize} (0x{TicketSize:X})");
|
||||
Console.WriteLine($" TMD file size: {TMDFileSize} (0x{TMDFileSize:X})");
|
||||
Console.WriteLine($" Meta size: {MetaSize} (0x{MetaSize:X})");
|
||||
Console.WriteLine($" Content size: {ContentSize} (0x{ContentSize:X})");
|
||||
Console.WriteLine($" Content index: {BitConverter.ToString(ContentIndex).Replace('-', ' ')}");
|
||||
Console.WriteLine();
|
||||
}
|
||||
@@ -377,21 +377,21 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
|
||||
Console.WriteLine($" Certificate {i}{certificateName}");
|
||||
Console.WriteLine($" Signature type: {certificate.SignatureType}");
|
||||
Console.WriteLine($" Signature size: {certificate.SignatureSize}");
|
||||
Console.WriteLine($" Padding size: {certificate.PaddingSize}");
|
||||
Console.WriteLine($" Signature type: {certificate.SignatureType} (0x{certificate.SignatureType:X})");
|
||||
Console.WriteLine($" Signature size: {certificate.SignatureSize} (0x{certificate.SignatureSize:X})");
|
||||
Console.WriteLine($" Padding size: {certificate.PaddingSize} (0x{certificate.PaddingSize:X})");
|
||||
Console.WriteLine($" Signature: {BitConverter.ToString(certificate.Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Padding: {BitConverter.ToString(certificate.Padding).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Issuer: {certificate.Issuer ?? "[NULL]"}");
|
||||
Console.WriteLine($" Key type: {certificate.KeyType}");
|
||||
Console.WriteLine($" Key type: {certificate.KeyType} (0x{certificate.KeyType:X})");
|
||||
Console.WriteLine($" Name: {certificate.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Expiration time: {certificate.ExpirationTime}");
|
||||
Console.WriteLine($" Expiration time: {certificate.ExpirationTime} (0x{certificate.ExpirationTime:X})");
|
||||
switch (certificate.KeyType)
|
||||
{
|
||||
case Models.N3DS.PublicKeyType.RSA_4096:
|
||||
case Models.N3DS.PublicKeyType.RSA_2048:
|
||||
Console.WriteLine($" Modulus: {BitConverter.ToString(certificate.RSAModulus).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Public exponent: {certificate.RSAPublicExponent}");
|
||||
Console.WriteLine($" Public exponent: {certificate.RSAPublicExponent} (0x{certificate.RSAPublicExponent:X})");
|
||||
Console.WriteLine($" Padding: {BitConverter.ToString(certificate.RSAPadding).Replace('-', ' ')}");
|
||||
break;
|
||||
case Models.N3DS.PublicKeyType.EllipticCurve:
|
||||
@@ -411,33 +411,37 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Ticket Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature type: {T_SignatureType}");
|
||||
Console.WriteLine($" Signature size: {T_SignatureSize}");
|
||||
Console.WriteLine($" Padding size: {T_PaddingSize}");
|
||||
Console.WriteLine($" Signature type: {T_SignatureType} (0x{T_SignatureType:X})");
|
||||
Console.WriteLine($" Signature size: {T_SignatureSize} (0x{T_SignatureSize:X})");
|
||||
Console.WriteLine($" Padding size: {T_PaddingSize} (0x{T_PaddingSize:X})");
|
||||
Console.WriteLine($" Signature: {BitConverter.ToString(T_Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Padding: {BitConverter.ToString(T_Padding).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Issuer: {T_Issuer ?? "[NULL]"}");
|
||||
Console.WriteLine($" ECC public key: {BitConverter.ToString(T_ECCPublicKey).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Version: {T_Version}");
|
||||
Console.WriteLine($" CaCrlVersion: {T_CaCrlVersion}");
|
||||
Console.WriteLine($" SignerCrlVersion: {T_SignerCrlVersion}");
|
||||
Console.WriteLine($" Version: {T_Version} (0x{T_Version:X})");
|
||||
Console.WriteLine($" CaCrlVersion: {T_CaCrlVersion} (0x{T_CaCrlVersion:X})");
|
||||
Console.WriteLine($" SignerCrlVersion: {T_SignerCrlVersion} (0x{T_SignerCrlVersion:X})");
|
||||
Console.WriteLine($" Title key: {BitConverter.ToString(T_TitleKey).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Reserved 1: {T_Reserved1}");
|
||||
Console.WriteLine($" Ticket ID: {T_TicketID}");
|
||||
Console.WriteLine($" Console ID: {T_ConsoleID}");
|
||||
Console.WriteLine($" Title ID {T_TitleID}");
|
||||
Console.WriteLine($" Reserved 1: {T_Reserved1} (0x{T_Reserved1:X})");
|
||||
Console.WriteLine($" Ticket ID: {T_TicketID} (0x{T_TicketID:X})");
|
||||
Console.WriteLine($" Console ID: {T_ConsoleID} (0x{T_ConsoleID:X})");
|
||||
Console.WriteLine($" Title ID {T_TitleID} (0x{T_TitleID:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(T_Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Ticket title version: {T_TicketTitleVersion}");
|
||||
Console.WriteLine($" Ticket title version: {T_TicketTitleVersion} (0x{T_TicketTitleVersion:X})");
|
||||
Console.WriteLine($" Reserved 3: {BitConverter.ToString(T_Reserved3).Replace('-', ' ')}");
|
||||
Console.WriteLine($" License type: {T_LicenseType}");
|
||||
Console.WriteLine($" Common keY index: {T_CommonKeyYIndex}");
|
||||
Console.WriteLine($" License type: {T_LicenseType} (0x{T_LicenseType:X})");
|
||||
Console.WriteLine($" Common keY index: {T_CommonKeyYIndex} (0x{T_CommonKeyYIndex:X})");
|
||||
Console.WriteLine($" Reserved 4: {BitConverter.ToString(T_Reserved4).Replace('-', ' ')}");
|
||||
Console.WriteLine($" eShop Account ID?: {T_eShopAccountID}");
|
||||
Console.WriteLine($" Reserved 5: {T_Reserved5}");
|
||||
Console.WriteLine($" Audit: {T_Audit}");
|
||||
Console.WriteLine($" eShop Account ID?: {T_eShopAccountID} (0x{T_eShopAccountID:X})");
|
||||
Console.WriteLine($" Reserved 5: {T_Reserved5} (0x{T_Reserved5:X})");
|
||||
Console.WriteLine($" Audit: {T_Audit} (0x{T_Audit:X})");
|
||||
Console.WriteLine($" Reserved 6: {BitConverter.ToString(T_Reserved6).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Limits: {string.Join(", ", T_Limits)}");
|
||||
Console.WriteLine($" Content index size: {T_ContentIndexSize}");
|
||||
Console.WriteLine($" Limits:");
|
||||
for (int i = 0; i < T_Limits.Length; i++)
|
||||
{
|
||||
Console.WriteLine($" Limit {i}: {T_Limits[i]} (0x{T_Limits[i]:X})");
|
||||
}
|
||||
Console.WriteLine($" Content index size: {T_ContentIndexSize} (0x{T_ContentIndexSize:X})");
|
||||
Console.WriteLine($" Content index: {BitConverter.ToString(T_ContentIndex).Replace('-', ' ')}");
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -461,21 +465,21 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
|
||||
Console.WriteLine($" Certificate {i}{certificateName}");
|
||||
Console.WriteLine($" Signature type: {certificate.SignatureType}");
|
||||
Console.WriteLine($" Signature size: {certificate.SignatureSize}");
|
||||
Console.WriteLine($" Padding size: {certificate.PaddingSize}");
|
||||
Console.WriteLine($" Signature type: {certificate.SignatureType} (0x{certificate.SignatureType:X})");
|
||||
Console.WriteLine($" Signature size: {certificate.SignatureSize} (0x{certificate.SignatureSize:X})");
|
||||
Console.WriteLine($" Padding size: {certificate.PaddingSize} (0x{certificate.PaddingSize:X})");
|
||||
Console.WriteLine($" Signature: {BitConverter.ToString(certificate.Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Padding: {BitConverter.ToString(certificate.Padding).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Issuer: {certificate.Issuer ?? "[NULL]"}");
|
||||
Console.WriteLine($" Key type: {certificate.KeyType}");
|
||||
Console.WriteLine($" Key type: {certificate.KeyType} (0x{certificate.KeyType:X})");
|
||||
Console.WriteLine($" Name: {certificate.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Expiration time: {certificate.ExpirationTime}");
|
||||
Console.WriteLine($" Expiration time: {certificate.ExpirationTime} (0x{certificate.ExpirationTime:X})");
|
||||
switch (certificate.KeyType)
|
||||
{
|
||||
case Models.N3DS.PublicKeyType.RSA_4096:
|
||||
case Models.N3DS.PublicKeyType.RSA_2048:
|
||||
Console.WriteLine($" Modulus: {BitConverter.ToString(certificate.RSAModulus).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Public exponent: {certificate.RSAPublicExponent}");
|
||||
Console.WriteLine($" Public exponent: {certificate.RSAPublicExponent} (0x{certificate.RSAPublicExponent:X})");
|
||||
Console.WriteLine($" Padding: {BitConverter.ToString(certificate.RSAPadding).Replace('-', ' ')}");
|
||||
break;
|
||||
case Models.N3DS.PublicKeyType.EllipticCurve:
|
||||
@@ -495,29 +499,29 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Title Metadata Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature type: {TMD_SignatureType}");
|
||||
Console.WriteLine($" Signature size: {TMD_SignatureSize}");
|
||||
Console.WriteLine($" Padding size: {TMD_PaddingSize}");
|
||||
Console.WriteLine($" Signature type: {TMD_SignatureType} (0x{TMD_SignatureType:X})");
|
||||
Console.WriteLine($" Signature size: {TMD_SignatureSize} (0x{TMD_SignatureSize:X})");
|
||||
Console.WriteLine($" Padding size: {TMD_PaddingSize} (0x{TMD_PaddingSize:X})");
|
||||
Console.WriteLine($" Signature: {BitConverter.ToString(TMD_Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Padding 1: {BitConverter.ToString(TMD_Padding1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Issuer: {TMD_Issuer ?? "[NULL]"}");
|
||||
Console.WriteLine($" Version: {TMD_Version}");
|
||||
Console.WriteLine($" CaCrlVersion: {TMD_CaCrlVersion}");
|
||||
Console.WriteLine($" SignerCrlVersion: {TMD_SignerCrlVersion}");
|
||||
Console.WriteLine($" Reserved 1: {TMD_Reserved1}");
|
||||
Console.WriteLine($" System version: {TMD_SystemVersion}");
|
||||
Console.WriteLine($" Title ID: {TMD_TitleID}");
|
||||
Console.WriteLine($" Title type: {TMD_TitleType}");
|
||||
Console.WriteLine($" Group ID: {TMD_GroupID}");
|
||||
Console.WriteLine($" Save data size: {TMD_SaveDataSize}");
|
||||
Console.WriteLine($" SRL private save data size: {TMD_SRLPrivateSaveDataSize}");
|
||||
Console.WriteLine($" Version: {TMD_Version} (0x{TMD_Version:X})");
|
||||
Console.WriteLine($" CaCrlVersion: {TMD_CaCrlVersion} (0x{TMD_CaCrlVersion:X})");
|
||||
Console.WriteLine($" SignerCrlVersion: {TMD_SignerCrlVersion} (0x{TMD_SignerCrlVersion:X})");
|
||||
Console.WriteLine($" Reserved 1: {TMD_Reserved1} (0x{TMD_Reserved1:X})");
|
||||
Console.WriteLine($" System version: {TMD_SystemVersion} (0x{TMD_SystemVersion:X})");
|
||||
Console.WriteLine($" Title ID: {TMD_TitleID} (0x{TMD_TitleID:X})");
|
||||
Console.WriteLine($" Title type: {TMD_TitleType} (0x{TMD_TitleType:X})");
|
||||
Console.WriteLine($" Group ID: {TMD_GroupID} (0x{TMD_GroupID:X})");
|
||||
Console.WriteLine($" Save data size: {TMD_SaveDataSize} (0x{TMD_SaveDataSize:X})");
|
||||
Console.WriteLine($" SRL private save data size: {TMD_SRLPrivateSaveDataSize} (0x{TMD_SRLPrivateSaveDataSize:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(TMD_Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" SRL flag: {TMD_SRLFlag}");
|
||||
Console.WriteLine($" SRL flag: {TMD_SRLFlag} (0x{TMD_SRLFlag:X})");
|
||||
Console.WriteLine($" Reserved 3: {BitConverter.ToString(TMD_Reserved3).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Access rights: {TMD_AccessRights}");
|
||||
Console.WriteLine($" Title version: {TMD_TitleVersion}");
|
||||
Console.WriteLine($" Content count: {TMD_ContentCount}");
|
||||
Console.WriteLine($" Boot content: {TMD_BootContent}");
|
||||
Console.WriteLine($" Access rights: {TMD_AccessRights} (0x{TMD_AccessRights:X})");
|
||||
Console.WriteLine($" Title version: {TMD_TitleVersion} (0x{TMD_TitleVersion:X})");
|
||||
Console.WriteLine($" Content count: {TMD_ContentCount} (0x{TMD_ContentCount:X})");
|
||||
Console.WriteLine($" Boot content: {TMD_BootContent} (0x{TMD_BootContent:X})");
|
||||
Console.WriteLine($" Padding 2: {BitConverter.ToString(TMD_Padding2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" SHA-256 hash of the content info records: {BitConverter.ToString(TMD_SHA256HashContentInfoRecords).Replace('-', ' ')}");
|
||||
Console.WriteLine();
|
||||
@@ -534,8 +538,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var contentInfoRecord = TMD_ContentInfoRecords[i];
|
||||
Console.WriteLine($" Content Info Record {i}");
|
||||
Console.WriteLine($" Content index offset: {contentInfoRecord.ContentIndexOffset}");
|
||||
Console.WriteLine($" Content command count: {contentInfoRecord.ContentCommandCount}");
|
||||
Console.WriteLine($" Content index offset: {contentInfoRecord.ContentIndexOffset} (0x{contentInfoRecord.ContentIndexOffset:X})");
|
||||
Console.WriteLine($" Content command count: {contentInfoRecord.ContentCommandCount} (0x{contentInfoRecord.ContentCommandCount:X})");
|
||||
Console.WriteLine($" SHA-256 hash of the next {contentInfoRecord.ContentCommandCount} records not hashed: {BitConverter.ToString(contentInfoRecord.UnhashedContentRecordsSHA256Hash).Replace('-', ' ')}");
|
||||
}
|
||||
}
|
||||
@@ -553,10 +557,10 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var contentChunkRecord = TMD_ContentChunkRecords[i];
|
||||
Console.WriteLine($" Content Chunk Record {i}");
|
||||
Console.WriteLine($" Content ID: {contentChunkRecord.ContentId}");
|
||||
Console.WriteLine($" Content index: {contentChunkRecord.ContentIndex}");
|
||||
Console.WriteLine($" Content type: {contentChunkRecord.ContentType}");
|
||||
Console.WriteLine($" Content size: {contentChunkRecord.ContentSize}");
|
||||
Console.WriteLine($" Content ID: {contentChunkRecord.ContentId} (0x{contentChunkRecord.ContentId:X})");
|
||||
Console.WriteLine($" Content index: {contentChunkRecord.ContentIndex} (0x{contentChunkRecord.ContentIndex:X})");
|
||||
Console.WriteLine($" Content type: {contentChunkRecord.ContentType} (0x{contentChunkRecord.ContentType:X})");
|
||||
Console.WriteLine($" Content size: {contentChunkRecord.ContentSize} (0x{contentChunkRecord.ContentSize:X})");
|
||||
Console.WriteLine($" SHA-256 hash: {BitConverter.ToString(contentChunkRecord.SHA256Hash).Replace('-', ' ')}");
|
||||
}
|
||||
}
|
||||
@@ -582,21 +586,21 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
|
||||
Console.WriteLine($" Certificate {i}{certificateName}");
|
||||
Console.WriteLine($" Signature type: {certificate.SignatureType}");
|
||||
Console.WriteLine($" Signature size: {certificate.SignatureSize}");
|
||||
Console.WriteLine($" Padding size: {certificate.PaddingSize}");
|
||||
Console.WriteLine($" Signature type: {certificate.SignatureType} (0x{certificate.SignatureType:X})");
|
||||
Console.WriteLine($" Signature size: {certificate.SignatureSize} (0x{certificate.SignatureSize:X})");
|
||||
Console.WriteLine($" Padding size: {certificate.PaddingSize} (0x{certificate.PaddingSize:X})");
|
||||
Console.WriteLine($" Signature: {BitConverter.ToString(certificate.Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Padding: {BitConverter.ToString(certificate.Padding).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Issuer: {certificate.Issuer ?? "[NULL]"}");
|
||||
Console.WriteLine($" Key type: {certificate.KeyType}");
|
||||
Console.WriteLine($" Key type: {certificate.KeyType} (0x{certificate.KeyType:X})");
|
||||
Console.WriteLine($" Name: {certificate.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Expiration time: {certificate.ExpirationTime}");
|
||||
Console.WriteLine($" Expiration time: {certificate.ExpirationTime} (0x{certificate.ExpirationTime:X})");
|
||||
switch (certificate.KeyType)
|
||||
{
|
||||
case Models.N3DS.PublicKeyType.RSA_4096:
|
||||
case Models.N3DS.PublicKeyType.RSA_2048:
|
||||
Console.WriteLine($" Modulus: {BitConverter.ToString(certificate.RSAModulus).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Public exponent: {certificate.RSAPublicExponent}");
|
||||
Console.WriteLine($" Public exponent: {certificate.RSAPublicExponent} (0x{certificate.RSAPublicExponent:X})");
|
||||
Console.WriteLine($" Padding: {BitConverter.ToString(certificate.RSAPadding).Replace('-', ' ')}");
|
||||
break;
|
||||
case Models.N3DS.PublicKeyType.EllipticCurve:
|
||||
@@ -637,39 +641,39 @@ namespace BurnOutSharp.Wrappers
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" RSA-2048 SHA-256 signature: {BitConverter.ToString(partitionHeader.RSA2048Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Magic ID: {partitionHeader.MagicID}");
|
||||
Console.WriteLine($" Content size in media units: {partitionHeader.ContentSizeInMediaUnits}");
|
||||
Console.WriteLine($" Partition ID: {partitionHeader.PartitionId}");
|
||||
Console.WriteLine($" Maker code: {partitionHeader.MakerCode}");
|
||||
Console.WriteLine($" Version: {partitionHeader.Version}");
|
||||
Console.WriteLine($" Verification hash: {partitionHeader.VerificationHash}");
|
||||
Console.WriteLine($" Magic ID: {partitionHeader.MagicID} (0x{partitionHeader.MagicID:X})");
|
||||
Console.WriteLine($" Content size in media units: {partitionHeader.ContentSizeInMediaUnits} (0x{partitionHeader.ContentSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Partition ID: {partitionHeader.PartitionId} (0x{partitionHeader.PartitionId:X})");
|
||||
Console.WriteLine($" Maker code: {partitionHeader.MakerCode} (0x{partitionHeader.MakerCode:X})");
|
||||
Console.WriteLine($" Version: {partitionHeader.Version} (0x{partitionHeader.Version:X})");
|
||||
Console.WriteLine($" Verification hash: {partitionHeader.VerificationHash} (0x{partitionHeader.VerificationHash:X})");
|
||||
Console.WriteLine($" Program ID: {BitConverter.ToString(partitionHeader.ProgramId).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(partitionHeader.Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Logo region SHA-256 hash: {BitConverter.ToString(partitionHeader.LogoRegionHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Product code: {partitionHeader.ProductCode}");
|
||||
Console.WriteLine($" Product code: {partitionHeader.ProductCode} (0x{partitionHeader.ProductCode:X})");
|
||||
Console.WriteLine($" Extended header SHA-256 hash: {BitConverter.ToString(partitionHeader.ExtendedHeaderHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Extended header size in bytes: {partitionHeader.ExtendedHeaderSizeInBytes}");
|
||||
Console.WriteLine($" Extended header size in bytes: {partitionHeader.ExtendedHeaderSizeInBytes} (0x{partitionHeader.ExtendedHeaderSizeInBytes:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(partitionHeader.Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine(" Flags:");
|
||||
Console.WriteLine($" Reserved 0: {partitionHeader.Flags.Reserved0}");
|
||||
Console.WriteLine($" Reserved 1: {partitionHeader.Flags.Reserved1}");
|
||||
Console.WriteLine($" Reserved 2: {partitionHeader.Flags.Reserved2}");
|
||||
Console.WriteLine($" Crypto method: {partitionHeader.Flags.CryptoMethod}");
|
||||
Console.WriteLine($" Content platform: {partitionHeader.Flags.ContentPlatform}");
|
||||
Console.WriteLine($" Content type: {partitionHeader.Flags.MediaPlatformIndex}");
|
||||
Console.WriteLine($" Content unit size: {partitionHeader.Flags.ContentUnitSize}");
|
||||
Console.WriteLine($" Bitmasks: {partitionHeader.Flags.BitMasks}");
|
||||
Console.WriteLine($" Plain region offset, in media units: {partitionHeader.PlainRegionOffsetInMediaUnits}");
|
||||
Console.WriteLine($" Plain region size, in media units: {partitionHeader.PlainRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" Logo region offset, in media units: {partitionHeader.LogoRegionOffsetInMediaUnits}");
|
||||
Console.WriteLine($" Logo region size, in media units: {partitionHeader.LogoRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS offset, in media units: {partitionHeader.ExeFSOffsetInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS size, in media units: {partitionHeader.ExeFSSizeInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS hash region size, in media units: {partitionHeader.ExeFSHashRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" Reserved 0: {partitionHeader.Flags.Reserved0} (0x{partitionHeader.Flags.Reserved0:X})");
|
||||
Console.WriteLine($" Reserved 1: {partitionHeader.Flags.Reserved1} (0x{partitionHeader.Flags.Reserved1:X})");
|
||||
Console.WriteLine($" Reserved 2: {partitionHeader.Flags.Reserved2} (0x{partitionHeader.Flags.Reserved2:X})");
|
||||
Console.WriteLine($" Crypto method: {partitionHeader.Flags.CryptoMethod} (0x{partitionHeader.Flags.CryptoMethod:X})");
|
||||
Console.WriteLine($" Content platform: {partitionHeader.Flags.ContentPlatform} (0x{partitionHeader.Flags.ContentPlatform:X})");
|
||||
Console.WriteLine($" Content type: {partitionHeader.Flags.MediaPlatformIndex} (0x{partitionHeader.Flags.MediaPlatformIndex:X})");
|
||||
Console.WriteLine($" Content unit size: {partitionHeader.Flags.ContentUnitSize} (0x{partitionHeader.Flags.ContentUnitSize:X})");
|
||||
Console.WriteLine($" Bitmasks: {partitionHeader.Flags.BitMasks} (0x{partitionHeader.Flags.BitMasks:X})");
|
||||
Console.WriteLine($" Plain region offset, in media units: {partitionHeader.PlainRegionOffsetInMediaUnits} (0x{partitionHeader.PlainRegionOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" Plain region size, in media units: {partitionHeader.PlainRegionSizeInMediaUnits} (0x{partitionHeader.PlainRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Logo region offset, in media units: {partitionHeader.LogoRegionOffsetInMediaUnits} (0x{partitionHeader.LogoRegionOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" Logo region size, in media units: {partitionHeader.LogoRegionSizeInMediaUnits} (0x{partitionHeader.LogoRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS offset, in media units: {partitionHeader.ExeFSOffsetInMediaUnits} (0x{partitionHeader.ExeFSOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS size, in media units: {partitionHeader.ExeFSSizeInMediaUnits} (0x{partitionHeader.ExeFSSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS hash region size, in media units: {partitionHeader.ExeFSHashRegionSizeInMediaUnits} (0x{partitionHeader.ExeFSHashRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Reserved 3: {BitConverter.ToString(partitionHeader.Reserved3).Replace('-', ' ')}");
|
||||
Console.WriteLine($" RomFS offset, in media units: {partitionHeader.RomFSOffsetInMediaUnits}");
|
||||
Console.WriteLine($" RomFS size, in media units: {partitionHeader.RomFSSizeInMediaUnits}");
|
||||
Console.WriteLine($" RomFS hash region size, in media units: {partitionHeader.RomFSHashRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" RomFS offset, in media units: {partitionHeader.RomFSOffsetInMediaUnits} (0x{partitionHeader.RomFSOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" RomFS size, in media units: {partitionHeader.RomFSSizeInMediaUnits} (0x{partitionHeader.RomFSSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" RomFS hash region size, in media units: {partitionHeader.RomFSHashRegionSizeInMediaUnits} (0x{partitionHeader.RomFSHashRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Reserved 4: {BitConverter.ToString(partitionHeader.Reserved4).Replace('-', ' ')}");
|
||||
Console.WriteLine($" ExeFS superblock SHA-256 hash: {BitConverter.ToString(partitionHeader.ExeFSSuperblockHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" RomFS superblock SHA-256 hash: {BitConverter.ToString(partitionHeader.RomFSSuperblockHash).Replace('-', ' ')}");
|
||||
@@ -694,7 +698,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(value: $" Title ID dependency list: {BitConverter.ToString(MD_TitleIDDependencyList).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(MD_Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Core version: {MD_CoreVersion}");
|
||||
Console.WriteLine($" Core version: {MD_CoreVersion} (0x{MD_CoreVersion:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(MD_Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Icon data: {BitConverter.ToString(MD_IconData).Replace('-', ' ')}");
|
||||
}
|
||||
|
||||
@@ -518,17 +518,17 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {Dummy0}");
|
||||
Console.WriteLine($" Major version: {MajorVersion}");
|
||||
Console.WriteLine($" Minor version: {MinorVersion}");
|
||||
Console.WriteLine($" Cache ID: {CacheID}");
|
||||
Console.WriteLine($" Last version played: {LastVersionPlayed}");
|
||||
Console.WriteLine($" Dummy 1: {Dummy1}");
|
||||
Console.WriteLine($" Dummy 2: {Dummy2}");
|
||||
Console.WriteLine($" File size: {FileSize}");
|
||||
Console.WriteLine($" Block size: {BlockSize}");
|
||||
Console.WriteLine($" Block count: {BlockCount}");
|
||||
Console.WriteLine($" Dummy 3: {Dummy3}");
|
||||
Console.WriteLine($" Dummy 0: {Dummy0} (0x{Dummy0:X})");
|
||||
Console.WriteLine($" Major version: {MajorVersion} (0x{MajorVersion:X})");
|
||||
Console.WriteLine($" Minor version: {MinorVersion} (0x{MinorVersion:X})");
|
||||
Console.WriteLine($" Cache ID: {CacheID} (0x{CacheID:X})");
|
||||
Console.WriteLine($" Last version played: {LastVersionPlayed} (0x{LastVersionPlayed:X})");
|
||||
Console.WriteLine($" Dummy 1: {Dummy1} (0x{Dummy1:X})");
|
||||
Console.WriteLine($" Dummy 2: {Dummy2} (0x{Dummy2:X})");
|
||||
Console.WriteLine($" File size: {FileSize} (0x{FileSize:X})");
|
||||
Console.WriteLine($" Block size: {BlockSize} (0x{BlockSize:X})");
|
||||
Console.WriteLine($" Block count: {BlockCount} (0x{BlockCount:X})");
|
||||
Console.WriteLine($" Dummy 3: {Dummy3} (0x{Dummy3:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -539,14 +539,14 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Block Entry Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Block count: {BEH_BlockCount}");
|
||||
Console.WriteLine($" Blocks used: {BEH_BlocksUsed}");
|
||||
Console.WriteLine($" Dummy 0: {BEH_Dummy0}");
|
||||
Console.WriteLine($" Dummy 1: {BEH_Dummy1}");
|
||||
Console.WriteLine($" Dummy 2: {BEH_Dummy2}");
|
||||
Console.WriteLine($" Dummy 3: {BEH_Dummy3}");
|
||||
Console.WriteLine($" Dummy 4: {BEH_Dummy4}");
|
||||
Console.WriteLine($" Checksum: {BEH_Checksum}");
|
||||
Console.WriteLine($" Block count: {BEH_BlockCount} (0x{BEH_BlockCount:X})");
|
||||
Console.WriteLine($" Blocks used: {BEH_BlocksUsed} (0x{BEH_BlocksUsed:X})");
|
||||
Console.WriteLine($" Dummy 0: {BEH_Dummy0} (0x{BEH_Dummy0:X})");
|
||||
Console.WriteLine($" Dummy 1: {BEH_Dummy1} (0x{BEH_Dummy1:X})");
|
||||
Console.WriteLine($" Dummy 2: {BEH_Dummy2} (0x{BEH_Dummy2:X})");
|
||||
Console.WriteLine($" Dummy 3: {BEH_Dummy3} (0x{BEH_Dummy3:X})");
|
||||
Console.WriteLine($" Dummy 4: {BEH_Dummy4} (0x{BEH_Dummy4:X})");
|
||||
Console.WriteLine($" Checksum: {BEH_Checksum} (0x{BEH_Checksum:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -567,13 +567,13 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var blockEntry = BlockEntries[i];
|
||||
Console.WriteLine($" Block Entry {i}");
|
||||
Console.WriteLine($" Entry flags: {blockEntry.EntryFlags}");
|
||||
Console.WriteLine($" File data offset: {blockEntry.FileDataOffset}");
|
||||
Console.WriteLine($" File data size: {blockEntry.FileDataSize}");
|
||||
Console.WriteLine($" First data block index: {blockEntry.FirstDataBlockIndex}");
|
||||
Console.WriteLine($" Next block entry index: {blockEntry.NextBlockEntryIndex}");
|
||||
Console.WriteLine($" Previous block entry index: {blockEntry.PreviousBlockEntryIndex}");
|
||||
Console.WriteLine($" Directory index: {blockEntry.DirectoryIndex}");
|
||||
Console.WriteLine($" Entry flags: {blockEntry.EntryFlags} (0x{blockEntry.EntryFlags:X})");
|
||||
Console.WriteLine($" File data offset: {blockEntry.FileDataOffset} (0x{blockEntry.FileDataOffset:X})");
|
||||
Console.WriteLine($" File data size: {blockEntry.FileDataSize} (0x{blockEntry.FileDataSize:X})");
|
||||
Console.WriteLine($" First data block index: {blockEntry.FirstDataBlockIndex} (0x{blockEntry.FirstDataBlockIndex:X})");
|
||||
Console.WriteLine($" Next block entry index: {blockEntry.NextBlockEntryIndex} (0x{blockEntry.NextBlockEntryIndex:X})");
|
||||
Console.WriteLine($" Previous block entry index: {blockEntry.PreviousBlockEntryIndex} (0x{blockEntry.PreviousBlockEntryIndex:X})");
|
||||
Console.WriteLine($" Directory index: {blockEntry.DirectoryIndex} (0x{blockEntry.DirectoryIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -586,10 +586,10 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Fragmentation Map Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Block count: {FMH_BlockCount}");
|
||||
Console.WriteLine($" First unused entry: {FMH_FirstUnusedEntry}");
|
||||
Console.WriteLine($" Terminator: {FMH_Terminator}");
|
||||
Console.WriteLine($" Checksum: {FMH_Checksum}");
|
||||
Console.WriteLine($" Block count: {FMH_BlockCount} (0x{FMH_BlockCount:X})");
|
||||
Console.WriteLine($" First unused entry: {FMH_FirstUnusedEntry} (0x{FMH_FirstUnusedEntry:X})");
|
||||
Console.WriteLine($" Terminator: {FMH_Terminator} (0x{FMH_Terminator:X})");
|
||||
Console.WriteLine($" Checksum: {FMH_Checksum} (0x{FMH_Checksum:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -610,7 +610,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var fragmentationMap = FragmentationMaps[i];
|
||||
Console.WriteLine($" Fragmentation Map {i}");
|
||||
Console.WriteLine($" Next data block index: {fragmentationMap.NextDataBlockIndex}");
|
||||
Console.WriteLine($" Next data block index: {fragmentationMap.NextDataBlockIndex} (0x{fragmentationMap.NextDataBlockIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -629,11 +629,11 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" Block count: {BEMH_BlockCount}");
|
||||
Console.WriteLine($" First block entry index: {BEMH_FirstBlockEntryIndex}");
|
||||
Console.WriteLine($" Last block entry index: {BEMH_LastBlockEntryIndex}");
|
||||
Console.WriteLine($" Dummy 0: {BEMH_Dummy0}");
|
||||
Console.WriteLine($" Checksum: {BEMH_Checksum}");
|
||||
Console.WriteLine($" Block count: {BEMH_BlockCount} (0x{BEMH_BlockCount:X})");
|
||||
Console.WriteLine($" First block entry index: {BEMH_FirstBlockEntryIndex} (0x{BEMH_FirstBlockEntryIndex:X})");
|
||||
Console.WriteLine($" Last block entry index: {BEMH_LastBlockEntryIndex} (0x{BEMH_LastBlockEntryIndex:X})");
|
||||
Console.WriteLine($" Dummy 0: {BEMH_Dummy0} (0x{BEMH_Dummy0:X})");
|
||||
Console.WriteLine($" Checksum: {BEMH_Checksum} (0x{BEMH_Checksum:X})");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
@@ -655,8 +655,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var blockEntryMap = BlockEntryMaps[i];
|
||||
Console.WriteLine($" Block Entry Map {i}");
|
||||
Console.WriteLine($" Previous data block index: {blockEntryMap.PreviousBlockEntryIndex}");
|
||||
Console.WriteLine($" Next data block index: {blockEntryMap.NextBlockEntryIndex}");
|
||||
Console.WriteLine($" Previous data block index: {blockEntryMap.PreviousBlockEntryIndex} (0x{blockEntryMap.PreviousBlockEntryIndex:X})");
|
||||
Console.WriteLine($" Next data block index: {blockEntryMap.NextBlockEntryIndex} (0x{blockEntryMap.NextBlockEntryIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -669,20 +669,20 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Directory Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {DH_Dummy0}");
|
||||
Console.WriteLine($" Cache ID: {DH_CacheID}");
|
||||
Console.WriteLine($" Last version played: {DH_LastVersionPlayed}");
|
||||
Console.WriteLine($" Item count: {DH_ItemCount}");
|
||||
Console.WriteLine($" File count: {DH_FileCount}");
|
||||
Console.WriteLine($" Dummy 1: {DH_Dummy1}");
|
||||
Console.WriteLine($" Directory size: {DH_DirectorySize}");
|
||||
Console.WriteLine($" Name size: {DH_NameSize}");
|
||||
Console.WriteLine($" Info 1 count: {DH_Info1Count}");
|
||||
Console.WriteLine($" Copy count: {DH_CopyCount}");
|
||||
Console.WriteLine($" Local count: {DH_LocalCount}");
|
||||
Console.WriteLine($" Dummy 2: {DH_Dummy2}");
|
||||
Console.WriteLine($" Dummy 3: {DH_Dummy3}");
|
||||
Console.WriteLine($" Checksum: {DH_Checksum}");
|
||||
Console.WriteLine($" Dummy 0: {DH_Dummy0} (0x{DH_Dummy0:X})");
|
||||
Console.WriteLine($" Cache ID: {DH_CacheID} (0x{DH_CacheID:X})");
|
||||
Console.WriteLine($" Last version played: {DH_LastVersionPlayed} (0x{DH_LastVersionPlayed:X})");
|
||||
Console.WriteLine($" Item count: {DH_ItemCount} (0x{DH_ItemCount:X})");
|
||||
Console.WriteLine($" File count: {DH_FileCount} (0x{DH_FileCount:X})");
|
||||
Console.WriteLine($" Dummy 1: {DH_Dummy1} (0x{DH_Dummy1:X})");
|
||||
Console.WriteLine($" Directory size: {DH_DirectorySize} (0x{DH_DirectorySize:X})");
|
||||
Console.WriteLine($" Name size: {DH_NameSize} (0x{DH_NameSize:X})");
|
||||
Console.WriteLine($" Info 1 count: {DH_Info1Count} (0x{DH_Info1Count:X})");
|
||||
Console.WriteLine($" Copy count: {DH_CopyCount} (0x{DH_CopyCount:X})");
|
||||
Console.WriteLine($" Local count: {DH_LocalCount} (0x{DH_LocalCount:X})");
|
||||
Console.WriteLine($" Dummy 2: {DH_Dummy2} (0x{DH_Dummy2:X})");
|
||||
Console.WriteLine($" Dummy 3: {DH_Dummy3} (0x{DH_Dummy3:X})");
|
||||
Console.WriteLine($" Checksum: {DH_Checksum} (0x{DH_Checksum:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -703,14 +703,14 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryEntry = DirectoryEntries[i];
|
||||
Console.WriteLine($" Directory Entry {i}");
|
||||
Console.WriteLine($" Name offset: {directoryEntry.NameOffset}");
|
||||
Console.WriteLine($" Name: {directoryEntry.Name}");
|
||||
Console.WriteLine($" Item size: {directoryEntry.ItemSize}");
|
||||
Console.WriteLine($" Checksum index: {directoryEntry.ChecksumIndex}");
|
||||
Console.WriteLine($" Directory flags: {directoryEntry.DirectoryFlags}");
|
||||
Console.WriteLine($" Parent index: {directoryEntry.ParentIndex}");
|
||||
Console.WriteLine($" Next index: {directoryEntry.NextIndex}");
|
||||
Console.WriteLine($" First index: {directoryEntry.FirstIndex}");
|
||||
Console.WriteLine($" Name offset: {directoryEntry.NameOffset} (0x{directoryEntry.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {directoryEntry.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Item size: {directoryEntry.ItemSize} (0x{directoryEntry.ItemSize:X})");
|
||||
Console.WriteLine($" Checksum index: {directoryEntry.ChecksumIndex} (0x{directoryEntry.ChecksumIndex:X})");
|
||||
Console.WriteLine($" Directory flags: {directoryEntry.DirectoryFlags} (0x{directoryEntry.DirectoryFlags:X})");
|
||||
Console.WriteLine($" Parent index: {directoryEntry.ParentIndex} (0x{directoryEntry.ParentIndex:X})");
|
||||
Console.WriteLine($" Next index: {directoryEntry.NextIndex} (0x{directoryEntry.NextIndex:X})");
|
||||
Console.WriteLine($" First index: {directoryEntry.FirstIndex} (0x{directoryEntry.FirstIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -733,7 +733,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryInfoEntry = DirectoryInfo1Entries[i];
|
||||
Console.WriteLine($" Directory Info 1 Entry {i}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0} (0x{directoryInfoEntry.Dummy0:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -756,7 +756,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryInfoEntry = DirectoryInfo2Entries[i];
|
||||
Console.WriteLine($" Directory Info 2 Entry {i}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0} (0x{directoryInfoEntry.Dummy0:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -779,7 +779,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryCopyEntry = DirectoryCopyEntries[i];
|
||||
Console.WriteLine($" Directory Copy Entry {i}");
|
||||
Console.WriteLine($" Directory index: {directoryCopyEntry.DirectoryIndex}");
|
||||
Console.WriteLine($" Directory index: {directoryCopyEntry.DirectoryIndex} (0x{directoryCopyEntry.DirectoryIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -802,7 +802,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryLocalEntry = DirectoryLocalEntries[i];
|
||||
Console.WriteLine($" Directory Local Entry {i}");
|
||||
Console.WriteLine($" Directory index: {directoryLocalEntry.DirectoryIndex}");
|
||||
Console.WriteLine($" Directory index: {directoryLocalEntry.DirectoryIndex} (0x{directoryLocalEntry.DirectoryIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -821,8 +821,8 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" Dummy 0: {DMH_Dummy0}");
|
||||
Console.WriteLine($" Dummy 1: {DMH_Dummy1}");
|
||||
Console.WriteLine($" Dummy 0: {DMH_Dummy0} (0x{DMH_Dummy0:X})");
|
||||
Console.WriteLine($" Dummy 1: {DMH_Dummy1} (0x{DMH_Dummy1:X})");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
@@ -844,7 +844,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryMapEntry = DirectoryMapEntries[i];
|
||||
Console.WriteLine($" Directory Map Entry {i}");
|
||||
Console.WriteLine($" First block index: {directoryMapEntry.FirstBlockIndex}");
|
||||
Console.WriteLine($" First block index: {directoryMapEntry.FirstBlockIndex} (0x{directoryMapEntry.FirstBlockIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -857,8 +857,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Checksum Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {CH_Dummy0}");
|
||||
Console.WriteLine($" Checksum size: {CH_ChecksumSize}");
|
||||
Console.WriteLine($" Dummy 0: {CH_Dummy0} (0x{CH_Dummy0:X})");
|
||||
Console.WriteLine($" Checksum size: {CH_ChecksumSize} (0x{CH_ChecksumSize:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -869,10 +869,10 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Checksum Map Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {CMH_Dummy0}");
|
||||
Console.WriteLine($" Dummy 1: {CMH_Dummy1}");
|
||||
Console.WriteLine($" Item count: {CMH_ItemCount}");
|
||||
Console.WriteLine($" Checksum count: {CMH_ChecksumCount}");
|
||||
Console.WriteLine($" Dummy 0: {CMH_Dummy0} (0x{CMH_Dummy0:X})");
|
||||
Console.WriteLine($" Dummy 1: {CMH_Dummy1} (0x{CMH_Dummy1:X})");
|
||||
Console.WriteLine($" Item count: {CMH_ItemCount} (0x{CMH_ItemCount:X})");
|
||||
Console.WriteLine($" Checksum count: {CMH_ChecksumCount} (0x{CMH_ChecksumCount:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -893,8 +893,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var checksumMapEntry = ChecksumMapEntries[i];
|
||||
Console.WriteLine($" Checksum Map Entry {i}");
|
||||
Console.WriteLine($" Checksum count: {checksumMapEntry.ChecksumCount}");
|
||||
Console.WriteLine($" First checksum index: {checksumMapEntry.FirstChecksumIndex}");
|
||||
Console.WriteLine($" Checksum count: {checksumMapEntry.ChecksumCount} (0x{checksumMapEntry.ChecksumCount:X})");
|
||||
Console.WriteLine($" First checksum index: {checksumMapEntry.FirstChecksumIndex} (0x{checksumMapEntry.FirstChecksumIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -917,7 +917,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var checksumEntry = ChecksumEntries[i];
|
||||
Console.WriteLine($" Checksum Entry {i}");
|
||||
Console.WriteLine($" Checksum: {checksumEntry.Checksum}");
|
||||
Console.WriteLine($" Checksum: {checksumEntry.Checksum} (0x{checksumEntry.Checksum:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -930,12 +930,12 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Data Block Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Last version played: {DBH_LastVersionPlayed}");
|
||||
Console.WriteLine($" Block count: {DBH_BlockCount}");
|
||||
Console.WriteLine($" Block size: {DBH_BlockSize}");
|
||||
Console.WriteLine($" First block offset: {DBH_FirstBlockOffset}");
|
||||
Console.WriteLine($" Blocks used: {DBH_BlocksUsed}");
|
||||
Console.WriteLine($" Checksum: {DBH_Checksum}");
|
||||
Console.WriteLine($" Last version played: {DBH_LastVersionPlayed} (0x{DBH_LastVersionPlayed:X})");
|
||||
Console.WriteLine($" Block count: {DBH_BlockCount} (0x{DBH_BlockCount:X})");
|
||||
Console.WriteLine($" Block size: {DBH_BlockSize} (0x{DBH_BlockSize:X})");
|
||||
Console.WriteLine($" First block offset: {DBH_FirstBlockOffset} (0x{DBH_FirstBlockOffset:X})");
|
||||
Console.WriteLine($" Blocks used: {DBH_BlocksUsed} (0x{DBH_BlocksUsed:X})");
|
||||
Console.WriteLine($" Checksum: {DBH_Checksum} (0x{DBH_Checksum:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
|
||||
@@ -165,19 +165,19 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Magic number: {Magic}");
|
||||
Console.WriteLine($" Last page bytes: {LastPageBytes}");
|
||||
Console.WriteLine($" Pages: {Pages}");
|
||||
Console.WriteLine($" Relocation items: {RelocationItems}");
|
||||
Console.WriteLine($" Header paragraph size: {HeaderParagraphSize}");
|
||||
Console.WriteLine($" Minimum extra paragraphs: {MinimumExtraParagraphs}");
|
||||
Console.WriteLine($" Maximum extra paragraphs: {MaximumExtraParagraphs}");
|
||||
Console.WriteLine($" Initial SS value: {InitialSSValue}");
|
||||
Console.WriteLine($" Initial SP value: {InitialSPValue}");
|
||||
Console.WriteLine($" Checksum: {Checksum}");
|
||||
Console.WriteLine($" Initial IP value: {InitialIPValue}");
|
||||
Console.WriteLine($" Initial CS value: {InitialCSValue}");
|
||||
Console.WriteLine($" Relocation table address: {RelocationTableAddr}");
|
||||
Console.WriteLine($" Overlay number: {OverlayNumber}");
|
||||
Console.WriteLine($" Last page bytes: {LastPageBytes} (0x{LastPageBytes:X})");
|
||||
Console.WriteLine($" Pages: {Pages} (0x{Pages:X})");
|
||||
Console.WriteLine($" Relocation items: {RelocationItems} (0x{RelocationItems:X})");
|
||||
Console.WriteLine($" Header paragraph size: {HeaderParagraphSize} (0x{HeaderParagraphSize:X})");
|
||||
Console.WriteLine($" Minimum extra paragraphs: {MinimumExtraParagraphs} (0x{MinimumExtraParagraphs:X})");
|
||||
Console.WriteLine($" Maximum extra paragraphs: {MaximumExtraParagraphs} (0x{MaximumExtraParagraphs:X})");
|
||||
Console.WriteLine($" Initial SS value: {InitialSSValue} (0x{InitialSSValue:X})");
|
||||
Console.WriteLine($" Initial SP value: {InitialSPValue} (0x{InitialSPValue:X})");
|
||||
Console.WriteLine($" Checksum: {Checksum} (0x{Checksum:X})");
|
||||
Console.WriteLine($" Initial IP value: {InitialIPValue} (0x{InitialIPValue:X})");
|
||||
Console.WriteLine($" Initial CS value: {InitialCSValue} (0x{InitialCSValue:X})");
|
||||
Console.WriteLine($" Relocation table address: {RelocationTableAddr} (0x{RelocationTableAddr:X})");
|
||||
Console.WriteLine($" Overlay number: {OverlayNumber} (0x{OverlayNumber:X})");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -197,8 +197,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = RelocationTable[i];
|
||||
Console.WriteLine($" Relocation Table Entry {i}");
|
||||
Console.WriteLine($" Offset = {entry.Offset}");
|
||||
Console.WriteLine($" Segment = {entry.Segment}");
|
||||
Console.WriteLine($" Offset: {entry.Offset} (0x{entry.Offset:X})");
|
||||
Console.WriteLine($" Segment: {entry.Segment} (0x{entry.Segment:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -415,24 +415,24 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Reserved 1: {Reserved1}");
|
||||
Console.WriteLine($" Cabinet size: {CabinetSize}");
|
||||
Console.WriteLine($" Reserved 2: {Reserved2}");
|
||||
Console.WriteLine($" Files offset: {FilesOffset}");
|
||||
Console.WriteLine($" Reserved 3: {Reserved3}");
|
||||
Console.WriteLine($" Minor version: {VersionMinor}");
|
||||
Console.WriteLine($" Major version: {VersionMajor}");
|
||||
Console.WriteLine($" Folder count: {FolderCount}");
|
||||
Console.WriteLine($" File count: {FileCount}");
|
||||
Console.WriteLine($" Flags: {Flags}");
|
||||
Console.WriteLine($" Set ID: {SetID}");
|
||||
Console.WriteLine($" Cabinet index: {CabinetIndex}");
|
||||
Console.WriteLine($" Reserved 1: {Reserved1} (0x{Reserved1:X})");
|
||||
Console.WriteLine($" Cabinet size: {CabinetSize} (0x{CabinetSize:X})");
|
||||
Console.WriteLine($" Reserved 2: {Reserved2} (0x{Reserved2:X})");
|
||||
Console.WriteLine($" Files offset: {FilesOffset} (0x{FilesOffset:X})");
|
||||
Console.WriteLine($" Reserved 3: {Reserved3} (0x{Reserved3:X})");
|
||||
Console.WriteLine($" Minor version: {VersionMinor} (0x{VersionMinor:X})");
|
||||
Console.WriteLine($" Major version: {VersionMajor} (0x{VersionMajor:X})");
|
||||
Console.WriteLine($" Folder count: {FolderCount} (0x{FolderCount:X})");
|
||||
Console.WriteLine($" File count: {FileCount} (0x{FileCount:X})");
|
||||
Console.WriteLine($" Flags: {Flags} (0x{Flags:X})");
|
||||
Console.WriteLine($" Set ID: {SetID} (0x{SetID:X})");
|
||||
Console.WriteLine($" Cabinet index: {CabinetIndex} (0x{CabinetIndex:X})");
|
||||
|
||||
if (Flags.HasFlag(Models.MicrosoftCabinet.HeaderFlags.RESERVE_PRESENT))
|
||||
{
|
||||
Console.WriteLine($" Header reserved size: {HeaderReservedSize}");
|
||||
Console.WriteLine($" Folder reserved size: {FolderReservedSize}");
|
||||
Console.WriteLine($" Data reserved size: {DataReservedSize}");
|
||||
Console.WriteLine($" Header reserved size: {HeaderReservedSize} (0x{HeaderReservedSize:X})");
|
||||
Console.WriteLine($" Folder reserved size: {FolderReservedSize} (0x{FolderReservedSize:X})");
|
||||
Console.WriteLine($" Data reserved size: {DataReservedSize} (0x{DataReservedSize:X})");
|
||||
if (ReservedData == null)
|
||||
Console.WriteLine($" Reserved data = [NULL]");
|
||||
else
|
||||
@@ -471,9 +471,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = Folders[i];
|
||||
Console.WriteLine($" Folder {i}");
|
||||
Console.WriteLine($" Cab start offset = {entry.CabStartOffset}");
|
||||
Console.WriteLine($" Data count = {entry.DataCount}");
|
||||
Console.WriteLine($" Compression type = {entry.CompressionType}");
|
||||
Console.WriteLine($" Cab start offset = {entry.CabStartOffset} (0x{entry.CabStartOffset:X})");
|
||||
Console.WriteLine($" Data count = {entry.DataCount} (0x{entry.DataCount:X})");
|
||||
Console.WriteLine($" Compression type = {entry.CompressionType} (0x{entry.CompressionType:X})");
|
||||
Console.WriteLine($" Masked compression type = {entry.CompressionType & Models.MicrosoftCabinet.CompressionType.MASK_TYPE}");
|
||||
if (entry.ReservedData == null)
|
||||
Console.WriteLine($" Reserved data = [NULL]");
|
||||
@@ -493,9 +493,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Models.MicrosoftCabinet.CFDATA dataBlock = entry.DataBlocks[j];
|
||||
Console.WriteLine($" Data Block {j}");
|
||||
Console.WriteLine($" Checksum = {dataBlock.Checksum}");
|
||||
Console.WriteLine($" Compressed size = {dataBlock.CompressedSize}");
|
||||
Console.WriteLine($" Uncompressed size = {dataBlock.UncompressedSize}");
|
||||
Console.WriteLine($" Checksum = {dataBlock.Checksum} (0x{dataBlock.Checksum:X})");
|
||||
Console.WriteLine($" Compressed size = {dataBlock.CompressedSize} (0x{dataBlock.CompressedSize:X})");
|
||||
Console.WriteLine($" Uncompressed size = {dataBlock.UncompressedSize} (0x{dataBlock.UncompressedSize:X})");
|
||||
if (dataBlock.ReservedData == null)
|
||||
Console.WriteLine($" Reserved data = [NULL]");
|
||||
else
|
||||
@@ -525,13 +525,13 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = Files[i];
|
||||
Console.WriteLine($" File {i}");
|
||||
Console.WriteLine($" File size = {entry.FileSize}");
|
||||
Console.WriteLine($" Folder start offset = {entry.FolderStartOffset}");
|
||||
Console.WriteLine($" Folder index = {entry.FolderIndex}");
|
||||
Console.WriteLine($" Date = {entry.Date}");
|
||||
Console.WriteLine($" Time = {entry.Time}");
|
||||
Console.WriteLine($" Attributes = {entry.Attributes}");
|
||||
Console.WriteLine($" Name = {entry.Name}");
|
||||
Console.WriteLine($" File size = {entry.FileSize} (0x{entry.FileSize:X})");
|
||||
Console.WriteLine($" Folder start offset = {entry.FolderStartOffset} (0x{entry.FolderStartOffset:X})");
|
||||
Console.WriteLine($" Folder index = {entry.FolderIndex} (0x{entry.FolderIndex:X})");
|
||||
Console.WriteLine($" Date = {entry.Date} (0x{entry.Date:X})");
|
||||
Console.WriteLine($" Time = {entry.Time} (0x{entry.Time:X})");
|
||||
Console.WriteLine($" Attributes = {entry.Attributes} (0x{entry.Attributes:X})");
|
||||
Console.WriteLine($" Name = {entry.Name ?? "[NULL]"}");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -302,10 +302,10 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" NCSD Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" RSA-2048 SHA-256 signature: {BitConverter.ToString(RSA2048Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Magic number: {MagicNumber}");
|
||||
Console.WriteLine($" Image size in media units: {ImageSizeInMediaUnits}");
|
||||
Console.WriteLine($" Magic number: {MagicNumber} (0x{MagicNumber:X})");
|
||||
Console.WriteLine($" Image size in media units: {ImageSizeInMediaUnits} (0x{ImageSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Media ID: {BitConverter.ToString(MediaId).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Partitions filesystem type: {PartitionsFSType}");
|
||||
Console.WriteLine($" Partitions filesystem type: {PartitionsFSType} (0x{PartitionsFSType:X})");
|
||||
Console.WriteLine($" Partitions crypt type: {BitConverter.ToString(PartitionsCryptType).Replace('-', ' ')}");
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -315,8 +315,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var partitionTableEntry = PartitionsTable[i];
|
||||
Console.WriteLine($" Partition table entry {i}");
|
||||
Console.WriteLine($" Offset: {partitionTableEntry.Offset}");
|
||||
Console.WriteLine($" Length: {partitionTableEntry.Length}");
|
||||
Console.WriteLine($" Offset: {partitionTableEntry.Offset} (0x{partitionTableEntry.Offset:X})");
|
||||
Console.WriteLine($" Length: {partitionTableEntry.Length} (0x{partitionTableEntry.Length:X})");
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -324,8 +324,8 @@ namespace BurnOutSharp.Wrappers
|
||||
if (PartitionsFSType == Models.N3DS.FilesystemType.Normal || PartitionsFSType == Models.N3DS.FilesystemType.None)
|
||||
{
|
||||
Console.WriteLine($" Exheader SHA-256 hash: {BitConverter.ToString(ExheaderHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Additional header size: {AdditionalHeaderSize}");
|
||||
Console.WriteLine($" Sector zero offset: {SectorZeroOffset}");
|
||||
Console.WriteLine($" Additional header size: {AdditionalHeaderSize} (0x{AdditionalHeaderSize:X})");
|
||||
Console.WriteLine($" Sector zero offset: {SectorZeroOffset} (0x{SectorZeroOffset:X})");
|
||||
Console.WriteLine($" Partition flags: {BitConverter.ToString(PartitionFlags).Replace('-', ' ')}");
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -333,14 +333,14 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" -------------------------");
|
||||
for (int i = 0; i < PartitionIdTable.Length; i++)
|
||||
{
|
||||
Console.WriteLine($" Partition {i} ID: {PartitionIdTable[i]}");
|
||||
Console.WriteLine($" Partition {i} ID: {PartitionIdTable[i]} (0x{PartitionIdTable[i]:X})");
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Firmware update byte 1: {FirmUpdateByte1}");
|
||||
Console.WriteLine($" Firmware update byte 2: {FirmUpdateByte2}");
|
||||
Console.WriteLine($" Firmware update byte 1: {FirmUpdateByte1} (0x{FirmUpdateByte1:X})");
|
||||
Console.WriteLine($" Firmware update byte 2: {FirmUpdateByte2} (0x{FirmUpdateByte2:X})");
|
||||
}
|
||||
|
||||
// If we have a firmware image
|
||||
@@ -360,16 +360,16 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Card Info Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Writable address in media units: {CIH_WritableAddressMediaUnits}");
|
||||
Console.WriteLine($" Card info bitmask: {CIH_CardInfoBitmask}");
|
||||
Console.WriteLine($" Writable address in media units: {CIH_WritableAddressMediaUnits} (0x{CIH_WritableAddressMediaUnits:X})");
|
||||
Console.WriteLine($" Card info bitmask: {CIH_CardInfoBitmask} (0x{CIH_CardInfoBitmask:X})");
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(CIH_Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Filled size of cartridge: {CIH_FilledSize}");
|
||||
Console.WriteLine($" Filled size of cartridge: {CIH_FilledSize} (0x{CIH_FilledSize:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(CIH_Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Title version: {CIH_TitleVersion}");
|
||||
Console.WriteLine($" Card revision: {CIH_CardRevision}");
|
||||
Console.WriteLine($" Title version: {CIH_TitleVersion} (0x{CIH_TitleVersion:X})");
|
||||
Console.WriteLine($" Card revision: {CIH_CardRevision} (0x{CIH_CardRevision:X})");
|
||||
Console.WriteLine($" Reserved 3: {BitConverter.ToString(CIH_Reserved3).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Title ID of CVer in included update partition: {BitConverter.ToString(CIH_CVerTitleID).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Version number of CVer in included update partition: {CIH_CVerVersionNumber}");
|
||||
Console.WriteLine($" Version number of CVer in included update partition: {CIH_CVerVersionNumber} (0x{CIH_CVerVersionNumber:X})");
|
||||
Console.WriteLine($" Reserved 4: {BitConverter.ToString(CIH_Reserved4).Replace('-', ' ')}");
|
||||
Console.WriteLine();
|
||||
}
|
||||
@@ -399,36 +399,34 @@ namespace BurnOutSharp.Wrappers
|
||||
|
||||
Console.WriteLine(" Backup Header:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Magic ID: {DCIH_ID_BackupHeader.MagicID}");
|
||||
Console.WriteLine($" Content size in media units: {DCIH_ID_BackupHeader.ContentSizeInMediaUnits}");
|
||||
Console.WriteLine($" Partition ID: {DCIH_ID_BackupHeader.PartitionId}");
|
||||
Console.WriteLine($" Maker code: {DCIH_ID_BackupHeader.MakerCode}");
|
||||
Console.WriteLine($" Version: {DCIH_ID_BackupHeader.Version}");
|
||||
Console.WriteLine($" Verification hash: {DCIH_ID_BackupHeader.VerificationHash}");
|
||||
Console.WriteLine($" Magic ID: {DCIH_ID_BackupHeader.MagicID} (0x{DCIH_ID_BackupHeader.MagicID:X})");
|
||||
Console.WriteLine($" Content size in media units: {DCIH_ID_BackupHeader.ContentSizeInMediaUnits} (0x{DCIH_ID_BackupHeader.ContentSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Partition ID: {DCIH_ID_BackupHeader.PartitionId} (0x{DCIH_ID_BackupHeader.PartitionId:X})");
|
||||
Console.WriteLine($" Maker code: {DCIH_ID_BackupHeader.MakerCode} (0x{DCIH_ID_BackupHeader.MakerCode:X})");
|
||||
Console.WriteLine($" Version: {DCIH_ID_BackupHeader.Version} (0x{DCIH_ID_BackupHeader.Version:X})");
|
||||
Console.WriteLine($" Verification hash: {DCIH_ID_BackupHeader.VerificationHash} (0x{DCIH_ID_BackupHeader.VerificationHash:X})");
|
||||
Console.WriteLine($" Program ID: {BitConverter.ToString(DCIH_ID_BackupHeader.ProgramId).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(DCIH_ID_BackupHeader.Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Logo region SHA-256 hash: {BitConverter.ToString(DCIH_ID_BackupHeader.LogoRegionHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Product code: {DCIH_ID_BackupHeader.ProductCode}");
|
||||
Console.WriteLine($" Product code: {DCIH_ID_BackupHeader.ProductCode} (0x{DCIH_ID_BackupHeader.ProductCode:X})");
|
||||
Console.WriteLine($" Extended header SHA-256 hash: {BitConverter.ToString(DCIH_ID_BackupHeader.ExtendedHeaderHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Extended header size in bytes: {DCIH_ID_BackupHeader.ExtendedHeaderSizeInBytes}");
|
||||
Console.WriteLine($" Extended header size in bytes: {DCIH_ID_BackupHeader.ExtendedHeaderSizeInBytes} (0x{DCIH_ID_BackupHeader.ExtendedHeaderSizeInBytes:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(DCIH_ID_BackupHeader.Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Flags: {DCIH_ID_BackupHeader.Flags}");
|
||||
Console.WriteLine($" Plain region offset, in media units: {DCIH_ID_BackupHeader.PlainRegionOffsetInMediaUnits}");
|
||||
Console.WriteLine($" Plain region size, in media units: {DCIH_ID_BackupHeader.PlainRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" Logo region offset, in media units: {DCIH_ID_BackupHeader.LogoRegionOffsetInMediaUnits}");
|
||||
Console.WriteLine($" Logo region size, in media units: {DCIH_ID_BackupHeader.LogoRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS offset, in media units: {DCIH_ID_BackupHeader.ExeFSOffsetInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS size, in media units: {DCIH_ID_BackupHeader.ExeFSSizeInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS hash region size, in media units: {DCIH_ID_BackupHeader.ExeFSHashRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" Flags: {DCIH_ID_BackupHeader.Flags} (0x{DCIH_ID_BackupHeader.Flags:X})");
|
||||
Console.WriteLine($" Plain region offset, in media units: {DCIH_ID_BackupHeader.PlainRegionOffsetInMediaUnits} (0x{DCIH_ID_BackupHeader.PlainRegionOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" Plain region size, in media units: {DCIH_ID_BackupHeader.PlainRegionSizeInMediaUnits} (0x{DCIH_ID_BackupHeader.PlainRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Logo region offset, in media units: {DCIH_ID_BackupHeader.LogoRegionOffsetInMediaUnits} (0x{DCIH_ID_BackupHeader.LogoRegionOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" Logo region size, in media units: {DCIH_ID_BackupHeader.LogoRegionSizeInMediaUnits} (0x{DCIH_ID_BackupHeader.LogoRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS offset, in media units: {DCIH_ID_BackupHeader.ExeFSOffsetInMediaUnits} (0x{DCIH_ID_BackupHeader.ExeFSOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS size, in media units: {DCIH_ID_BackupHeader.ExeFSSizeInMediaUnits} (0x{DCIH_ID_BackupHeader.ExeFSSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS hash region size, in media units: {DCIH_ID_BackupHeader.ExeFSHashRegionSizeInMediaUnits} (0x{DCIH_ID_BackupHeader.ExeFSHashRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Reserved 3: {BitConverter.ToString(DCIH_ID_BackupHeader.Reserved3).Replace('-', ' ')}");
|
||||
Console.WriteLine($" RomFS offset, in media units: {DCIH_ID_BackupHeader.RomFSOffsetInMediaUnits}");
|
||||
Console.WriteLine($" RomFS size, in media units: {DCIH_ID_BackupHeader.RomFSSizeInMediaUnits}");
|
||||
Console.WriteLine($" RomFS hash region size, in media units: {DCIH_ID_BackupHeader.RomFSHashRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" RomFS offset, in media units: {DCIH_ID_BackupHeader.RomFSOffsetInMediaUnits} (0x{DCIH_ID_BackupHeader.RomFSOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" RomFS size, in media units: {DCIH_ID_BackupHeader.RomFSSizeInMediaUnits} (0x{DCIH_ID_BackupHeader.RomFSSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" RomFS hash region size, in media units: {DCIH_ID_BackupHeader.RomFSHashRegionSizeInMediaUnits} (0x{DCIH_ID_BackupHeader.RomFSHashRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Reserved 4: {BitConverter.ToString(DCIH_ID_BackupHeader.Reserved4).Replace('-', ' ')}");
|
||||
Console.WriteLine($" ExeFS superblock SHA-256 hash: {BitConverter.ToString(DCIH_ID_BackupHeader.ExeFSSuperblockHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" RomFS superblock SHA-256 hash: {BitConverter.ToString(DCIH_ID_BackupHeader.RomFSSuperblockHash).Replace('-', ' ')}");
|
||||
|
||||
// TODO: Print Backup Header?
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine($" Card device reserved 1: {BitConverter.ToString(DCIH_CardDeviceReserved1).Replace('-', ' ')}");
|
||||
@@ -481,39 +479,39 @@ namespace BurnOutSharp.Wrappers
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" RSA-2048 SHA-256 signature: {BitConverter.ToString(partitionHeader.RSA2048Signature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Magic ID: {partitionHeader.MagicID}");
|
||||
Console.WriteLine($" Content size in media units: {partitionHeader.ContentSizeInMediaUnits}");
|
||||
Console.WriteLine($" Partition ID: {partitionHeader.PartitionId}");
|
||||
Console.WriteLine($" Maker code: {partitionHeader.MakerCode}");
|
||||
Console.WriteLine($" Version: {partitionHeader.Version}");
|
||||
Console.WriteLine($" Verification hash: {partitionHeader.VerificationHash}");
|
||||
Console.WriteLine($" Magic ID: {partitionHeader.MagicID} (0x{partitionHeader.MagicID:X})");
|
||||
Console.WriteLine($" Content size in media units: {partitionHeader.ContentSizeInMediaUnits} (0x{partitionHeader.ContentSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Partition ID: {partitionHeader.PartitionId} (0x{partitionHeader.PartitionId:X})");
|
||||
Console.WriteLine($" Maker code: {partitionHeader.MakerCode} (0x{partitionHeader.MakerCode:X})");
|
||||
Console.WriteLine($" Version: {partitionHeader.Version} (0x{partitionHeader.Version:X})");
|
||||
Console.WriteLine($" Verification hash: {partitionHeader.VerificationHash} (0x{partitionHeader.VerificationHash:X})");
|
||||
Console.WriteLine($" Program ID: {BitConverter.ToString(partitionHeader.ProgramId).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(partitionHeader.Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Logo region SHA-256 hash: {BitConverter.ToString(partitionHeader.LogoRegionHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Product code: {partitionHeader.ProductCode}");
|
||||
Console.WriteLine($" Product code: {partitionHeader.ProductCode} (0x{partitionHeader.ProductCode:X})");
|
||||
Console.WriteLine($" Extended header SHA-256 hash: {BitConverter.ToString(partitionHeader.ExtendedHeaderHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Extended header size in bytes: {partitionHeader.ExtendedHeaderSizeInBytes}");
|
||||
Console.WriteLine($" Extended header size in bytes: {partitionHeader.ExtendedHeaderSizeInBytes} (0x{partitionHeader.ExtendedHeaderSizeInBytes:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(partitionHeader.Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine(" Flags:");
|
||||
Console.WriteLine($" Reserved 0: {partitionHeader.Flags.Reserved0}");
|
||||
Console.WriteLine($" Reserved 1: {partitionHeader.Flags.Reserved1}");
|
||||
Console.WriteLine($" Reserved 2: {partitionHeader.Flags.Reserved2}");
|
||||
Console.WriteLine($" Crypto method: {partitionHeader.Flags.CryptoMethod}");
|
||||
Console.WriteLine($" Content platform: {partitionHeader.Flags.ContentPlatform}");
|
||||
Console.WriteLine($" Content type: {partitionHeader.Flags.MediaPlatformIndex}");
|
||||
Console.WriteLine($" Content unit size: {partitionHeader.Flags.ContentUnitSize}");
|
||||
Console.WriteLine($" Bitmasks: {partitionHeader.Flags.BitMasks}");
|
||||
Console.WriteLine($" Plain region offset, in media units: {partitionHeader.PlainRegionOffsetInMediaUnits}");
|
||||
Console.WriteLine($" Plain region size, in media units: {partitionHeader.PlainRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" Logo region offset, in media units: {partitionHeader.LogoRegionOffsetInMediaUnits}");
|
||||
Console.WriteLine($" Logo region size, in media units: {partitionHeader.LogoRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS offset, in media units: {partitionHeader.ExeFSOffsetInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS size, in media units: {partitionHeader.ExeFSSizeInMediaUnits}");
|
||||
Console.WriteLine($" ExeFS hash region size, in media units: {partitionHeader.ExeFSHashRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" Reserved 0: {partitionHeader.Flags.Reserved0} (0x{partitionHeader.Flags.Reserved0:X})");
|
||||
Console.WriteLine($" Reserved 1: {partitionHeader.Flags.Reserved1} (0x{partitionHeader.Flags.Reserved1:X})");
|
||||
Console.WriteLine($" Reserved 2: {partitionHeader.Flags.Reserved2} (0x{partitionHeader.Flags.Reserved2:X})");
|
||||
Console.WriteLine($" Crypto method: {partitionHeader.Flags.CryptoMethod} (0x{partitionHeader.Flags.CryptoMethod:X})");
|
||||
Console.WriteLine($" Content platform: {partitionHeader.Flags.ContentPlatform} (0x{partitionHeader.Flags.ContentPlatform:X})");
|
||||
Console.WriteLine($" Content type: {partitionHeader.Flags.MediaPlatformIndex} (0x{partitionHeader.Flags.MediaPlatformIndex:X})");
|
||||
Console.WriteLine($" Content unit size: {partitionHeader.Flags.ContentUnitSize} (0x{partitionHeader.Flags.ContentUnitSize:X})");
|
||||
Console.WriteLine($" Bitmasks: {partitionHeader.Flags.BitMasks} (0x{partitionHeader.Flags.BitMasks:X})");
|
||||
Console.WriteLine($" Plain region offset, in media units: {partitionHeader.PlainRegionOffsetInMediaUnits} (0x{partitionHeader.PlainRegionOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" Plain region size, in media units: {partitionHeader.PlainRegionSizeInMediaUnits} (0x{partitionHeader.PlainRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Logo region offset, in media units: {partitionHeader.LogoRegionOffsetInMediaUnits} (0x{partitionHeader.LogoRegionOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" Logo region size, in media units: {partitionHeader.LogoRegionSizeInMediaUnits} (0x{partitionHeader.LogoRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS offset, in media units: {partitionHeader.ExeFSOffsetInMediaUnits} (0x{partitionHeader.ExeFSOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS size, in media units: {partitionHeader.ExeFSSizeInMediaUnits} (0x{partitionHeader.ExeFSSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" ExeFS hash region size, in media units: {partitionHeader.ExeFSHashRegionSizeInMediaUnits} (0x{partitionHeader.ExeFSHashRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Reserved 3: {BitConverter.ToString(partitionHeader.Reserved3).Replace('-', ' ')}");
|
||||
Console.WriteLine($" RomFS offset, in media units: {partitionHeader.RomFSOffsetInMediaUnits}");
|
||||
Console.WriteLine($" RomFS size, in media units: {partitionHeader.RomFSSizeInMediaUnits}");
|
||||
Console.WriteLine($" RomFS hash region size, in media units: {partitionHeader.RomFSHashRegionSizeInMediaUnits}");
|
||||
Console.WriteLine($" RomFS offset, in media units: {partitionHeader.RomFSOffsetInMediaUnits} (0x{partitionHeader.RomFSOffsetInMediaUnits:X})");
|
||||
Console.WriteLine($" RomFS size, in media units: {partitionHeader.RomFSSizeInMediaUnits} (0x{partitionHeader.RomFSSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" RomFS hash region size, in media units: {partitionHeader.RomFSHashRegionSizeInMediaUnits} (0x{partitionHeader.RomFSHashRegionSizeInMediaUnits:X})");
|
||||
Console.WriteLine($" Reserved 4: {BitConverter.ToString(partitionHeader.Reserved4).Replace('-', ' ')}");
|
||||
Console.WriteLine($" ExeFS superblock SHA-256 hash: {BitConverter.ToString(partitionHeader.ExeFSSuperblockHash).Replace('-', ' ')}");
|
||||
Console.WriteLine($" RomFS superblock SHA-256 hash: {BitConverter.ToString(partitionHeader.RomFSSuperblockHash).Replace('-', ' ')}");
|
||||
@@ -549,57 +547,57 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine($" System control info:");
|
||||
Console.WriteLine($" Application title: {extendedHeader.SCI.ApplicationTitle}");
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(extendedHeader.SCI.Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Flag: {extendedHeader.SCI.Flag}");
|
||||
Console.WriteLine($" Remaster version: {extendedHeader.SCI.RemasterVersion}");
|
||||
Console.WriteLine($" Flag: {extendedHeader.SCI.Flag} (0x{extendedHeader.SCI.Flag:X})");
|
||||
Console.WriteLine($" Remaster version: {extendedHeader.SCI.RemasterVersion} (0x{extendedHeader.SCI.RemasterVersion:X})");
|
||||
|
||||
Console.WriteLine($" Text code set info:");
|
||||
Console.WriteLine($" Address: {extendedHeader.SCI.TextCodeSetInfo.Address}");
|
||||
Console.WriteLine($" Physical region size (in page-multiples): {extendedHeader.SCI.TextCodeSetInfo.PhysicalRegionSizeInPages}");
|
||||
Console.WriteLine($" Size (in bytes): {extendedHeader.SCI.TextCodeSetInfo.SizeInBytes}");
|
||||
Console.WriteLine($" Address: {extendedHeader.SCI.TextCodeSetInfo.Address} (0x{extendedHeader.SCI.TextCodeSetInfo.Address:X})");
|
||||
Console.WriteLine($" Physical region size (in page-multiples): {extendedHeader.SCI.TextCodeSetInfo.PhysicalRegionSizeInPages} (0x{extendedHeader.SCI.TextCodeSetInfo.PhysicalRegionSizeInPages:X})");
|
||||
Console.WriteLine($" Size (in bytes): {extendedHeader.SCI.TextCodeSetInfo.SizeInBytes} (0x{extendedHeader.SCI.TextCodeSetInfo.SizeInBytes:X})");
|
||||
|
||||
Console.WriteLine($" Stack size: {extendedHeader.SCI.StackSize}");
|
||||
Console.WriteLine($" Stack size: {extendedHeader.SCI.StackSize} (0x{extendedHeader.SCI.StackSize:X})");
|
||||
|
||||
Console.WriteLine($" Read-only code set info:");
|
||||
Console.WriteLine($" Address: {extendedHeader.SCI.ReadOnlyCodeSetInfo.Address}");
|
||||
Console.WriteLine($" Physical region size (in page-multiples): {extendedHeader.SCI.ReadOnlyCodeSetInfo.PhysicalRegionSizeInPages}");
|
||||
Console.WriteLine($" Size (in bytes): {extendedHeader.SCI.ReadOnlyCodeSetInfo.SizeInBytes}");
|
||||
Console.WriteLine($" Address: {extendedHeader.SCI.ReadOnlyCodeSetInfo.Address} (0x{extendedHeader.SCI.ReadOnlyCodeSetInfo.Address:X})");
|
||||
Console.WriteLine($" Physical region size (in page-multiples): {extendedHeader.SCI.ReadOnlyCodeSetInfo.PhysicalRegionSizeInPages} (0x{extendedHeader.SCI.ReadOnlyCodeSetInfo.PhysicalRegionSizeInPages:X})");
|
||||
Console.WriteLine($" Size (in bytes): {extendedHeader.SCI.ReadOnlyCodeSetInfo.SizeInBytes} (0x{extendedHeader.SCI.ReadOnlyCodeSetInfo.SizeInBytes:X})");
|
||||
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(extendedHeader.SCI.Reserved2).Replace('-', newChar: ' ')}");
|
||||
|
||||
Console.WriteLine($" Data code set info:");
|
||||
Console.WriteLine($" Address: {extendedHeader.SCI.DataCodeSetInfo.Address}");
|
||||
Console.WriteLine($" Physical region size (in page-multiples): {extendedHeader.SCI.DataCodeSetInfo.PhysicalRegionSizeInPages}");
|
||||
Console.WriteLine($" Size (in bytes): {extendedHeader.SCI.DataCodeSetInfo.SizeInBytes}");
|
||||
Console.WriteLine($" Address: {extendedHeader.SCI.DataCodeSetInfo.Address} (0x{extendedHeader.SCI.DataCodeSetInfo.Address:X})");
|
||||
Console.WriteLine($" Physical region size (in page-multiples): {extendedHeader.SCI.DataCodeSetInfo.PhysicalRegionSizeInPages} (0x{extendedHeader.SCI.DataCodeSetInfo.PhysicalRegionSizeInPages:X})");
|
||||
Console.WriteLine($" Size (in bytes): {extendedHeader.SCI.DataCodeSetInfo.SizeInBytes} (0x{extendedHeader.SCI.DataCodeSetInfo.SizeInBytes:X})");
|
||||
|
||||
Console.WriteLine($" BSS size: {extendedHeader.SCI.BSSSize}");
|
||||
Console.WriteLine($" BSS size: {extendedHeader.SCI.BSSSize} (0x{extendedHeader.SCI.BSSSize:X})");
|
||||
Console.WriteLine($" Dependency module list: {string.Join(", ", extendedHeader.SCI.DependencyModuleList)}");
|
||||
|
||||
Console.WriteLine($" System info:");
|
||||
Console.WriteLine($" SaveData size: {extendedHeader.SCI.SystemInfo.SaveDataSize}");
|
||||
Console.WriteLine($" Jump ID: {extendedHeader.SCI.SystemInfo.JumpID}");
|
||||
Console.WriteLine($" SaveData size: {extendedHeader.SCI.SystemInfo.SaveDataSize} (0x{extendedHeader.SCI.SystemInfo.SaveDataSize:X})");
|
||||
Console.WriteLine($" Jump ID: {extendedHeader.SCI.SystemInfo.JumpID} (0x{extendedHeader.SCI.SystemInfo.JumpID:X})");
|
||||
Console.WriteLine($" Reserved: {BitConverter.ToString(extendedHeader.SCI.SystemInfo.Reserved).Replace('-', newChar: ' ')}");
|
||||
|
||||
Console.WriteLine($" Access control info:");
|
||||
Console.WriteLine($" ARM11 local system capabilities:");
|
||||
Console.WriteLine($" Program ID: {extendedHeader.ACI.ARM11LocalSystemCapabilities.ProgramID}");
|
||||
Console.WriteLine($" Core version: {extendedHeader.ACI.ARM11LocalSystemCapabilities.CoreVersion}");
|
||||
Console.WriteLine($" Flag 1: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag1}");
|
||||
Console.WriteLine($" Flag 2: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag2}");
|
||||
Console.WriteLine($" Flag 0: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag0}");
|
||||
Console.WriteLine($" Priority: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Priority}");
|
||||
Console.WriteLine($" Program ID: {extendedHeader.ACI.ARM11LocalSystemCapabilities.ProgramID} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.ProgramID:X})");
|
||||
Console.WriteLine($" Core version: {extendedHeader.ACI.ARM11LocalSystemCapabilities.CoreVersion} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.CoreVersion:X})");
|
||||
Console.WriteLine($" Flag 1: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag1} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag1:X})");
|
||||
Console.WriteLine($" Flag 2: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag2} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag2:X})");
|
||||
Console.WriteLine($" Flag 0: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag0} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.Flag0:X})");
|
||||
Console.WriteLine($" Priority: {extendedHeader.ACI.ARM11LocalSystemCapabilities.Priority} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.Priority:X})");
|
||||
Console.WriteLine($" Resource limit descriptors: {string.Join(", ", extendedHeader.ACI.ARM11LocalSystemCapabilities.ResourceLimitDescriptors)}");
|
||||
|
||||
Console.WriteLine($" Storage info:");
|
||||
Console.WriteLine($" Extdata ID: {extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.ExtdataID}");
|
||||
Console.WriteLine($" Extdata ID: {extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.ExtdataID} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.ExtdataID:X})");
|
||||
Console.WriteLine($" System savedata IDs: {BitConverter.ToString(extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.SystemSavedataIDs).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Storage accessible unique IDs: {BitConverter.ToString(extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.StorageAccessibleUniqueIDs).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" File system access info: {BitConverter.ToString(extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.FileSystemAccessInfo).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Other attributes: {extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.OtherAttributes}");
|
||||
Console.WriteLine($" Other attributes: {extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.OtherAttributes} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.StorageInfo.OtherAttributes:X})");
|
||||
|
||||
Console.WriteLine($" Service access control: {string.Join(", ", extendedHeader.ACI.ARM11LocalSystemCapabilities.ServiceAccessControl)}");
|
||||
Console.WriteLine($" Extended service access control: {string.Join(", ", extendedHeader.ACI.ARM11LocalSystemCapabilities.ExtendedServiceAccessControl)}");
|
||||
Console.WriteLine($" Reserved: {BitConverter.ToString(extendedHeader.ACI.ARM11LocalSystemCapabilities.Reserved).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Resource limit cateogry: {extendedHeader.ACI.ARM11LocalSystemCapabilities.ResourceLimitCategory}");
|
||||
Console.WriteLine($" Resource limit cateogry: {extendedHeader.ACI.ARM11LocalSystemCapabilities.ResourceLimitCategory} (0x{extendedHeader.ACI.ARM11LocalSystemCapabilities.ResourceLimitCategory:X})");
|
||||
|
||||
Console.WriteLine($" ARM11 kernel capabilities:");
|
||||
Console.WriteLine($" Descriptors: {string.Join(", ", extendedHeader.ACI.ARM11KernelCapabilities.Descriptors)}");
|
||||
@@ -607,7 +605,7 @@ namespace BurnOutSharp.Wrappers
|
||||
|
||||
Console.WriteLine($" ARM9 access control:");
|
||||
Console.WriteLine($" Descriptors: {BitConverter.ToString(extendedHeader.ACI.ARM9AccessControl.Descriptors).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Descriptor version: {extendedHeader.ACI.ARM9AccessControl.DescriptorVersion}");
|
||||
Console.WriteLine($" Descriptor version: {extendedHeader.ACI.ARM9AccessControl.DescriptorVersion} (0x{extendedHeader.ACI.ARM9AccessControl.DescriptorVersion:X})");
|
||||
|
||||
Console.WriteLine($" AccessDec signature (RSA-2048-SHA256): {BitConverter.ToString(extendedHeader.AccessDescSignature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" NCCH HDR RSA-2048 public key: {BitConverter.ToString(extendedHeader.NCCHHDRPublicKey).Replace('-', ' ')}");
|
||||
@@ -615,25 +613,25 @@ namespace BurnOutSharp.Wrappers
|
||||
|
||||
Console.WriteLine($" Access control info (for limitations of first ACI):");
|
||||
Console.WriteLine($" ARM11 local system capabilities:");
|
||||
Console.WriteLine($" Program ID: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ProgramID}");
|
||||
Console.WriteLine($" Core version: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.CoreVersion}");
|
||||
Console.WriteLine($" Flag 1: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag1}");
|
||||
Console.WriteLine($" Flag 2: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag2}");
|
||||
Console.WriteLine($" Flag 0: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag0}");
|
||||
Console.WriteLine($" Priority: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Priority}");
|
||||
Console.WriteLine($" Program ID: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ProgramID} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ProgramID:X})");
|
||||
Console.WriteLine($" Core version: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.CoreVersion} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.CoreVersion:X})");
|
||||
Console.WriteLine($" Flag 1: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag1} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag1:X})");
|
||||
Console.WriteLine($" Flag 2: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag2} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag2:X})");
|
||||
Console.WriteLine($" Flag 0: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag0} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Flag0:X})");
|
||||
Console.WriteLine($" Priority: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Priority} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Priority:X})");
|
||||
Console.WriteLine($" Resource limit descriptors: {string.Join(", ", extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ResourceLimitDescriptors)}");
|
||||
|
||||
Console.WriteLine($" Storage info:");
|
||||
Console.WriteLine($" Extdata ID: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.ExtdataID}");
|
||||
Console.WriteLine($" Extdata ID: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.ExtdataID} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.ExtdataID:X})");
|
||||
Console.WriteLine($" System savedata IDs: {BitConverter.ToString(extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.SystemSavedataIDs).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Storage accessible unique IDs: {BitConverter.ToString(extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.StorageAccessibleUniqueIDs).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" File system access info: {BitConverter.ToString(extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.FileSystemAccessInfo).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Other attributes: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.OtherAttributes}");
|
||||
Console.WriteLine($" Other attributes: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.OtherAttributes} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.StorageInfo.OtherAttributes:X})");
|
||||
|
||||
Console.WriteLine($" Service access control: {string.Join(", ", extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ServiceAccessControl)}");
|
||||
Console.WriteLine($" Extended service access control: {string.Join(", ", extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ExtendedServiceAccessControl)}");
|
||||
Console.WriteLine($" Reserved: {BitConverter.ToString(extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.Reserved).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Resource limit cateogry: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ResourceLimitCategory}");
|
||||
Console.WriteLine($" Resource limit cateogry: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ResourceLimitCategory} (0x{extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ResourceLimitCategory:X})");
|
||||
|
||||
Console.WriteLine($" ARM11 kernel capabilities:");
|
||||
Console.WriteLine($" Descriptors: {string.Join(", ", extendedHeader.ACIForLimitations.ARM11KernelCapabilities.Descriptors)}");
|
||||
@@ -641,7 +639,7 @@ namespace BurnOutSharp.Wrappers
|
||||
|
||||
Console.WriteLine($" ARM9 access control:");
|
||||
Console.WriteLine($" Descriptors: {BitConverter.ToString(extendedHeader.ACIForLimitations.ARM9AccessControl.Descriptors).Replace('-', newChar: ' ')}");
|
||||
Console.WriteLine($" Descriptor version: {extendedHeader.ACIForLimitations.ARM9AccessControl.DescriptorVersion}");
|
||||
Console.WriteLine($" Descriptor version: {extendedHeader.ACIForLimitations.ARM9AccessControl.DescriptorVersion} (0x{extendedHeader.ACIForLimitations.ARM9AccessControl.DescriptorVersion:X})");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -677,8 +675,8 @@ namespace BurnOutSharp.Wrappers
|
||||
var fileHeader = exeFSHeader.FileHeaders[j];
|
||||
Console.WriteLine(value: $" File Header {j}");
|
||||
Console.WriteLine(value: $" File name: {fileHeader.FileName}");
|
||||
Console.WriteLine(value: $" File offset: {fileHeader.FileOffset}");
|
||||
Console.WriteLine(value: $" File size: {fileHeader.FileSize}");
|
||||
Console.WriteLine(value: $" File offset: {fileHeader.FileOffset} (0x{fileHeader.FileOffset:X})");
|
||||
Console.WriteLine(value: $" File size: {fileHeader.FileSize} (0x{fileHeader.FileSize:X})");
|
||||
}
|
||||
|
||||
Console.WriteLine(value: $" Reserved: {BitConverter.ToString(exeFSHeader.Reserved).Replace('-', ' ')}");
|
||||
@@ -720,22 +718,22 @@ namespace BurnOutSharp.Wrappers
|
||||
else
|
||||
{
|
||||
Console.WriteLine(value: $" Magic string: {romFSHeader.MagicString}");
|
||||
Console.WriteLine(value: $" Magic number: {romFSHeader.MagicNumber}");
|
||||
Console.WriteLine(value: $" Master hash size: {romFSHeader.MasterHashSize}");
|
||||
Console.WriteLine(value: $" Level 1 logical offset: {romFSHeader.Level1LogicalOffset}");
|
||||
Console.WriteLine(value: $" Level 1 hashdata size: {romFSHeader.Level1HashdataSize}");
|
||||
Console.WriteLine(value: $" Level 1 block size: {romFSHeader.Level1BlockSizeLog2}");
|
||||
Console.WriteLine(value: $" Magic number: {romFSHeader.MagicNumber} (0x{romFSHeader.MagicNumber:X})");
|
||||
Console.WriteLine(value: $" Master hash size: {romFSHeader.MasterHashSize} (0x{romFSHeader.MasterHashSize:X})");
|
||||
Console.WriteLine(value: $" Level 1 logical offset: {romFSHeader.Level1LogicalOffset} (0x{romFSHeader.Level1LogicalOffset:X})");
|
||||
Console.WriteLine(value: $" Level 1 hashdata size: {romFSHeader.Level1HashdataSize} (0x{romFSHeader.Level1HashdataSize:X})");
|
||||
Console.WriteLine(value: $" Level 1 block size: {romFSHeader.Level1BlockSizeLog2} (0x{romFSHeader.Level1BlockSizeLog2:X})");
|
||||
Console.WriteLine(value: $" Reserved 1: {BitConverter.ToString(romFSHeader.Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine(value: $" Level 2 logical offset: {romFSHeader.Level2LogicalOffset}");
|
||||
Console.WriteLine(value: $" Level 2 hashdata size: {romFSHeader.Level2HashdataSize}");
|
||||
Console.WriteLine(value: $" Level 2 block size: {romFSHeader.Level2BlockSizeLog2}");
|
||||
Console.WriteLine(value: $" Level 2 logical offset: {romFSHeader.Level2LogicalOffset} (0x{romFSHeader.Level2LogicalOffset:X})");
|
||||
Console.WriteLine(value: $" Level 2 hashdata size: {romFSHeader.Level2HashdataSize} (0x{romFSHeader.Level2HashdataSize:X})");
|
||||
Console.WriteLine(value: $" Level 2 block size: {romFSHeader.Level2BlockSizeLog2} (0x{romFSHeader.Level2BlockSizeLog2:X})");
|
||||
Console.WriteLine(value: $" Reserved 2: {BitConverter.ToString(romFSHeader.Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine(value: $" Level 3 logical offset: {romFSHeader.Level3LogicalOffset}");
|
||||
Console.WriteLine(value: $" Level 3 hashdata size: {romFSHeader.Level3HashdataSize}");
|
||||
Console.WriteLine(value: $" Level 3 block size: {romFSHeader.Level3BlockSizeLog2}");
|
||||
Console.WriteLine(value: $" Level 3 logical offset: {romFSHeader.Level3LogicalOffset} (0x{romFSHeader.Level3LogicalOffset:X})");
|
||||
Console.WriteLine(value: $" Level 3 hashdata size: {romFSHeader.Level3HashdataSize} (0x{romFSHeader.Level3HashdataSize:X})");
|
||||
Console.WriteLine(value: $" Level 3 block size: {romFSHeader.Level3BlockSizeLog2} (0x{romFSHeader.Level3BlockSizeLog2:X})");
|
||||
Console.WriteLine(value: $" Reserved 3: {BitConverter.ToString(romFSHeader.Reserved3).Replace('-', ' ')}");
|
||||
Console.WriteLine(value: $" Reserved 4: {BitConverter.ToString(romFSHeader.Reserved4).Replace('-', ' ')}");
|
||||
Console.WriteLine(value: $" Optional info size: {romFSHeader.OptionalInfoSize}");
|
||||
Console.WriteLine(value: $" Optional info size: {romFSHeader.OptionalInfoSize} (0x{romFSHeader.OptionalInfoSize:X})");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,17 +291,17 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {Dummy0}");
|
||||
Console.WriteLine($" Major version: {MajorVersion}");
|
||||
Console.WriteLine($" Minor version: {MinorVersion}");
|
||||
Console.WriteLine($" Cache ID: {CacheID}");
|
||||
Console.WriteLine($" Last version played: {LastVersionPlayed}");
|
||||
Console.WriteLine($" Dummy 1: {Dummy1}");
|
||||
Console.WriteLine($" Dummy 2: {Dummy2}");
|
||||
Console.WriteLine($" File size: {FileSize}");
|
||||
Console.WriteLine($" Block size: {BlockSize}");
|
||||
Console.WriteLine($" Block count: {BlockCount}");
|
||||
Console.WriteLine($" Dummy 3: {Dummy3}");
|
||||
Console.WriteLine($" Dummy 0: {Dummy0} (0x{Dummy0:X})");
|
||||
Console.WriteLine($" Major version: {MajorVersion} (0x{MajorVersion:X})");
|
||||
Console.WriteLine($" Minor version: {MinorVersion} (0x{MinorVersion:X})");
|
||||
Console.WriteLine($" Cache ID: {CacheID} (0x{CacheID:X})");
|
||||
Console.WriteLine($" Last version played: {LastVersionPlayed} (0x{LastVersionPlayed:X})");
|
||||
Console.WriteLine($" Dummy 1: {Dummy1} (0x{Dummy1:X})");
|
||||
Console.WriteLine($" Dummy 2: {Dummy2} (0x{Dummy2:X})");
|
||||
Console.WriteLine($" File size: {FileSize} (0x{FileSize:X})");
|
||||
Console.WriteLine($" Block size: {BlockSize} (0x{BlockSize:X})");
|
||||
Console.WriteLine($" Block count: {BlockCount} (0x{BlockCount:X})");
|
||||
Console.WriteLine($" Dummy 3: {Dummy3} (0x{Dummy3:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -312,20 +312,20 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Directory Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {DH_Dummy0}");
|
||||
Console.WriteLine($" Cache ID: {DH_CacheID}");
|
||||
Console.WriteLine($" Last version played: {DH_LastVersionPlayed}");
|
||||
Console.WriteLine($" Item count: {DH_ItemCount}");
|
||||
Console.WriteLine($" File count: {DH_FileCount}");
|
||||
Console.WriteLine($" Checksum data length: {DH_ChecksumDataLength}");
|
||||
Console.WriteLine($" Directory size: {DH_DirectorySize}");
|
||||
Console.WriteLine($" Name size: {DH_NameSize}");
|
||||
Console.WriteLine($" Info 1 count: {DH_Info1Count}");
|
||||
Console.WriteLine($" Copy count: {DH_CopyCount}");
|
||||
Console.WriteLine($" Local count: {DH_LocalCount}");
|
||||
Console.WriteLine($" Dummy 1: {DH_Dummy1}");
|
||||
Console.WriteLine($" Dummy 2: {DH_Dummy2}");
|
||||
Console.WriteLine($" Checksum: {DH_Checksum}");
|
||||
Console.WriteLine($" Dummy 0: {DH_Dummy0} (0x{DH_Dummy0:X})");
|
||||
Console.WriteLine($" Cache ID: {DH_CacheID} (0x{DH_CacheID:X})");
|
||||
Console.WriteLine($" Last version played: {DH_LastVersionPlayed} (0x{DH_LastVersionPlayed:X})");
|
||||
Console.WriteLine($" Item count: {DH_ItemCount} (0x{DH_ItemCount:X})");
|
||||
Console.WriteLine($" File count: {DH_FileCount} (0x{DH_FileCount:X})");
|
||||
Console.WriteLine($" Checksum data length: {DH_ChecksumDataLength} (0x{DH_ChecksumDataLength:X})");
|
||||
Console.WriteLine($" Directory size: {DH_DirectorySize} (0x{DH_DirectorySize:X})");
|
||||
Console.WriteLine($" Name size: {DH_NameSize} (0x{DH_NameSize:X})");
|
||||
Console.WriteLine($" Info 1 count: {DH_Info1Count} (0x{DH_Info1Count:X})");
|
||||
Console.WriteLine($" Copy count: {DH_CopyCount} (0x{DH_CopyCount:X})");
|
||||
Console.WriteLine($" Local count: {DH_LocalCount} (0x{DH_LocalCount:X})");
|
||||
Console.WriteLine($" Dummy 1: {DH_Dummy1} (0x{DH_Dummy1:X})");
|
||||
Console.WriteLine($" Dummy 2: {DH_Dummy2} (0x{DH_Dummy2:X})");
|
||||
Console.WriteLine($" Checksum: {DH_Checksum} (0x{DH_Checksum:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -346,14 +346,14 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryEntry = DirectoryEntries[i];
|
||||
Console.WriteLine($" Directory Entry {i}");
|
||||
Console.WriteLine($" Name offset: {directoryEntry.NameOffset}");
|
||||
Console.WriteLine($" Name offset: {directoryEntry.NameOffset} (0x{directoryEntry.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {directoryEntry.Name}");
|
||||
Console.WriteLine($" Item size: {directoryEntry.ItemSize}");
|
||||
Console.WriteLine($" Checksum index: {directoryEntry.ChecksumIndex}");
|
||||
Console.WriteLine($" Directory flags: {directoryEntry.DirectoryFlags}");
|
||||
Console.WriteLine($" Parent index: {directoryEntry.ParentIndex}");
|
||||
Console.WriteLine($" Next index: {directoryEntry.NextIndex}");
|
||||
Console.WriteLine($" First index: {directoryEntry.FirstIndex}");
|
||||
Console.WriteLine($" Item size: {directoryEntry.ItemSize} (0x{directoryEntry.ItemSize:X})");
|
||||
Console.WriteLine($" Checksum index: {directoryEntry.ChecksumIndex} (0x{directoryEntry.ChecksumIndex:X})");
|
||||
Console.WriteLine($" Directory flags: {directoryEntry.DirectoryFlags} (0x{directoryEntry.DirectoryFlags:X})");
|
||||
Console.WriteLine($" Parent index: {directoryEntry.ParentIndex} (0x{directoryEntry.ParentIndex:X})");
|
||||
Console.WriteLine($" Next index: {directoryEntry.NextIndex} (0x{directoryEntry.NextIndex:X})");
|
||||
Console.WriteLine($" First index: {directoryEntry.FirstIndex} (0x{directoryEntry.FirstIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -376,7 +376,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryInfoEntry = DirectoryInfo1Entries[i];
|
||||
Console.WriteLine($" Directory Info 1 Entry {i}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0} (0x{directoryInfoEntry.Dummy0:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -399,7 +399,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryInfoEntry = DirectoryInfo2Entries[i];
|
||||
Console.WriteLine($" Directory Info 2 Entry {i}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0}");
|
||||
Console.WriteLine($" Dummy 0: {directoryInfoEntry.Dummy0} (0x{directoryInfoEntry.Dummy0:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -422,7 +422,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryCopyEntry = DirectoryCopyEntries[i];
|
||||
Console.WriteLine($" Directory Copy Entry {i}");
|
||||
Console.WriteLine($" Directory index: {directoryCopyEntry.DirectoryIndex}");
|
||||
Console.WriteLine($" Directory index: {directoryCopyEntry.DirectoryIndex} (0x{directoryCopyEntry.DirectoryIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -445,7 +445,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryLocalEntry = DirectoryLocalEntries[i];
|
||||
Console.WriteLine($" Directory Local Entry {i}");
|
||||
Console.WriteLine($" Directory index: {directoryLocalEntry.DirectoryIndex}");
|
||||
Console.WriteLine($" Directory index: {directoryLocalEntry.DirectoryIndex} (0x{directoryLocalEntry.DirectoryIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -458,8 +458,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Unknown Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {UH_Dummy0}");
|
||||
Console.WriteLine($" Dummy 1: {UH_Dummy1}");
|
||||
Console.WriteLine($" Dummy 0: {UH_Dummy0} (0x{UH_Dummy0:X})");
|
||||
Console.WriteLine($" Dummy 1: {UH_Dummy1} (0x{UH_Dummy1:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -480,7 +480,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var unknownEntry = UnknownEntries[i];
|
||||
Console.WriteLine($" Unknown Entry {i}");
|
||||
Console.WriteLine($" Dummy 0: {unknownEntry.Dummy0}");
|
||||
Console.WriteLine($" Dummy 0: {unknownEntry.Dummy0} (0x{unknownEntry.Dummy0:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -493,8 +493,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Checksum Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {CH_Dummy0}");
|
||||
Console.WriteLine($" Checksum size: {CH_ChecksumSize}");
|
||||
Console.WriteLine($" Dummy 0: {CH_Dummy0} (0x{CH_Dummy0:X})");
|
||||
Console.WriteLine($" Checksum size: {CH_ChecksumSize} (0x{CH_ChecksumSize:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -505,10 +505,10 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Checksum Map Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Dummy 0: {CMH_Dummy0}");
|
||||
Console.WriteLine($" Dummy 1: {CMH_Dummy1}");
|
||||
Console.WriteLine($" Item count: {CMH_ItemCount}");
|
||||
Console.WriteLine($" Checksum count: {CMH_ChecksumCount}");
|
||||
Console.WriteLine($" Dummy 0: {CMH_Dummy0} (0x{CMH_Dummy0:X})");
|
||||
Console.WriteLine($" Dummy 1: {CMH_Dummy1} (0x{CMH_Dummy1:X})");
|
||||
Console.WriteLine($" Item count: {CMH_ItemCount} (0x{CMH_ItemCount:X})");
|
||||
Console.WriteLine($" Checksum count: {CMH_ChecksumCount} (0x{CMH_ChecksumCount:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -529,8 +529,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var checksumMapEntry = ChecksumMapEntries[i];
|
||||
Console.WriteLine($" Checksum Map Entry {i}");
|
||||
Console.WriteLine($" Checksum count: {checksumMapEntry.ChecksumCount}");
|
||||
Console.WriteLine($" First checksum index: {checksumMapEntry.FirstChecksumIndex}");
|
||||
Console.WriteLine($" Checksum count: {checksumMapEntry.ChecksumCount} (0x{checksumMapEntry.ChecksumCount:X})");
|
||||
Console.WriteLine($" First checksum index: {checksumMapEntry.FirstChecksumIndex} (0x{checksumMapEntry.FirstChecksumIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -553,7 +553,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var checksumEntry = ChecksumEntries[i];
|
||||
Console.WriteLine($" Checksum Entry {i}");
|
||||
Console.WriteLine($" Checksum: {checksumEntry.Checksum}");
|
||||
Console.WriteLine($" Checksum: {checksumEntry.Checksum} (0x{checksumEntry.Checksum:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -306,19 +306,19 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" MS-DOS Stub Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Magic number: {Stub_Magic}");
|
||||
Console.WriteLine($" Last page bytes: {Stub_LastPageBytes}");
|
||||
Console.WriteLine($" Pages: {Stub_Pages}");
|
||||
Console.WriteLine($" Relocation items: {Stub_RelocationItems}");
|
||||
Console.WriteLine($" Header paragraph size: {Stub_HeaderParagraphSize}");
|
||||
Console.WriteLine($" Minimum extra paragraphs: {Stub_MinimumExtraParagraphs}");
|
||||
Console.WriteLine($" Maximum extra paragraphs: {Stub_MaximumExtraParagraphs}");
|
||||
Console.WriteLine($" Initial SS value: {Stub_InitialSSValue}");
|
||||
Console.WriteLine($" Initial SP value: {Stub_InitialSPValue}");
|
||||
Console.WriteLine($" Checksum: {Stub_Checksum}");
|
||||
Console.WriteLine($" Initial IP value: {Stub_InitialIPValue}");
|
||||
Console.WriteLine($" Initial CS value: {Stub_InitialCSValue}");
|
||||
Console.WriteLine($" Relocation table address: {Stub_RelocationTableAddr}");
|
||||
Console.WriteLine($" Overlay number: {Stub_OverlayNumber}");
|
||||
Console.WriteLine($" Last page bytes: {Stub_LastPageBytes} (0x{Stub_LastPageBytes:X})");
|
||||
Console.WriteLine($" Pages: {Stub_Pages} (0x{Stub_Pages:X})");
|
||||
Console.WriteLine($" Relocation items: {Stub_RelocationItems} (0x{Stub_RelocationItems:X})");
|
||||
Console.WriteLine($" Header paragraph size: {Stub_HeaderParagraphSize} (0x{Stub_HeaderParagraphSize:X})");
|
||||
Console.WriteLine($" Minimum extra paragraphs: {Stub_MinimumExtraParagraphs} (0x{Stub_MinimumExtraParagraphs:X})");
|
||||
Console.WriteLine($" Maximum extra paragraphs: {Stub_MaximumExtraParagraphs} (0x{Stub_MaximumExtraParagraphs:X})");
|
||||
Console.WriteLine($" Initial SS value: {Stub_InitialSSValue} (0x{Stub_InitialSSValue:X})");
|
||||
Console.WriteLine($" Initial SP value: {Stub_InitialSPValue} (0x{Stub_InitialSPValue:X})");
|
||||
Console.WriteLine($" Checksum: {Stub_Checksum} (0x{Stub_Checksum:X})");
|
||||
Console.WriteLine($" Initial IP value: {Stub_InitialIPValue} (0x{Stub_InitialIPValue:X})");
|
||||
Console.WriteLine($" Initial CS value: {Stub_InitialCSValue} (0x{Stub_InitialCSValue:X})");
|
||||
Console.WriteLine($" Relocation table address: {Stub_RelocationTableAddr} (0x{Stub_RelocationTableAddr:X})");
|
||||
Console.WriteLine($" Overlay number: {Stub_OverlayNumber} (0x{Stub_OverlayNumber:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -330,10 +330,10 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" MS-DOS Stub Extended Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Reserved words: {string.Join(", ", Stub_Reserved1)}");
|
||||
Console.WriteLine($" OEM identifier: {Stub_OEMIdentifier}");
|
||||
Console.WriteLine($" OEM information: {Stub_OEMInformation}");
|
||||
Console.WriteLine($" OEM identifier: {Stub_OEMIdentifier} (0x{Stub_OEMIdentifier:X})");
|
||||
Console.WriteLine($" OEM information: {Stub_OEMInformation} (0x{Stub_OEMInformation:X})");
|
||||
Console.WriteLine($" Reserved words: {string.Join(", ", Stub_Reserved2)}");
|
||||
Console.WriteLine($" New EXE header address: {Stub_NewExeHeaderAddr}");
|
||||
Console.WriteLine($" New EXE header address: {Stub_NewExeHeaderAddr} (0x{Stub_NewExeHeaderAddr:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -345,36 +345,36 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Magic number: {Magic}");
|
||||
Console.WriteLine($" Linker version: {LinkerVersion}");
|
||||
Console.WriteLine($" Linker revision: {LinkerRevision}");
|
||||
Console.WriteLine($" Entry table offset: {EntryTableOffset}");
|
||||
Console.WriteLine($" Entry table size: {EntryTableSize}");
|
||||
Console.WriteLine($" CRC checksum: {CrcChecksum}");
|
||||
Console.WriteLine($" Flag word: {FlagWord}");
|
||||
Console.WriteLine($" Automatic data segment number: {AutomaticDataSegmentNumber}");
|
||||
Console.WriteLine($" Initial heap allocation: {InitialHeapAlloc}");
|
||||
Console.WriteLine($" Initial stack allocation: {InitialStackAlloc}");
|
||||
Console.WriteLine($" Initial CS:IP setting: {InitialCSIPSetting}");
|
||||
Console.WriteLine($" Initial SS:SP setting: {InitialSSSPSetting}");
|
||||
Console.WriteLine($" File segment count: {FileSegmentCount}");
|
||||
Console.WriteLine($" Module reference table size: {ModuleReferenceTableSize}");
|
||||
Console.WriteLine($" Non-resident name table size: {NonResidentNameTableSize}");
|
||||
Console.WriteLine($" Segment table offset: {SegmentTableOffset}");
|
||||
Console.WriteLine($" Resource table offset: {ResourceTableOffset}");
|
||||
Console.WriteLine($" Resident name table offset: {ResidentNameTableOffset}");
|
||||
Console.WriteLine($" Module reference table offset: {ModuleReferenceTableOffset}");
|
||||
Console.WriteLine($" Imported names table offset: {ImportedNamesTableOffset}");
|
||||
Console.WriteLine($" Non-resident name table offset: {NonResidentNamesTableOffset}");
|
||||
Console.WriteLine($" Moveable entries count: {MovableEntriesCount}");
|
||||
Console.WriteLine($" Segment alignment shift count: {SegmentAlignmentShiftCount}");
|
||||
Console.WriteLine($" Resource entries count: {ResourceEntriesCount}");
|
||||
Console.WriteLine($" Target operating system: {TargetOperatingSystem}");
|
||||
Console.WriteLine($" Additional flags: {AdditionalFlags}");
|
||||
Console.WriteLine($" Return thunk offset: {ReturnThunkOffset}");
|
||||
Console.WriteLine($" Segment reference thunk offset: {SegmentReferenceThunkOffset}");
|
||||
Console.WriteLine($" Minimum code swap area size: {MinCodeSwapAreaSize}");
|
||||
Console.WriteLine($" Windows SDK revision: {WindowsSDKRevision}");
|
||||
Console.WriteLine($" Windows SDK version: {WindowsSDKVersion}");
|
||||
Console.WriteLine($" Linker version: {LinkerVersion} (0x{LinkerVersion:X})");
|
||||
Console.WriteLine($" Linker revision: {LinkerRevision} (0x{LinkerRevision:X})");
|
||||
Console.WriteLine($" Entry table offset: {EntryTableOffset} (0x{EntryTableOffset:X})");
|
||||
Console.WriteLine($" Entry table size: {EntryTableSize} (0x{EntryTableSize:X})");
|
||||
Console.WriteLine($" CRC checksum: {CrcChecksum} (0x{CrcChecksum:X})");
|
||||
Console.WriteLine($" Flag word: {FlagWord} (0x{FlagWord:X})");
|
||||
Console.WriteLine($" Automatic data segment number: {AutomaticDataSegmentNumber} (0x{AutomaticDataSegmentNumber:X})");
|
||||
Console.WriteLine($" Initial heap allocation: {InitialHeapAlloc} (0x{InitialHeapAlloc:X})");
|
||||
Console.WriteLine($" Initial stack allocation: {InitialStackAlloc} (0x{InitialStackAlloc:X})");
|
||||
Console.WriteLine($" Initial CS:IP setting: {InitialCSIPSetting} (0x{InitialCSIPSetting:X})");
|
||||
Console.WriteLine($" Initial SS:SP setting: {InitialSSSPSetting} (0x{InitialSSSPSetting:X})");
|
||||
Console.WriteLine($" File segment count: {FileSegmentCount} (0x{FileSegmentCount:X})");
|
||||
Console.WriteLine($" Module reference table size: {ModuleReferenceTableSize} (0x{ModuleReferenceTableSize:X})");
|
||||
Console.WriteLine($" Non-resident name table size: {NonResidentNameTableSize} (0x{NonResidentNameTableSize:X})");
|
||||
Console.WriteLine($" Segment table offset: {SegmentTableOffset} (0x{SegmentTableOffset:X})");
|
||||
Console.WriteLine($" Resource table offset: {ResourceTableOffset} (0x{ResourceTableOffset:X})");
|
||||
Console.WriteLine($" Resident name table offset: {ResidentNameTableOffset} (0x{ResidentNameTableOffset:X})");
|
||||
Console.WriteLine($" Module reference table offset: {ModuleReferenceTableOffset} (0x{ModuleReferenceTableOffset:X})");
|
||||
Console.WriteLine($" Imported names table offset: {ImportedNamesTableOffset} (0x{ImportedNamesTableOffset:X})");
|
||||
Console.WriteLine($" Non-resident name table offset: {NonResidentNamesTableOffset} (0x{NonResidentNamesTableOffset:X})");
|
||||
Console.WriteLine($" Moveable entries count: {MovableEntriesCount} (0x{MovableEntriesCount:X})");
|
||||
Console.WriteLine($" Segment alignment shift count: {SegmentAlignmentShiftCount} (0x{SegmentAlignmentShiftCount:X})");
|
||||
Console.WriteLine($" Resource entries count: {ResourceEntriesCount} (0x{ResourceEntriesCount:X})");
|
||||
Console.WriteLine($" Target operating system: {TargetOperatingSystem} (0x{TargetOperatingSystem:X})");
|
||||
Console.WriteLine($" Additional flags: {AdditionalFlags} (0x{AdditionalFlags:X})");
|
||||
Console.WriteLine($" Return thunk offset: {ReturnThunkOffset} (0x{ReturnThunkOffset:X})");
|
||||
Console.WriteLine($" Segment reference thunk offset: {SegmentReferenceThunkOffset} (0x{SegmentReferenceThunkOffset:X})");
|
||||
Console.WriteLine($" Minimum code swap area size: {MinCodeSwapAreaSize} (0x{MinCodeSwapAreaSize:X})");
|
||||
Console.WriteLine($" Windows SDK revision: {WindowsSDKRevision} (0x{WindowsSDKRevision:X})");
|
||||
Console.WriteLine($" Windows SDK version: {WindowsSDKVersion} (0x{WindowsSDKVersion:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -395,10 +395,10 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = SegmentTable[i];
|
||||
Console.WriteLine($" Segment Table Entry {i}");
|
||||
Console.WriteLine($" Offset = {entry.Offset}");
|
||||
Console.WriteLine($" Length = {entry.Length}");
|
||||
Console.WriteLine($" Flag word = {entry.FlagWord}");
|
||||
Console.WriteLine($" Minimum allocation size = {entry.MinimumAllocationSize}");
|
||||
Console.WriteLine($" Offset: {entry.Offset}");
|
||||
Console.WriteLine($" Length: {entry.Length}");
|
||||
Console.WriteLine($" Flag word: {entry.FlagWord}");
|
||||
Console.WriteLine($" Minimum allocation size: {entry.MinimumAllocationSize}");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -411,7 +411,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Resource Table Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Alignment shift count: {ResourceTable.AlignmentShiftCount}");
|
||||
Console.WriteLine($" Alignment shift count: {ResourceTable.AlignmentShiftCount} (0x{ResourceTable.AlignmentShiftCount:X})");
|
||||
if (ResourceEntriesCount == 0 || ResourceTable.ResourceTypes.Length == 0)
|
||||
{
|
||||
Console.WriteLine(" No resource table items");
|
||||
@@ -423,9 +423,9 @@ namespace BurnOutSharp.Wrappers
|
||||
// TODO: If not integer type, print out name
|
||||
var entry = ResourceTable.ResourceTypes[i];
|
||||
Console.WriteLine($" Resource Table Entry {i}");
|
||||
Console.WriteLine($" Type ID = {entry.TypeID} (Is Integer Type: {entry.IsIntegerType()})");
|
||||
Console.WriteLine($" Resource count = {entry.ResourceCount}");
|
||||
Console.WriteLine($" Reserved = {entry.Reserved}");
|
||||
Console.WriteLine($" Type ID: {entry.TypeID} (0x{entry.TypeID:X}) (Is Integer Type: {entry.IsIntegerType()})");
|
||||
Console.WriteLine($" Resource count: {entry.ResourceCount}");
|
||||
Console.WriteLine($" Reserved: {entry.Reserved}");
|
||||
Console.WriteLine($" Resources = ");
|
||||
if (entry.ResourceCount == 0 || entry.Resources.Length == 0)
|
||||
{
|
||||
@@ -438,11 +438,11 @@ namespace BurnOutSharp.Wrappers
|
||||
// TODO: If not integer type, print out name
|
||||
var resource = entry.Resources[j];
|
||||
Console.WriteLine($" Resource Entry {i}");
|
||||
Console.WriteLine($" Offset = {resource.Offset}");
|
||||
Console.WriteLine($" Length = {resource.Length}");
|
||||
Console.WriteLine($" Flag word = {resource.FlagWord}");
|
||||
Console.WriteLine($" Resource ID = {resource.ResourceID} (Is Integer Type: {resource.IsIntegerType()})");
|
||||
Console.WriteLine($" Reserved = {resource.Reserved}");
|
||||
Console.WriteLine($" Offset: {resource.Offset}");
|
||||
Console.WriteLine($" Length: {resource.Length}");
|
||||
Console.WriteLine($" Flag word: {resource.FlagWord}");
|
||||
Console.WriteLine($" Resource ID: {resource.ResourceID} (Is Integer Type: {resource.IsIntegerType()})");
|
||||
Console.WriteLine($" Reserved: {resource.Reserved}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -457,8 +457,8 @@ namespace BurnOutSharp.Wrappers
|
||||
foreach (var typeAndNameString in ResourceTable.TypeAndNameStrings)
|
||||
{
|
||||
Console.WriteLine($" Resource Type/Name Offset {typeAndNameString.Key}");
|
||||
Console.WriteLine($" Length = {typeAndNameString.Value.Length}");
|
||||
Console.WriteLine($" Text = {Encoding.ASCII.GetString(typeAndNameString.Value.Text)}");
|
||||
Console.WriteLine($" Length: {typeAndNameString.Value.Length}");
|
||||
Console.WriteLine($" Text: {Encoding.ASCII.GetString(typeAndNameString.Value.Text)}");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -481,9 +481,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = ResidentNameTable[i];
|
||||
Console.WriteLine($" Resident-Name Table Entry {i}");
|
||||
Console.WriteLine($" Length = {entry.Length}");
|
||||
Console.WriteLine($" Name string = {(entry.NameString != null ? Encoding.ASCII.GetString(entry.NameString) : "[EMPTY]")}");
|
||||
Console.WriteLine($" Ordinal number = {entry.OrdinalNumber}");
|
||||
Console.WriteLine($" Length: {entry.Length}");
|
||||
Console.WriteLine($" Name string: {(entry.NameString != null ? Encoding.ASCII.GetString(entry.NameString) : "[EMPTY]")}");
|
||||
Console.WriteLine($" Ordinal number: {entry.OrdinalNumber}");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -507,7 +507,7 @@ namespace BurnOutSharp.Wrappers
|
||||
// TODO: Read the imported names table and print value here
|
||||
var entry = ModuleReferenceTable[i];
|
||||
Console.WriteLine($" Module-Reference Table Entry {i}");
|
||||
Console.WriteLine($" Offset = {entry.Offset} (adjusted to be {entry.Offset + Stub_NewExeHeaderAddr + ImportedNamesTableOffset})");
|
||||
Console.WriteLine($" Offset: {entry.Offset} (adjusted to be {entry.Offset + Stub_NewExeHeaderAddr + ImportedNamesTableOffset})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -529,8 +529,8 @@ namespace BurnOutSharp.Wrappers
|
||||
foreach (var entry in ImportedNameTable)
|
||||
{
|
||||
Console.WriteLine($" Imported-Name Table at Offset {entry.Key}");
|
||||
Console.WriteLine($" Length = {entry.Value.Length}");
|
||||
Console.WriteLine($" Name string = {(entry.Value.NameString != null ? Encoding.ASCII.GetString(entry.Value.NameString) : "[EMPTY]")}");
|
||||
Console.WriteLine($" Length: {entry.Value.Length}");
|
||||
Console.WriteLine($" Name string: {(entry.Value.NameString != null ? Encoding.ASCII.GetString(entry.Value.NameString) : "[EMPTY]")}");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -553,19 +553,19 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = EntryTable[i];
|
||||
Console.WriteLine($" Entry Table Entry {i}");
|
||||
Console.WriteLine($" Entry count = {entry.EntryCount}");
|
||||
Console.WriteLine($" Segment indicator = {entry.SegmentIndicator} ({entry.GetEntryType()})");
|
||||
Console.WriteLine($" Entry count: {entry.EntryCount}");
|
||||
Console.WriteLine($" Segment indicator: {entry.SegmentIndicator} ({entry.GetEntryType()})");
|
||||
switch (entry.GetEntryType())
|
||||
{
|
||||
case BurnOutSharp.Models.NewExecutable.SegmentEntryType.FixedSegment:
|
||||
Console.WriteLine($" Flag word = {entry.FixedFlagWord}");
|
||||
Console.WriteLine($" Offset = {entry.FixedOffset}");
|
||||
Console.WriteLine($" Flag word: {entry.FixedFlagWord}");
|
||||
Console.WriteLine($" Offset: {entry.FixedOffset}");
|
||||
break;
|
||||
case BurnOutSharp.Models.NewExecutable.SegmentEntryType.MoveableSegment:
|
||||
Console.WriteLine($" Flag word = {entry.MoveableFlagWord}");
|
||||
Console.WriteLine($" Reserved = {entry.MoveableReserved}");
|
||||
Console.WriteLine($" Segment number = {entry.MoveableSegmentNumber}");
|
||||
Console.WriteLine($" Offset = {entry.MoveableOffset}");
|
||||
Console.WriteLine($" Flag word: {entry.MoveableFlagWord}");
|
||||
Console.WriteLine($" Reserved: {entry.MoveableReserved}");
|
||||
Console.WriteLine($" Segment number: {entry.MoveableSegmentNumber}");
|
||||
Console.WriteLine($" Offset: {entry.MoveableOffset}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -590,9 +590,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = NonResidentNameTable[i];
|
||||
Console.WriteLine($" Nonresident-Name Table Entry {i}");
|
||||
Console.WriteLine($" Length = {entry.Length}");
|
||||
Console.WriteLine($" Name string = {(entry.NameString != null ? Encoding.ASCII.GetString(entry.NameString) : "[EMPTY]")}");
|
||||
Console.WriteLine($" Ordinal number = {entry.OrdinalNumber}");
|
||||
Console.WriteLine($" Length: {entry.Length}");
|
||||
Console.WriteLine($" Name string: {(entry.NameString != null ? Encoding.ASCII.GetString(entry.NameString) : "[EMPTY]")}");
|
||||
Console.WriteLine($" Ordinal number: {entry.OrdinalNumber}");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -395,44 +395,44 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Common Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Game title: {GameTitle ?? "[NULL]"}");
|
||||
Console.WriteLine($" Game code: {GameCode}");
|
||||
Console.WriteLine($" Game code: {GameCode} (0x{GameCode:X})");
|
||||
Console.WriteLine($" Maker code: {MakerCode ?? "[NULL]"}");
|
||||
Console.WriteLine($" Unit code: {UnitCode}");
|
||||
Console.WriteLine($" Encryption seed select: {EncryptionSeedSelect}");
|
||||
Console.WriteLine($" Device capacity: {DeviceCapacity}");
|
||||
Console.WriteLine($" Unit code: {UnitCode} (0x{UnitCode:X})");
|
||||
Console.WriteLine($" Encryption seed select: {EncryptionSeedSelect} (0x{EncryptionSeedSelect:X})");
|
||||
Console.WriteLine($" Device capacity: {DeviceCapacity} (0x{DeviceCapacity:X})");
|
||||
Console.WriteLine($" Reserved 1: {BitConverter.ToString(Reserved1).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Game revision: {GameRevision}");
|
||||
Console.WriteLine($" Rom version: {RomVersion}");
|
||||
Console.WriteLine($" ARM9 rom offset: {ARM9RomOffset}");
|
||||
Console.WriteLine($" ARM9 entry address: {ARM9EntryAddress}");
|
||||
Console.WriteLine($" ARM9 load address: {ARM9LoadAddress}");
|
||||
Console.WriteLine($" ARM9 size: {ARM9Size}");
|
||||
Console.WriteLine($" ARM7 rom offset: {ARM7RomOffset}");
|
||||
Console.WriteLine($" ARM7 entry address: {ARM7EntryAddress}");
|
||||
Console.WriteLine($" ARM7 load address: {ARM7LoadAddress}");
|
||||
Console.WriteLine($" ARM7 size: {ARM7Size}");
|
||||
Console.WriteLine($" File name table offset: {FileNameTableOffset}");
|
||||
Console.WriteLine($" File name table length: {FileNameTableLength}");
|
||||
Console.WriteLine($" File allocation table offset: {FileAllocationTableOffset}");
|
||||
Console.WriteLine($" File allocation table length: {FileAllocationTableLength}");
|
||||
Console.WriteLine($" ARM9 overlay offset: {ARM9OverlayOffset}");
|
||||
Console.WriteLine($" ARM9 overlay length: {ARM9OverlayLength}");
|
||||
Console.WriteLine($" ARM7 overlay offset: {ARM7OverlayOffset}");
|
||||
Console.WriteLine($" ARM7 overlay length: {ARM7OverlayLength}");
|
||||
Console.WriteLine($" Normal card control register settings: {NormalCardControlRegisterSettings}");
|
||||
Console.WriteLine($" Secure card control register settings: {SecureCardControlRegisterSettings}");
|
||||
Console.WriteLine($" Icon banner offset: {IconBannerOffset}");
|
||||
Console.WriteLine($" Secure area CRC: {SecureAreaCRC}");
|
||||
Console.WriteLine($" Secure transfer timeout: {SecureTransferTimeout}");
|
||||
Console.WriteLine($" ARM9 autoload: {ARM9Autoload}");
|
||||
Console.WriteLine($" ARM7 autoload: {ARM7Autoload}");
|
||||
Console.WriteLine($" Secure disable: {SecureDisable}");
|
||||
Console.WriteLine($" NTR region rom size: {NTRRegionRomSize}");
|
||||
Console.WriteLine($" Header size: {HeaderSize}");
|
||||
Console.WriteLine($" Game revision: {GameRevision} (0x{GameRevision:X})");
|
||||
Console.WriteLine($" Rom version: {RomVersion} (0x{RomVersion:X})");
|
||||
Console.WriteLine($" ARM9 rom offset: {ARM9RomOffset} (0x{ARM9RomOffset:X})");
|
||||
Console.WriteLine($" ARM9 entry address: {ARM9EntryAddress} (0x{ARM9EntryAddress:X})");
|
||||
Console.WriteLine($" ARM9 load address: {ARM9LoadAddress} (0x{ARM9LoadAddress:X})");
|
||||
Console.WriteLine($" ARM9 size: {ARM9Size} (0x{ARM9Size:X})");
|
||||
Console.WriteLine($" ARM7 rom offset: {ARM7RomOffset} (0x{ARM7RomOffset:X})");
|
||||
Console.WriteLine($" ARM7 entry address: {ARM7EntryAddress} (0x{ARM7EntryAddress:X})");
|
||||
Console.WriteLine($" ARM7 load address: {ARM7LoadAddress} (0x{ARM7LoadAddress:X})");
|
||||
Console.WriteLine($" ARM7 size: {ARM7Size} (0x{ARM7Size:X})");
|
||||
Console.WriteLine($" File name table offset: {FileNameTableOffset} (0x{FileNameTableOffset:X})");
|
||||
Console.WriteLine($" File name table length: {FileNameTableLength} (0x{FileNameTableLength:X})");
|
||||
Console.WriteLine($" File allocation table offset: {FileAllocationTableOffset} (0x{FileAllocationTableOffset:X})");
|
||||
Console.WriteLine($" File allocation table length: {FileAllocationTableLength} (0x{FileAllocationTableLength:X})");
|
||||
Console.WriteLine($" ARM9 overlay offset: {ARM9OverlayOffset} (0x{ARM9OverlayOffset:X})");
|
||||
Console.WriteLine($" ARM9 overlay length: {ARM9OverlayLength} (0x{ARM9OverlayLength:X})");
|
||||
Console.WriteLine($" ARM7 overlay offset: {ARM7OverlayOffset} (0x{ARM7OverlayOffset:X})");
|
||||
Console.WriteLine($" ARM7 overlay length: {ARM7OverlayLength} (0x{ARM7OverlayLength:X})");
|
||||
Console.WriteLine($" Normal card control register settings: {NormalCardControlRegisterSettings} (0x{NormalCardControlRegisterSettings:X})");
|
||||
Console.WriteLine($" Secure card control register settings: {SecureCardControlRegisterSettings} (0x{SecureCardControlRegisterSettings:X})");
|
||||
Console.WriteLine($" Icon banner offset: {IconBannerOffset} (0x{IconBannerOffset:X})");
|
||||
Console.WriteLine($" Secure area CRC: {SecureAreaCRC} (0x{SecureAreaCRC:X})");
|
||||
Console.WriteLine($" Secure transfer timeout: {SecureTransferTimeout} (0x{SecureTransferTimeout:X})");
|
||||
Console.WriteLine($" ARM9 autoload: {ARM9Autoload} (0x{ARM9Autoload:X})");
|
||||
Console.WriteLine($" ARM7 autoload: {ARM7Autoload} (0x{ARM7Autoload:X})");
|
||||
Console.WriteLine($" Secure disable: {SecureDisable} (0x{SecureDisable:X})");
|
||||
Console.WriteLine($" NTR region rom size: {NTRRegionRomSize} (0x{NTRRegionRomSize:X})");
|
||||
Console.WriteLine($" Header size: {HeaderSize} (0x{HeaderSize:X})");
|
||||
Console.WriteLine($" Reserved 2: {BitConverter.ToString(Reserved2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Nintendo logo: {BitConverter.ToString(NintendoLogo).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Nintendo logo CRC: {NintendoLogoCRC}");
|
||||
Console.WriteLine($" Header CRC: {HeaderCRC}");
|
||||
Console.WriteLine($" Nintendo logo CRC: {NintendoLogoCRC} (0x{NintendoLogoCRC:X})");
|
||||
Console.WriteLine($" Header CRC: {HeaderCRC} (0x{HeaderCRC:X})");
|
||||
Console.WriteLine($" Debugger reserved: {BitConverter.ToString(DebuggerReserved).Replace('-', ' ')}");
|
||||
Console.WriteLine();
|
||||
}
|
||||
@@ -453,38 +453,38 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine($" Global MBK1..MBK5 settings: {string.Join(", ", GlobalMBK15Settings)}");
|
||||
Console.WriteLine($" Local MBK6..MBK8 settings for ARM9: {string.Join(", ", LocalMBK68SettingsARM9)}");
|
||||
Console.WriteLine($" Local MBK6..MBK8 settings for ARM7: {string.Join(", ", LocalMBK68SettingsARM7)}");
|
||||
Console.WriteLine($" Global MBK9 setting: {GlobalMBK9Setting}");
|
||||
Console.WriteLine($" Region flags: {RegionFlags}");
|
||||
Console.WriteLine($" Access control: {AccessControl}");
|
||||
Console.WriteLine($" ARM7 SCFG EXT mask: {ARM7SCFGEXTMask}");
|
||||
Console.WriteLine($" Reserved/flags?: {ReservedFlags}");
|
||||
Console.WriteLine($" ARM9i rom offset: {ARM9iRomOffset}");
|
||||
Console.WriteLine($" Reserved 3: {Reserved3}");
|
||||
Console.WriteLine($" ARM9i load address: {ARM9iLoadAddress}");
|
||||
Console.WriteLine($" ARM9i size: {ARM9iSize}");
|
||||
Console.WriteLine($" ARM7i rom offset: {ARM7iRomOffset}");
|
||||
Console.WriteLine($" Reserved 4: {Reserved4}");
|
||||
Console.WriteLine($" ARM7i load address: {ARM7iLoadAddress}");
|
||||
Console.WriteLine($" ARM7i size: {ARM7iSize}");
|
||||
Console.WriteLine($" Digest NTR region offset: {DigestNTRRegionOffset}");
|
||||
Console.WriteLine($" Digest NTR region length: {DigestNTRRegionLength}");
|
||||
Console.WriteLine($" Digest TWL region offset: {DigestTWLRegionOffset}");
|
||||
Console.WriteLine($" Digest TWL region length: {DigestTWLRegionLength}");
|
||||
Console.WriteLine($" Digest sector hashtable region offset: {DigestSectorHashtableRegionOffset}");
|
||||
Console.WriteLine($" Digest sector hashtable region length: {DigestSectorHashtableRegionLength}");
|
||||
Console.WriteLine($" Digest block hashtable region offset: {DigestBlockHashtableRegionOffset}");
|
||||
Console.WriteLine($" Digest block hashtable region length: {DigestBlockHashtableRegionLength}");
|
||||
Console.WriteLine($" Digest sector size: {DigestSectorSize}");
|
||||
Console.WriteLine($" Digest block sector count: {DigestBlockSectorCount}");
|
||||
Console.WriteLine($" Icon banner size: {IconBannerSize}");
|
||||
Console.WriteLine($" Unknown 1: {Unknown1}");
|
||||
Console.WriteLine($" Modcrypt area 1 offset: {ModcryptArea1Offset}");
|
||||
Console.WriteLine($" Modcrypt area 1 size: {ModcryptArea1Size}");
|
||||
Console.WriteLine($" Modcrypt area 2 offset: {ModcryptArea2Offset}");
|
||||
Console.WriteLine($" Modcrypt area 2 size: {ModcryptArea2Size}");
|
||||
Console.WriteLine($" Global MBK9 setting: {GlobalMBK9Setting} (0x{GlobalMBK9Setting:X})");
|
||||
Console.WriteLine($" Region flags: {RegionFlags} (0x{RegionFlags:X})");
|
||||
Console.WriteLine($" Access control: {AccessControl} (0x{AccessControl:X})");
|
||||
Console.WriteLine($" ARM7 SCFG EXT mask: {ARM7SCFGEXTMask} (0x{ARM7SCFGEXTMask:X})");
|
||||
Console.WriteLine($" Reserved/flags?: {ReservedFlags} (0x{ReservedFlags:X})");
|
||||
Console.WriteLine($" ARM9i rom offset: {ARM9iRomOffset} (0x{ARM9iRomOffset:X})");
|
||||
Console.WriteLine($" Reserved 3: {Reserved3} (0x{Reserved3:X})");
|
||||
Console.WriteLine($" ARM9i load address: {ARM9iLoadAddress} (0x{ARM9iLoadAddress:X})");
|
||||
Console.WriteLine($" ARM9i size: {ARM9iSize} (0x{ARM9iSize:X})");
|
||||
Console.WriteLine($" ARM7i rom offset: {ARM7iRomOffset} (0x{ARM7iRomOffset:X})");
|
||||
Console.WriteLine($" Reserved 4: {Reserved4} (0x{Reserved4:X})");
|
||||
Console.WriteLine($" ARM7i load address: {ARM7iLoadAddress} (0x{ARM7iLoadAddress:X})");
|
||||
Console.WriteLine($" ARM7i size: {ARM7iSize} (0x{ARM7iSize:X})");
|
||||
Console.WriteLine($" Digest NTR region offset: {DigestNTRRegionOffset} (0x{DigestNTRRegionOffset:X})");
|
||||
Console.WriteLine($" Digest NTR region length: {DigestNTRRegionLength} (0x{DigestNTRRegionLength:X})");
|
||||
Console.WriteLine($" Digest TWL region offset: {DigestTWLRegionOffset} (0x{DigestTWLRegionOffset:X})");
|
||||
Console.WriteLine($" Digest TWL region length: {DigestTWLRegionLength} (0x{DigestTWLRegionLength:X})");
|
||||
Console.WriteLine($" Digest sector hashtable region offset: {DigestSectorHashtableRegionOffset} (0x{DigestSectorHashtableRegionOffset:X})");
|
||||
Console.WriteLine($" Digest sector hashtable region length: {DigestSectorHashtableRegionLength} (0x{DigestSectorHashtableRegionLength:X})");
|
||||
Console.WriteLine($" Digest block hashtable region offset: {DigestBlockHashtableRegionOffset} (0x{DigestBlockHashtableRegionOffset:X})");
|
||||
Console.WriteLine($" Digest block hashtable region length: {DigestBlockHashtableRegionLength} (0x{DigestBlockHashtableRegionLength:X})");
|
||||
Console.WriteLine($" Digest sector size: {DigestSectorSize} (0x{DigestSectorSize:X})");
|
||||
Console.WriteLine($" Digest block sector count: {DigestBlockSectorCount} (0x{DigestBlockSectorCount:X})");
|
||||
Console.WriteLine($" Icon banner size: {IconBannerSize} (0x{IconBannerSize:X})");
|
||||
Console.WriteLine($" Unknown 1: {Unknown1} (0x{Unknown1:X})");
|
||||
Console.WriteLine($" Modcrypt area 1 offset: {ModcryptArea1Offset} (0x{ModcryptArea1Offset:X})");
|
||||
Console.WriteLine($" Modcrypt area 1 size: {ModcryptArea1Size} (0x{ModcryptArea1Size:X})");
|
||||
Console.WriteLine($" Modcrypt area 2 offset: {ModcryptArea2Offset} (0x{ModcryptArea2Offset:X})");
|
||||
Console.WriteLine($" Modcrypt area 2 size: {ModcryptArea2Size} (0x{ModcryptArea2Size:X})");
|
||||
Console.WriteLine($" Title ID: {BitConverter.ToString(TitleID).Replace('-', ' ')}");
|
||||
Console.WriteLine($" DSiWare 'public.sav' size: {DSiWarePublicSavSize}");
|
||||
Console.WriteLine($" DSiWare 'private.sav' size: {DSiWarePrivateSavSize}");
|
||||
Console.WriteLine($" DSiWare 'public.sav' size: {DSiWarePublicSavSize} (0x{DSiWarePublicSavSize:X})");
|
||||
Console.WriteLine($" DSiWare 'private.sav' size: {DSiWarePrivateSavSize} (0x{DSiWarePrivateSavSize:X})");
|
||||
Console.WriteLine($" Reserved (zero): {BitConverter.ToString(ReservedZero).Replace('-', ' ')}");
|
||||
Console.WriteLine($" Unknown 2: {BitConverter.ToString(Unknown2).Replace('-', ' ')}");
|
||||
Console.WriteLine($" ARM9 (with encrypted secure area) SHA1 HMAC hash: {BitConverter.ToString(ARM9WithSecureAreaSHA1HMACHash).Replace('-', ' ')}");
|
||||
@@ -543,16 +543,17 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = FolderAllocationTable[i];
|
||||
Console.WriteLine($" Folder Allocation Table Entry {i}");
|
||||
Console.WriteLine($" Start offset: {entry.StartOffset}");
|
||||
Console.WriteLine($" First file index: {entry.FirstFileIndex}");
|
||||
Console.WriteLine($" Start offset: {entry.StartOffset} (0x{entry.StartOffset:X})");
|
||||
Console.WriteLine($" First file index: {entry.FirstFileIndex} (0x{entry.FirstFileIndex:X})");
|
||||
if (entry.Unknown == 0xF0)
|
||||
{
|
||||
Console.WriteLine($" Parent folder index: {entry.ParentFolderIndex}");
|
||||
Console.WriteLine($" Unknown: {entry.Unknown}");
|
||||
Console.WriteLine($" Parent folder index: {entry.ParentFolderIndex} (0x{entry.ParentFolderIndex:X})");
|
||||
Console.WriteLine($" Unknown: {entry.Unknown} (0x{entry.Unknown:X})");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" Total entries: {(entry.Unknown << 8) | entry.ParentFolderIndex}");
|
||||
ushort totalEntries = (ushort)((entry.Unknown << 8) | entry.ParentFolderIndex);
|
||||
Console.WriteLine($" Total entries: {totalEntries} (0x{totalEntries:X})");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -576,10 +577,10 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = NameList[i];
|
||||
Console.WriteLine($" Name List Entry {i}");
|
||||
Console.WriteLine($" Folder: {entry.Folder}");
|
||||
Console.WriteLine($" Folder: {entry.Folder} (0x{entry.Folder:X})");
|
||||
Console.WriteLine($" Name: {entry.Name ?? "[NULL]"}");
|
||||
if (entry.Folder)
|
||||
Console.WriteLine($" Index: {entry.Index}");
|
||||
Console.WriteLine($" Index: {entry.Index} (0x{entry.Index:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -602,8 +603,8 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var entry = FileAllocationTable[i];
|
||||
Console.WriteLine($" File Allocation Table Entry {i}");
|
||||
Console.WriteLine($" Start offset: {entry.StartOffset}");
|
||||
Console.WriteLine($" End offset: {entry.EndOffset}");
|
||||
Console.WriteLine($" Start offset: {entry.StartOffset} (0x{entry.StartOffset:X})");
|
||||
Console.WriteLine($" End offset: {entry.EndOffset} (0x{entry.EndOffset:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -119,8 +119,8 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Directory offset: {DirectoryOffset}");
|
||||
Console.WriteLine($" Directory length: {DirectoryLength}");
|
||||
Console.WriteLine($" Directory offset: {DirectoryOffset} (0x{DirectoryOffset:X})");
|
||||
Console.WriteLine($" Directory length: {DirectoryLength} (0x{DirectoryLength:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -142,8 +142,8 @@ namespace BurnOutSharp.Wrappers
|
||||
var directoryItem = DirectoryItems[i];
|
||||
Console.WriteLine($" Directory Item {i}");
|
||||
Console.WriteLine($" Item name: {directoryItem.ItemName}");
|
||||
Console.WriteLine($" Item offset: {directoryItem.ItemOffset}");
|
||||
Console.WriteLine($" Item length: {directoryItem.ItemLength}");
|
||||
Console.WriteLine($" Item offset: {directoryItem.ItemOffset} (0x{directoryItem.ItemOffset:X})");
|
||||
Console.WriteLine($" Item length: {directoryItem.ItemLength} (0x{directoryItem.ItemLength:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -229,7 +229,7 @@ namespace BurnOutSharp.Wrappers
|
||||
|
||||
PrintHeader();
|
||||
PrintFileList();
|
||||
Console.WriteLine($" Compressed data offset: {CompressedDataOffset}");
|
||||
Console.WriteLine($" Compressed data offset: {CompressedDataOffset} (0x{CompressedDataOffset:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -241,11 +241,11 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Major version: {MajorVersion}");
|
||||
Console.WriteLine($" Minor version: {MinorVersion}");
|
||||
Console.WriteLine($" File count: {FileCount}");
|
||||
Console.WriteLine($" Table size: {TableSize}");
|
||||
Console.WriteLine($" Compression flags: {CompressionFlags}");
|
||||
Console.WriteLine($" Major version: {MajorVersion} (0x{MajorVersion:X})");
|
||||
Console.WriteLine($" Minor version: {MinorVersion} (0x{MinorVersion:X})");
|
||||
Console.WriteLine($" File count: {FileCount} (0x{FileCount:X})");
|
||||
Console.WriteLine($" Table size: {TableSize} (0x{TableSize:X})");
|
||||
Console.WriteLine($" Compression flags: {CompressionFlags} (0x{CompressionFlags:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -266,15 +266,15 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var fileDescriptor = FileList[i];
|
||||
Console.WriteLine($" File Descriptor {i}");
|
||||
Console.WriteLine($" File name size = {fileDescriptor.FileNameSize}");
|
||||
Console.WriteLine($" File name = {fileDescriptor.FileName ?? "[NULL]"}");
|
||||
Console.WriteLine($" Comment field size = {fileDescriptor.CommentFieldSize}");
|
||||
Console.WriteLine($" Comment field = {fileDescriptor.CommentField ?? "[NULL]"}");
|
||||
Console.WriteLine($" Expanded file size = {fileDescriptor.ExpandedFileSize}");
|
||||
Console.WriteLine($" File time = {fileDescriptor.FileTime}");
|
||||
Console.WriteLine($" File date = {fileDescriptor.FileDate}");
|
||||
Console.WriteLine($" File name size: {fileDescriptor.FileNameSize} (0x{fileDescriptor.FileNameSize:X})");
|
||||
Console.WriteLine($" File name: {fileDescriptor.FileName ?? "[NULL]"}");
|
||||
Console.WriteLine($" Comment field size: {fileDescriptor.CommentFieldSize} (0x{fileDescriptor.CommentFieldSize:X})");
|
||||
Console.WriteLine($" Comment field: {fileDescriptor.CommentField ?? "[NULL]"}");
|
||||
Console.WriteLine($" Expanded file size: {fileDescriptor.ExpandedFileSize} (0x{fileDescriptor.ExpandedFileSize:X})");
|
||||
Console.WriteLine($" File time: {fileDescriptor.FileTime} (0x{fileDescriptor.FileTime:X})");
|
||||
Console.WriteLine($" File date: {fileDescriptor.FileDate} (0x{fileDescriptor.FileDate:X})");
|
||||
if (fileDescriptor.Unknown != null)
|
||||
Console.WriteLine($" Unknown (Checksum?) = {fileDescriptor.Unknown}");
|
||||
Console.WriteLine($" Unknown (Checksum?): {fileDescriptor.Unknown} (0x{fileDescriptor.Unknown:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
|
||||
@@ -439,14 +439,14 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Major version: {MajorVersion}");
|
||||
Console.WriteLine($" Minor version: {MinorVersion}");
|
||||
Console.WriteLine($" Major version: {MajorVersion} (0x{MajorVersion:X})");
|
||||
Console.WriteLine($" Minor version: {MinorVersion} (0x{MinorVersion:X})");
|
||||
Console.WriteLine($" File MD5: {(FileMD5 == null ? "[NULL]" : BitConverter.ToString(FileMD5).Replace("-", string.Empty))}");
|
||||
Console.WriteLine($" Name: {Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Header MD5: {(HeaderMD5 == null ? "[NULL]" : BitConverter.ToString(HeaderMD5).Replace("-", string.Empty))}");
|
||||
Console.WriteLine($" Header length: {HeaderLength.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" File data offset: {FileDataOffset.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Dummy 0: {Dummy0.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Header length: {HeaderLength?.ToString() ?? "[NULL]"} (0x{HeaderLength?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" File data offset: {FileDataOffset?.ToString() ?? "[NULL]"} (0x{FileDataOffset?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" Dummy 0: {Dummy0?.ToString() ?? "[NULL]"} (0x{Dummy0?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -457,16 +457,16 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Directory Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Section offset: {SectionOffset.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Section count: {SectionCount.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Folder offset: {FolderOffset.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Folder count: {FolderCount.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" File offset: {FileOffset.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" File count: {FileCount.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" String table offset: {StringTableOffset.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" String table count: {StringTableCount.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Hash table offset: {HashTableOffset?.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Block size: {BlockSize?.ToString() ?? "[NULL]"}");
|
||||
Console.WriteLine($" Section offset: {SectionOffset?.ToString() ?? "[NULL]"} (0x{SectionOffset?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" Section count: {SectionCount?.ToString() ?? "[NULL]"} (0x{SectionCount?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" Folder offset: {FolderOffset?.ToString() ?? "[NULL]"} (0x{FolderOffset?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" Folder count: {FolderCount?.ToString() ?? "[NULL]"} (0x{FolderCount?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" File offset: {FileOffset?.ToString() ?? "[NULL]"} (0x{FileOffset?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" File count: {FileCount?.ToString() ?? "[NULL]"} (0x{FileCount?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" String table offset: {StringTableOffset?.ToString() ?? "[NULL]"} (0x{StringTableOffset?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" String table count: {StringTableCount?.ToString() ?? "[NULL]"} (0x{StringTableCount?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" Hash table offset: {HashTableOffset?.ToString() ?? "[NULL]"} (0x{HashTableOffset?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine($" Block size: {BlockSize?.ToString() ?? "[NULL]"} (0x{BlockSize?.ToString("X") ?? "[NULL]"})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -492,11 +492,11 @@ namespace BurnOutSharp.Wrappers
|
||||
var section4 = Sections[i] as Models.SGA.Section4;
|
||||
Console.WriteLine($" Alias: {section4.Alias ?? "[NULL]"}");
|
||||
Console.WriteLine($" Name: {section4.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Folder start index: {section4.FolderStartIndex}");
|
||||
Console.WriteLine($" Folder end index: {section4.FolderEndIndex}");
|
||||
Console.WriteLine($" File start index: {section4.FileStartIndex}");
|
||||
Console.WriteLine($" File end index: {section4.FileEndIndex}");
|
||||
Console.WriteLine($" Folder root index: {section4.FolderRootIndex}");
|
||||
Console.WriteLine($" Folder start index: {section4.FolderStartIndex} (0x{section4.FolderStartIndex:X})");
|
||||
Console.WriteLine($" Folder end index: {section4.FolderEndIndex} (0x{section4.FolderEndIndex:X})");
|
||||
Console.WriteLine($" File start index: {section4.FileStartIndex} (0x{section4.FileStartIndex:X})");
|
||||
Console.WriteLine($" File end index: {section4.FileEndIndex} (0x{section4.FileEndIndex:X})");
|
||||
Console.WriteLine($" Folder root index: {section4.FolderRootIndex} (0x{section4.FolderRootIndex:X})");
|
||||
break;
|
||||
|
||||
case 5:
|
||||
@@ -505,11 +505,11 @@ namespace BurnOutSharp.Wrappers
|
||||
var section5 = Sections[i] as Models.SGA.Section5;
|
||||
Console.WriteLine($" Alias: {section5.Alias ?? "[NULL]"}");
|
||||
Console.WriteLine($" Name: {section5.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Folder start index: {section5.FolderStartIndex}");
|
||||
Console.WriteLine($" Folder end index: {section5.FolderEndIndex}");
|
||||
Console.WriteLine($" File start index: {section5.FileStartIndex}");
|
||||
Console.WriteLine($" File end index: {section5.FileEndIndex}");
|
||||
Console.WriteLine($" Folder root index: {section5.FolderRootIndex}");
|
||||
Console.WriteLine($" Folder start index: {section5.FolderStartIndex} (0x{section5.FolderStartIndex:X})");
|
||||
Console.WriteLine($" Folder end index: {section5.FolderEndIndex} (0x{section5.FolderEndIndex:X})");
|
||||
Console.WriteLine($" File start index: {section5.FileStartIndex} (0x{section5.FileStartIndex:X})");
|
||||
Console.WriteLine($" File end index: {section5.FileEndIndex} (0x{section5.FileEndIndex:X})");
|
||||
Console.WriteLine($" Folder root index: {section5.FolderRootIndex} (0x{section5.FolderRootIndex:X})");
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine($" Unknown format for version {MajorVersion}");
|
||||
@@ -540,24 +540,24 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
case 4:
|
||||
var folder4 = Folders[i] as Models.SGA.Folder4;
|
||||
Console.WriteLine($" Name offset: {folder4.NameOffset}");
|
||||
Console.WriteLine($" Name offset: {folder4.NameOffset} (0x{folder4.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {folder4.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Folder start index: {folder4.FolderStartIndex}");
|
||||
Console.WriteLine($" Folder end index: {folder4.FolderEndIndex}");
|
||||
Console.WriteLine($" File start index: {folder4.FileStartIndex}");
|
||||
Console.WriteLine($" File end index: {folder4.FileEndIndex}");
|
||||
Console.WriteLine($" Folder start index: {folder4.FolderStartIndex} (0x{folder4.FolderStartIndex:X})");
|
||||
Console.WriteLine($" Folder end index: {folder4.FolderEndIndex} (0x{folder4.FolderEndIndex:X})");
|
||||
Console.WriteLine($" File start index: {folder4.FileStartIndex} (0x{folder4.FileStartIndex:X})");
|
||||
Console.WriteLine($" File end index: {folder4.FileEndIndex} (0x{folder4.FileEndIndex:X})");
|
||||
break;
|
||||
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
var folder5 = Folders[i] as Models.SGA.Folder5;
|
||||
Console.WriteLine($" Name offset: {folder5.NameOffset}");
|
||||
Console.WriteLine($" Name offset: {folder5.NameOffset} (0x{folder5.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {folder5.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Folder start index: {folder5.FolderStartIndex}");
|
||||
Console.WriteLine($" Folder end index: {folder5.FolderEndIndex}");
|
||||
Console.WriteLine($" File start index: {folder5.FileStartIndex}");
|
||||
Console.WriteLine($" File end index: {folder5.FileEndIndex}");
|
||||
Console.WriteLine($" Folder start index: {folder5.FolderStartIndex} (0x{folder5.FolderStartIndex:X})");
|
||||
Console.WriteLine($" Folder end index: {folder5.FolderEndIndex} (0x{folder5.FolderEndIndex:X})");
|
||||
Console.WriteLine($" File start index: {folder5.FileStartIndex} (0x{folder5.FileStartIndex:X})");
|
||||
Console.WriteLine($" File end index: {folder5.FileEndIndex} (0x{folder5.FileEndIndex:X})");
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine($" Unknown format for version {MajorVersion}");
|
||||
@@ -589,40 +589,40 @@ namespace BurnOutSharp.Wrappers
|
||||
case 4:
|
||||
case 5:
|
||||
var file4 = Files[i] as Models.SGA.File4;
|
||||
Console.WriteLine($" Name offset: {file4.NameOffset}");
|
||||
Console.WriteLine($" Name offset: {file4.NameOffset} (0x{file4.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {file4.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Offset: {file4.Offset}");
|
||||
Console.WriteLine($" Size on disk: {file4.SizeOnDisk}");
|
||||
Console.WriteLine($" Size: {file4.Size}");
|
||||
Console.WriteLine($" Time modified: {file4.TimeModified}");
|
||||
Console.WriteLine($" Dummy 0: {file4.Dummy0}");
|
||||
Console.WriteLine($" Type: {file4.Type}");
|
||||
Console.WriteLine($" Offset: {file4.Offset} (0x{file4.Offset:X})");
|
||||
Console.WriteLine($" Size on disk: {file4.SizeOnDisk} (0x{file4.SizeOnDisk:X})");
|
||||
Console.WriteLine($" Size: {file4.Size} (0x{file4.Size:X})");
|
||||
Console.WriteLine($" Time modified: {file4.TimeModified} (0x{file4.TimeModified:X})");
|
||||
Console.WriteLine($" Dummy 0: {file4.Dummy0} (0x{file4.Dummy0:X})");
|
||||
Console.WriteLine($" Type: {file4.Type} (0x{file4.Type:X})");
|
||||
break;
|
||||
|
||||
case 6:
|
||||
var file6 = Files[i] as Models.SGA.File6;
|
||||
Console.WriteLine($" Name offset: {file6.NameOffset}");
|
||||
Console.WriteLine($" Name offset: {file6.NameOffset} (0x{file6.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {file6.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Offset: {file6.Offset}");
|
||||
Console.WriteLine($" Size on disk: {file6.SizeOnDisk}");
|
||||
Console.WriteLine($" Size: {file6.Size}");
|
||||
Console.WriteLine($" Time modified: {file6.TimeModified}");
|
||||
Console.WriteLine($" Dummy 0: {file6.Dummy0}");
|
||||
Console.WriteLine($" Type: {file6.Type}");
|
||||
Console.WriteLine($" CRC32: {file6.CRC32}");
|
||||
Console.WriteLine($" Offset: {file6.Offset} (0x{file6.Offset:X})");
|
||||
Console.WriteLine($" Size on disk: {file6.SizeOnDisk} (0x{file6.SizeOnDisk:X})");
|
||||
Console.WriteLine($" Size: {file6.Size} (0x{file6.Size:X})");
|
||||
Console.WriteLine($" Time modified: {file6.TimeModified} (0x{file6.TimeModified:X})");
|
||||
Console.WriteLine($" Dummy 0: {file6.Dummy0} (0x{file6.Dummy0:X})");
|
||||
Console.WriteLine($" Type: {file6.Type} (0x{file6.Type:X})");
|
||||
Console.WriteLine($" CRC32: {file6.CRC32} (0x{file6.CRC32:X})");
|
||||
break;
|
||||
case 7:
|
||||
var file7 = Files[i] as Models.SGA.File7;
|
||||
Console.WriteLine($" Name offset: {file7.NameOffset}");
|
||||
Console.WriteLine($" Name offset: {file7.NameOffset} (0x{file7.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {file7.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Offset: {file7.Offset}");
|
||||
Console.WriteLine($" Size on disk: {file7.SizeOnDisk}");
|
||||
Console.WriteLine($" Size: {file7.Size}");
|
||||
Console.WriteLine($" Time modified: {file7.TimeModified}");
|
||||
Console.WriteLine($" Dummy 0: {file7.Dummy0}");
|
||||
Console.WriteLine($" Type: {file7.Type}");
|
||||
Console.WriteLine($" CRC32: {file7.CRC32}");
|
||||
Console.WriteLine($" Hash offset: {file7.HashOffset}");
|
||||
Console.WriteLine($" Offset: {file7.Offset} (0x{file7.Offset:X})");
|
||||
Console.WriteLine($" Size on disk: {file7.SizeOnDisk} (0x{file7.SizeOnDisk:X})");
|
||||
Console.WriteLine($" Size: {file7.Size} (0x{file7.Size:X})");
|
||||
Console.WriteLine($" Time modified: {file7.TimeModified} (0x{file7.TimeModified:X})");
|
||||
Console.WriteLine($" Dummy 0: {file7.Dummy0} (0x{file7.Dummy0:X})");
|
||||
Console.WriteLine($" Type: {file7.Type} (0x{file7.Type:X})");
|
||||
Console.WriteLine($" CRC32: {file7.CRC32} (0x{file7.CRC32:X})");
|
||||
Console.WriteLine($" Hash offset: {file7.HashOffset} (0x{file7.HashOffset:X})");
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine($" Unknown format for version {MajorVersion}");
|
||||
|
||||
@@ -113,8 +113,8 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Version: {Version}");
|
||||
Console.WriteLine($" Map revision: {MapRevision}");
|
||||
Console.WriteLine($" Version: {Version} (0x{Version:X})");
|
||||
Console.WriteLine($" Map revision: {MapRevision} (0x{MapRevision:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -147,9 +147,9 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
|
||||
Console.WriteLine($" Lump {i}{specialLumpName}");
|
||||
Console.WriteLine($" Offset: {lump.Offset}");
|
||||
Console.WriteLine($" Length: {lump.Length}");
|
||||
Console.WriteLine($" Version: {lump.Version}");
|
||||
Console.WriteLine($" Offset: {lump.Offset} (0x{lump.Offset:X})");
|
||||
Console.WriteLine($" Length: {lump.Length} (0x{lump.Length:X})");
|
||||
Console.WriteLine($" Version: {lump.Version} (0x{lump.Version:X})");
|
||||
Console.WriteLine($" 4CC: {string.Join(", ", lump.FourCC)}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,9 +195,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Version: {Version}");
|
||||
Console.WriteLine($" Directory length: {DirectoryLength}");
|
||||
Console.WriteLine($" Signature: {Signature} (0x{Signature:X})");
|
||||
Console.WriteLine($" Version: {Version} (0x{Version:X})");
|
||||
Console.WriteLine($" Directory length: {DirectoryLength} (0x{DirectoryLength:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -214,10 +214,10 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" Dummy 0: {Dummy0}");
|
||||
Console.WriteLine($" Archive hash length: {ArchiveHashLength}");
|
||||
Console.WriteLine($" Extra length: {ExtraLength}");
|
||||
Console.WriteLine($" Dummy 1: {Dummy1}");
|
||||
Console.WriteLine($" Dummy 0: {Dummy0} (0x{Dummy0:X})");
|
||||
Console.WriteLine($" Archive hash length: {ArchiveHashLength} (0x{ArchiveHashLength:X})");
|
||||
Console.WriteLine($" Extra length: {ExtraLength} (0x{ExtraLength:X})");
|
||||
Console.WriteLine($" Dummy 1: {Dummy1} (0x{Dummy1:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
}
|
||||
@@ -239,9 +239,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var archiveHash = ArchiveHashes[i];
|
||||
Console.WriteLine($" Archive Hash {i}");
|
||||
Console.WriteLine($" Archive index: {archiveHash.ArchiveIndex}");
|
||||
Console.WriteLine($" Archive offset: {archiveHash.ArchiveOffset}");
|
||||
Console.WriteLine($" Length: {archiveHash.Length}");
|
||||
Console.WriteLine($" Archive index: {archiveHash.ArchiveIndex} (0x{archiveHash.ArchiveIndex:X})");
|
||||
Console.WriteLine($" Archive offset: {archiveHash.ArchiveOffset} (0x{archiveHash.ArchiveOffset:X})");
|
||||
Console.WriteLine($" Length: {archiveHash.Length} (0x{archiveHash.Length:X})");
|
||||
Console.WriteLine($" Hash: {BitConverter.ToString(archiveHash.Hash).Replace("-", string.Empty)}");
|
||||
}
|
||||
}
|
||||
@@ -286,12 +286,12 @@ namespace BurnOutSharp.Wrappers
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" Directory entry CRC: {directoryEntry.CRC}");
|
||||
Console.WriteLine($" Directory entry preload bytes: {directoryEntry.PreloadBytes}");
|
||||
Console.WriteLine($" Directory entry archive index: {directoryEntry.ArchiveIndex}");
|
||||
Console.WriteLine($" Directory entry entry offset: {directoryEntry.EntryOffset}");
|
||||
Console.WriteLine($" Directory entry entry length: {directoryEntry.EntryLength}");
|
||||
Console.WriteLine($" Directory entry dummy 0: {directoryEntry.Dummy0}");
|
||||
Console.WriteLine($" Directory entry CRC: {directoryEntry.CRC} (0x{directoryEntry.CRC:X})");
|
||||
Console.WriteLine($" Directory entry preload bytes: {directoryEntry.PreloadBytes} (0x{directoryEntry.PreloadBytes:X})");
|
||||
Console.WriteLine($" Directory entry archive index: {directoryEntry.ArchiveIndex} (0x{directoryEntry.ArchiveIndex:X})");
|
||||
Console.WriteLine($" Directory entry entry offset: {directoryEntry.EntryOffset} (0x{directoryEntry.EntryOffset:X})");
|
||||
Console.WriteLine($" Directory entry entry length: {directoryEntry.EntryLength} (0x{directoryEntry.EntryLength:X})");
|
||||
Console.WriteLine($" Directory entry dummy 0: {directoryEntry.Dummy0} (0x{directoryEntry.Dummy0:X})");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -127,8 +127,8 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Lump count: {LumpCount}");
|
||||
Console.WriteLine($" Lump offset: {LumpOffset}");
|
||||
Console.WriteLine($" Lump count: {LumpCount} (0x{LumpCount:X})");
|
||||
Console.WriteLine($" Lump offset: {LumpOffset} (0x{LumpOffset:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -149,14 +149,14 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var lump = Lumps[i];
|
||||
Console.WriteLine($" Lump {i}");
|
||||
Console.WriteLine($" Offset: {lump.Offset}");
|
||||
Console.WriteLine($" Disk length: {lump.DiskLength}");
|
||||
Console.WriteLine($" Length: {lump.Length}");
|
||||
Console.WriteLine($" Type: {lump.Type}");
|
||||
Console.WriteLine($" Compression: {lump.Compression}");
|
||||
Console.WriteLine($" Padding 0: {lump.Padding0}");
|
||||
Console.WriteLine($" Padding 1: {lump.Padding1}");
|
||||
Console.WriteLine($" Name: {lump.Name}");
|
||||
Console.WriteLine($" Offset: {lump.Offset} (0x{lump.Offset:X})");
|
||||
Console.WriteLine($" Disk length: {lump.DiskLength} (0x{lump.DiskLength:X})");
|
||||
Console.WriteLine($" Length: {lump.Length} (0x{lump.Length:X})");
|
||||
Console.WriteLine($" Type: {lump.Type} (0x{lump.Type:X})");
|
||||
Console.WriteLine($" Compression: {lump.Compression} (0x{lump.Compression:X})");
|
||||
Console.WriteLine($" Padding 0: {lump.Padding0} (0x{lump.Padding0:X})");
|
||||
Console.WriteLine($" Padding 1: {lump.Padding1} (0x{lump.Padding1:X})");
|
||||
Console.WriteLine($" Name: {lump.Name ?? "[NULL]"}");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -186,12 +186,12 @@ namespace BurnOutSharp.Wrappers
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" Name: {lumpInfo.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Width: {lumpInfo.Width}");
|
||||
Console.WriteLine($" Height: {lumpInfo.Height}");
|
||||
Console.WriteLine($" Pixel offset: {lumpInfo.PixelOffset}");
|
||||
Console.WriteLine($" Width: {lumpInfo.Width} (0x{lumpInfo.Width:X})");
|
||||
Console.WriteLine($" Height: {lumpInfo.Height} (0x{lumpInfo.Height:X})");
|
||||
Console.WriteLine($" Pixel offset: {lumpInfo.PixelOffset} (0x{lumpInfo.PixelOffset:X})");
|
||||
// TODO: Print unknown data?
|
||||
// TODO: Print pixel data?
|
||||
Console.WriteLine($" Palette size: {lumpInfo.PaletteSize}");
|
||||
Console.WriteLine($" Palette size: {lumpInfo.PaletteSize} (0x{lumpInfo.PaletteSize:X})");
|
||||
// TODO: Print palette data?
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,14 +173,14 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine(" Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" Signature: {Signature}");
|
||||
Console.WriteLine($" Version: {Version}");
|
||||
Console.WriteLine($" Preload directory entry count: {PreloadDirectoryEntryCount}");
|
||||
Console.WriteLine($" Directory entry count: {DirectoryEntryCount}");
|
||||
Console.WriteLine($" Preload bytes: {PreloadBytes}");
|
||||
Console.WriteLine($" Header length: {HeaderLength}");
|
||||
Console.WriteLine($" Directory item count: {DirectoryItemCount}");
|
||||
Console.WriteLine($" Directory item offset: {DirectoryItemOffset}");
|
||||
Console.WriteLine($" Directory item length: {DirectoryItemLength}");
|
||||
Console.WriteLine($" Version: {Version} (0x{Version:X})");
|
||||
Console.WriteLine($" Preload directory entry count: {PreloadDirectoryEntryCount} (0x{PreloadDirectoryEntryCount:X})");
|
||||
Console.WriteLine($" Directory entry count: {DirectoryEntryCount} (0x{DirectoryEntryCount:X})");
|
||||
Console.WriteLine($" Preload bytes: {PreloadBytes} (0x{PreloadBytes:X})");
|
||||
Console.WriteLine($" Header length: {HeaderLength} (0x{HeaderLength:X})");
|
||||
Console.WriteLine($" Directory item count: {DirectoryItemCount} (0x{DirectoryItemCount:X})");
|
||||
Console.WriteLine($" Directory item offset: {DirectoryItemOffset} (0x{DirectoryItemOffset:X})");
|
||||
Console.WriteLine($" Directory item length: {DirectoryItemLength} (0x{DirectoryItemLength:X})");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
@@ -201,9 +201,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryEntry = DirectoryEntries[i];
|
||||
Console.WriteLine($" Directory Entry {i}");
|
||||
Console.WriteLine($" File name CRC: {directoryEntry.FileNameCRC}");
|
||||
Console.WriteLine($" Entry length: {directoryEntry.EntryLength}");
|
||||
Console.WriteLine($" Entry offset: {directoryEntry.EntryOffset}");
|
||||
Console.WriteLine($" File name CRC: {directoryEntry.FileNameCRC} (0x{directoryEntry.FileNameCRC:X})");
|
||||
Console.WriteLine($" Entry length: {directoryEntry.EntryLength} (0x{directoryEntry.EntryLength:X})");
|
||||
Console.WriteLine($" Entry offset: {directoryEntry.EntryOffset} (0x{directoryEntry.EntryOffset:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -226,9 +226,9 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var preloadDirectoryEntry = PreloadDirectoryEntries[i];
|
||||
Console.WriteLine($" Directory Entry {i}");
|
||||
Console.WriteLine($" File name CRC: {preloadDirectoryEntry.FileNameCRC}");
|
||||
Console.WriteLine($" Entry length: {preloadDirectoryEntry.EntryLength}");
|
||||
Console.WriteLine($" Entry offset: {preloadDirectoryEntry.EntryOffset}");
|
||||
Console.WriteLine($" File name CRC: {preloadDirectoryEntry.FileNameCRC} (0x{preloadDirectoryEntry.FileNameCRC:X})");
|
||||
Console.WriteLine($" Entry length: {preloadDirectoryEntry.EntryLength} (0x{preloadDirectoryEntry.EntryLength:X})");
|
||||
Console.WriteLine($" Entry offset: {preloadDirectoryEntry.EntryOffset} (0x{preloadDirectoryEntry.EntryOffset:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -251,7 +251,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var preloadDirectoryMapping = PreloadDirectoryMappings[i];
|
||||
Console.WriteLine($" Directory Mapping {i}");
|
||||
Console.WriteLine($" Preload directory entry index: {preloadDirectoryMapping.PreloadDirectoryEntryIndex}");
|
||||
Console.WriteLine($" Preload directory entry index: {preloadDirectoryMapping.PreloadDirectoryEntryIndex} (0x{preloadDirectoryMapping.PreloadDirectoryEntryIndex:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -274,10 +274,10 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
var directoryItem = DirectoryItems[i];
|
||||
Console.WriteLine($" Directory Item {i}");
|
||||
Console.WriteLine($" File name CRC: {directoryItem.FileNameCRC}");
|
||||
Console.WriteLine($" Name offset: {directoryItem.NameOffset}");
|
||||
Console.WriteLine($" File name CRC: {directoryItem.FileNameCRC} (0x{directoryItem.FileNameCRC:X})");
|
||||
Console.WriteLine($" Name offset: {directoryItem.NameOffset} (0x{directoryItem.NameOffset:X})");
|
||||
Console.WriteLine($" Name: {directoryItem.Name ?? "[NULL]"}");
|
||||
Console.WriteLine($" Time created: {directoryItem.TimeCreated}");
|
||||
Console.WriteLine($" Time created: {directoryItem.TimeCreated} (0x{directoryItem.TimeCreated:X})");
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
@@ -290,7 +290,7 @@ namespace BurnOutSharp.Wrappers
|
||||
{
|
||||
Console.WriteLine(" Footer Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
Console.WriteLine($" File length: {F_FileLength}");
|
||||
Console.WriteLine($" File length: {F_FileLength} (0x{F_FileLength:X})");
|
||||
Console.WriteLine($" Signature: {F_Signature}");
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user