mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Implement Wise section header printer
This commit is contained in:
@@ -73,7 +73,7 @@ namespace SabreTools.Serialization
|
||||
Wrapper.WAD3 item => item.PrettyPrint(),
|
||||
Wrapper.WiseOverlayHeader item => item.PrettyPrint(),
|
||||
Wrapper.WiseScript item => item.PrettyPrint(),
|
||||
// TODO: Add implementation for WiseSectionHeader
|
||||
Wrapper.WiseSectionHeader item => item.PrettyPrint(),
|
||||
Wrapper.XeMID item => item.PrettyPrint(),
|
||||
Wrapper.XMID item => item.PrettyPrint(),
|
||||
Wrapper.XZP item => item.PrettyPrint(),
|
||||
@@ -128,7 +128,7 @@ namespace SabreTools.Serialization
|
||||
Wrapper.WAD3 item => item.ExportJSON(),
|
||||
Wrapper.WiseOverlayHeader item => item.ExportJSON(),
|
||||
Wrapper.WiseScript item => item.ExportJSON(),
|
||||
// TODO: Add implementation for WiseSectionHeader
|
||||
Wrapper.WiseSectionHeader item => item.ExportJSON(),
|
||||
Wrapper.XeMID item => item.ExportJSON(),
|
||||
Wrapper.XMID item => item.ExportJSON(),
|
||||
Wrapper.XZP item => item.ExportJSON(),
|
||||
@@ -529,6 +529,16 @@ namespace SabreTools.Serialization
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Export the item information as pretty-printed text
|
||||
/// </summary>
|
||||
private static StringBuilder PrettyPrint(this Wrapper.WiseSectionHeader item)
|
||||
{
|
||||
var builder = new StringBuilder();
|
||||
WiseSectionHeader.Print(builder, item.Model);
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Export the item information as pretty-printed text
|
||||
/// </summary>
|
||||
|
||||
60
SabreTools.Serialization/Printers/WiseSectionHeader.cs
Normal file
60
SabreTools.Serialization/Printers/WiseSectionHeader.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
using System.Text;
|
||||
using SabreTools.Models.WiseInstaller;
|
||||
using SabreTools.Serialization.Interfaces;
|
||||
|
||||
namespace SabreTools.Serialization.Printers
|
||||
{
|
||||
public class WiseSectionHeader : IPrinter<SectionHeader>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public void PrintInformation(StringBuilder builder, SectionHeader model)
|
||||
=> Print(builder, model);
|
||||
|
||||
public static void Print(StringBuilder builder, SectionHeader header)
|
||||
{
|
||||
builder.AppendLine("Wise Section Header Information:");
|
||||
builder.AppendLine("-------------------------");
|
||||
builder.AppendLine(header.UnknownDataSize, "Unknown data size");
|
||||
builder.AppendLine(header.SecondExecutableFileEntryLength, "Second executable file entry length");
|
||||
builder.AppendLine(header.UnknownValue2, "Unknown value 2");
|
||||
builder.AppendLine(header.UnknownValue3, "Unknown value 3");
|
||||
builder.AppendLine(header.UnknownValue4, "Unknown value 4");
|
||||
builder.AppendLine(header.FirstExecutableFileEntryLength, "First executable file entry length");
|
||||
builder.AppendLine(header.MsiFileEntryLength, "MSI file entry length");
|
||||
builder.AppendLine(header.UnknownValue7, "Unknown value 7");
|
||||
builder.AppendLine(header.UnknownValue8, "Unknown value 8");
|
||||
builder.AppendLine(header.ThirdExecutableFileEntryLength, "Third executable file entry length");
|
||||
builder.AppendLine(header.UnknownValue10, "Unknown value 10");
|
||||
builder.AppendLine(header.UnknownValue11, "Unknown value 11");
|
||||
builder.AppendLine(header.UnknownValue12, "Unknown value 12");
|
||||
builder.AppendLine(header.UnknownValue13, "Unknown value 13");
|
||||
builder.AppendLine(header.UnknownValue14, "Unknown value 14");
|
||||
builder.AppendLine(header.UnknownValue15, "Unknown value 15");
|
||||
builder.AppendLine(header.UnknownValue16, "Unknown value 16");
|
||||
builder.AppendLine(header.UnknownValue17, "Unknown value 17");
|
||||
builder.AppendLine(header.UnknownValue18, "Unknown value 18");
|
||||
builder.AppendLine(header.Version, "Version");
|
||||
builder.AppendLine(header.TmpString, "TMP string");
|
||||
builder.AppendLine(header.GuidString, "GUID string");
|
||||
builder.AppendLine(header.NonWiseVersion, "Non-Wise version");
|
||||
builder.AppendLine(header.PreFontValue, "Pre-font value");
|
||||
builder.AppendLine(header.FontSize, "Font size");
|
||||
builder.AppendLine(header.PreStringValues, "Pre-string values");
|
||||
builder.AppendLine();
|
||||
builder.AppendLine("Strings:");
|
||||
if (header.Strings == null || header.Strings.Length == 0)
|
||||
{
|
||||
builder.AppendLine(" No strings");
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < header.Strings.Length; i++)
|
||||
{
|
||||
var entry = header.Strings[i];
|
||||
builder.AppendLine($" String {i}: {entry}");
|
||||
}
|
||||
}
|
||||
builder.AppendLine();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user