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