Пример #1
0
        public void Serialize(BinaryWriter writer)
        {
            Hierarchy.Serialize(writer);

            writer.Write(Objects.Count);
            foreach (var objectInfo in Objects)
            {
                objectInfo.Serialize(writer);
            }

            writer.Write(PreloadedObjects.Count);
            foreach (var objectRef in PreloadedObjects)
            {
                objectRef.Serialize(writer);
            }

            writer.Write(Dependencies.Count);
            foreach (var dependency in Dependencies)
            {
                dependency.Serialize(writer);
            }

            writer.Write(Unknown);
            writer.Align4();
        }
        public void Serialize(BinaryWriter writer)
        {
            writer.Write(FileId);

            writer.Align4();
            writer.Write(ObjectId);
        }
 public void Serialize(BinaryWriter writer)
 {
     writer.WriteInt32BE(MetadataSize);
     writer.WriteInt32BE(FileSize);
     writer.WriteInt32BE(Generation);
     writer.WriteUInt32BE(DataOffset);
     writer.Write(IsBigEndian);
     writer.Align4();
 }
Пример #4
0
        public static void WriteResource(ResourceLang lang, BinaryWriter wtr)
        {
            var header = new ResResourceHeader(lang);

            header.Write(wtr);

            wtr.Write(lang.Data.RawData);

            wtr.Align4();
        }
Пример #5
0
        public void Serialize(BinaryWriter writer)
        {
            writer.Align4();
            writer.Write(PathId);

            writer.Write(DataOffset);
            writer.Write(DataSize);

            writer.Write(TypeIndex);
        }
Пример #6
0
        public void Write(BinaryWriter wtr)
        {
            wtr.Write(DataSize);
            wtr.Write(HeaderSize);

            WriteIdentifier(Type, wtr);
            WriteIdentifier(Name, wtr);

            wtr.Align4();

            wtr.Write(DataVersion);
            wtr.Write((ushort)MemoryFlags);
            wtr.Write(LanguageId);
            wtr.Write(Version);
            wtr.Write(Characteristics);
        }
Пример #7
0
        private void CommitAddChanges()
        {
            Unload();

            _stream = new FileStream(FileInfo.FullName, FileMode.Open, FileAccess.Write);

            _stream.Seek(0, SeekOrigin.End); // seek to end

            var wtr = new BinaryWriter(_stream, Encoding.Unicode);

            wtr.Align4();

            foreach (var lang in AllActiveLangs)
            {
                ResResourceHeader.WriteResource(lang, wtr);
            }

            _stream.Close();

            Reload();
        }