/// <summary> /// Write the header of this chunk. /// Always call the base method first. /// </summary> protected sealed override void WriteHeader(ResWriter writer) { base.WriteHeader(writer); writer.WriteInt32(LineNumber); StringPoolRef.Write(writer, tree.StringPool, Comment); // Extended data (in derived types) is not part of the header }
/// <summary> /// Write the header of this chunk. /// Always call the base method first. /// </summary> protected override void WriteHeader(ResWriter writer) { var startPosition = writer.Position; base.WriteHeader(writer); writer.WriteByte(parent.Id); writer.WriteByte(0); // res0 writer.WriteUInt16(0); // res1 writer.WriteInt32(parent.EntryCount); // entryCount var entriesStartMark = writer.MarkInt32(); // entriesStart configuration.Write(writer); // Patch entriesStart entriesStartMark.Value = (writer.Position - startPosition) + (parent.EntryCount * 4); }
/// <summary> /// Write this chunk. /// </summary> public void Write(ResWriter writer) { var size = 8; writer.WriteUInt16(size); writer.Fill(1); // res0 writer.WriteByte((int) type); writer.WriteInt32(data); }
/// <summary> /// Write helper /// </summary> internal static void Write(ResWriter writer, StringPool pool, string value, int resourceId = -1) { var index = (value == null) ? -1 : pool.Get(value, resourceId); writer.WriteInt32(index); }
/// <summary> /// Write helper /// </summary> internal static void Write(ResWriter writer, int value) { writer.WriteInt32(value); }
/// <summary> /// Write the header of this chunk. /// Always call the base method first. /// </summary> protected override void WriteHeader(ResWriter writer) { headerStartPosition = writer.Position; base.WriteHeader(writer); writer.WriteInt32(id); writer.WriteFixedLenghtUnicodeString(name, 128); typeStringsMark = writer.MarkInt32(); writer.WriteInt32(typeStrings.Count); keyStringsMark = writer.MarkInt32(); writer.WriteInt32(KeyStrings.Count); }
/// <summary> /// Write the value to the given writer /// </summary> protected override void Write(ResWriter writer, int value) { writer.WriteInt32(value); }
/// <summary> /// Write the header of this chunk. /// Always call the base method first. /// </summary> protected override void WriteHeader(ResWriter writer) { base.WriteHeader(writer); writer.WriteByte(id); writer.WriteByte(0); // res0 writer.WriteUInt16(0); // res1 writer.WriteInt32(entries.Count); // entryCount }
/// <summary> /// Write the header of this chunk. /// Always call the base method first. /// </summary> protected override void WriteHeader(ResWriter writer) { base.WriteHeader(writer); writer.WriteInt32(packages.Count); // packageCount }