public override async Task WriteBuffer(ByteArrayWriter Writer, int CurrentOffset) { Writer.WriteInt32(TypeReference); Writer.WriteInt32(ParentReference); Writer.WriteInt32(OwnerReference); await NameTableIndex.WriteBuffer(Writer, 0); Writer.WriteInt32(ArchetypeReference); Writer.WriteUInt32(FlagsHigh); Writer.WriteUInt32(FlagsLow); Writer.WriteInt32(BuilderSerialDataSize); Writer.WriteInt32(BuilderSerialDataOffset); Writer.WriteUInt32(ExportFlags); Writer.WriteInt32(NetObjectCount); await Writer.WriteBytes(Guid); Writer.WriteUInt32(Unknown1); await Writer.WriteBytes(Unknown2); }
public async Task WriteCompressedChunkHeader(ByteArrayWriter Writer, int CurrentOffset) { Writer.WriteUInt32(Signature); Writer.WriteInt32(BlockSize); Writer.WriteInt32(CompressedSize); Writer.WriteInt32(UncompressedSize); foreach(DomainCompressedChunkBlock block in Blocks) await block.WriteCompressedChunkBlock(Writer); foreach(DomainCompressedChunkBlock block in Blocks) await block.WriteCompressedChunkBlockData(Writer); }
public async Task WriteCompressedChunk(ByteArrayWriter Writer, int CurrentOffset) { Writer.WriteUInt32(BulkDataFlags); if (((BulkDataCompressionTypes)BulkDataFlags & NothingToDo) > 0) { Writer.WriteInt32(0); Writer.WriteInt32(-1); Writer.WriteInt32(-1); return; } Writer.WriteInt32(UncompressedSize); Writer.WriteInt32(CompressedSize); Writer.WriteInt32(CurrentOffset + Writer.Index + sizeof(int)); if (((BulkDataCompressionTypes)BulkDataFlags & BulkDataCompressionTypes.Unused) > 0) return; if (((BulkDataCompressionTypes)BulkDataFlags & BulkDataCompressionTypes.StoreInSeparatefile) > 0) return; await Header.WriteCompressedChunkHeader(Writer, CurrentOffset); }
public override async Task WriteBuffer(ByteArrayWriter Writer, int CurrentOffset) { await Task.Run(() => Writer.WriteUInt32(boolValue)); }