Ejemplo n.º 1
0
 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));
     }
 }
Ejemplo n.º 2
0
        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]);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
Ejemplo n.º 6
0
 public override void Write(EndiannessAwareBinaryWriter writer, bool writeName)
 {
     base.Write(writer, writeName);
     writer.Write(this.Value);
 }
Ejemplo n.º 7
0
 public void Write(Stream stream)
 {
     using var writer = new EndiannessAwareBinaryWriter(stream, Endianness.Big);
     this.Write(writer, true);
 }
Ejemplo n.º 8
0
 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));
 }