public virtual void Write(EndiannessAwareBinaryWriter writer, bool writeName) { if (writeName) { writer.Write((byte)this.Type); writer.Write((ushort)this.Name.Length); writer.Write(Encoding.UTF8.GetBytes(this.Name)); } }
public override void Write(EndiannessAwareBinaryWriter writer, bool writeName) { base.Write(writer, writeName); writer.Write(this.Value.Length); for (int i = 0; i < this.Value.Length; i++) { writer.Write(this.Value[i]); } }
public override void Write(EndiannessAwareBinaryWriter writer, bool writeName) { base.Write(writer, writeName); writer.Write((byte)this.ListType); writer.Write(this.Value.Length); for (int i = 0; i < this.Value.Length; i++) { this.Value[i].Write(writer, false); } }
public override void Write(EndiannessAwareBinaryWriter writer, bool writeName) { base.Write(writer, writeName); foreach (var child in this.entries) { child.Value.Write(writer, true); } writer.Write((byte)TagType.TAG_End); }
public void Save(Stream stream, Endianness endianness = Endianness.Little) { stream.SetLength(0); var writer = new EndiannessAwareBinaryWriter(stream); var root = BuildTree(); List <string> fileNames = new List <string>(); List <string> directoryNames = new List <string>(); List <RawDirectoryEntry> dirEntries = new List <RawDirectoryEntry>(); List <FileEntry> fileEntries = new List <FileEntry>(); Queue <(DirectoryEntry Child, int Index)> queue = new Queue <(DirectoryEntry, int)>(); queue.Enqueue((root, 0)); directoryNames.Add("."); dirEntries.Add(default);
public override void Write(EndiannessAwareBinaryWriter writer, bool writeName) { base.Write(writer, writeName); writer.Write(this.Value); }
public void Write(Stream stream) { using var writer = new EndiannessAwareBinaryWriter(stream, Endianness.Big); this.Write(writer, true); }
public override void Write(EndiannessAwareBinaryWriter writer, bool writeName) { base.Write(writer, writeName); writer.Write((short)this.Value.Length); writer.Write(Encoding.UTF8.GetBytes(this.Value)); }