private void method_17() { MemoryStream sectionStream = new MemoryStream(); Class889 class889 = Class889.Create((Stream)sectionStream, this.dxfVersion_0, this.encoding_0); class889.vmethod_9(this.list_0.Count); class889.vmethod_9(2); class889.vmethod_9(29696); class889.vmethod_9(0); class889.vmethod_9(this.list_0.Count); foreach (Class617 class617 in this.list_0) { class889.vmethod_15(class617.SectionSize); class889.vmethod_9(class617.PageCount); class889.vmethod_9(class617.MaxDecompressedPageSize); class889.vmethod_9(1); class889.vmethod_9(class617.Compressed); class889.vmethod_9(class617.SectionId); class889.vmethod_9(class617.Encrypted); byte[] buffer = new byte[64]; if (!string.IsNullOrEmpty(class617.Name)) { byte[] bytes = Encodings.Ascii.GetBytes(class617.Name); int num = Math.Min(bytes.Length, buffer.Length); for (int index = 0; index < num; ++index) { buffer[index] = bytes[index]; } } sectionStream.Write(buffer, 0, buffer.Length); foreach (Class616 page in class617.Pages) { if (page.PageNumber > 0) { class889.vmethod_9(page.PageNumber); class889.vmethod_9(page.CompressedSize); class889.vmethod_15(page.StartOffset); } } } Class615 page1 = this.method_20(1097007163, sectionStream); int count = Class998.smethod_0((int)(this.stream_0.Position - page1.StreamOffset)); this.stream_0.Write(Class998.byte_0, 0, count); page1.Length = this.stream_0.Position - page1.StreamOffset; this.method_19(page1); }
private void method_16() { MemoryStream sectionStream = new MemoryStream(); Class889 byteStream = Class889.Create((Stream)sectionStream, this.dxfVersion_0, this.encoding_0); foreach (Class504 section in this.list_0) { if (section.DataSize != 0UL) { this.method_17(section, byteStream); } } if (this.dxfVersion_0 == DxfVersion.Dxf21) { this.method_17(new Class504() { HashCode = 0UL, MaxDecompressedPageSize = 63488UL, Encrypted = 0UL, Encoding = 4UL }, byteStream); } Class442 page = new Class442(); ulong pageSize = Class996.smethod_2((ulong)sectionStream.Length); byte[] pageData; this.method_20(page, sectionStream, this.class954_0.SectionsMapCrcSeed, pageSize, out pageData); Class442 class442 = (Class442)page.Clone(); this.method_23((Class441)page, pageData, 0, pageData.Length); this.method_23((Class441)class442, pageData, 0, pageData.Length); this.class954_0.SectionsMapDataRepeatCount = page.DataRepeatCount; this.class954_0.SectionsMapSizeCompressed = page.CompressedSize; this.class954_0.SectionsMapSizeDecompressed = page.DecompressedSize; this.class954_0.SectionsMapCrcCompressed = page.CompressedCrc; this.class954_0.SectionsMapCrcDecompressed = page.DecompressedCrc; this.class954_0.SectionsMapId = (ulong)page.Id; this.class954_0.SectionsMap2Id = (ulong)class442.Id; }
public static void Read(Class889 reader, DxfModel model) { reader.vmethod_8(); int num1 = (int)reader.vmethod_10(); if (model.Header.AcadVersion >= DxfVersion.Dxf15) { reader.vmethod_26(); } else { reader.vmethod_26(); } int num2 = (int)reader.vmethod_10(); byte num3 = reader.vmethod_0(); for (int index = 0; index < (int)num3; ++index) { int num4 = (int)reader.vmethod_10(); int num5 = (int)reader.vmethod_10(); } }
public static void Write(Class889 byteStream, SummaryInfo summaryInfo) { byteStream.vmethod_19(summaryInfo.Title); byteStream.vmethod_19(summaryInfo.Subject); byteStream.vmethod_19(summaryInfo.Author); byteStream.vmethod_19(summaryInfo.Keywords); byteStream.vmethod_19(summaryInfo.Comments); byteStream.vmethod_19(summaryInfo.LastSavedBy); byteStream.vmethod_19(summaryInfo.RevisionNumber); byteStream.vmethod_19(summaryInfo.HyperLinkBase); byteStream.vmethod_25(summaryInfo.TotalEditingTime); byteStream.vmethod_27(summaryInfo.CreationDateTime); byteStream.vmethod_27(summaryInfo.ModifiedDateTime); byteStream.vmethod_7((ushort)summaryInfo.Properties.Count); foreach (SummaryInfo.Property property in summaryInfo.Properties) { byteStream.vmethod_19(property.Name); byteStream.vmethod_19(property.Value); } byteStream.vmethod_9(0); byteStream.vmethod_9(0); }
private void method_2(MemoryStream fileHeaderDataStream) { Stream2 stream2 = new Stream2((Stream)fileHeaderDataStream, 0U); Class889 class889 = Class889.Create((Stream)stream2, this.dxfVersion_0, this.encoding_0); byte[] bytes = Class1045.encoding_0.GetBytes("AcFssFcAJMB"); stream2.Write(bytes, 0, 11); stream2.WriteByte((byte)0); class889.vmethod_9(0); class889.vmethod_9(108); class889.vmethod_9(4); class889.vmethod_9(this.class564_0.GapsRootId); class889.vmethod_9(this.class564_0.GapsLeftId); class889.vmethod_9(this.class564_0.GapsRightId); class889.vmethod_9(this.class564_0.GapsUnknown); class889.vmethod_9(this.class564_0.LastPageId); class889.vmethod_15(this.class564_0.LastPageEndOffset); class889.vmethod_15(this.class564_0.Header2Offset); class889.vmethod_11(this.class564_0.GapCount); class889.vmethod_11(this.class564_0.PageCount); class889.vmethod_9(32); class889.vmethod_9(128); class889.vmethod_9(64); class889.vmethod_11(this.class564_0.PagesMapId); class889.vmethod_15(this.class564_0.PagesMapOffset - 256UL); class889.vmethod_11(this.class564_0.SectionsMapId); class889.vmethod_11(this.class564_0.PagesMaxId); class889.vmethod_11(this.class564_0.GapsMaxId); long position = stream2.Position; class889.vmethod_11(0U); uint crc = stream2.Crc; stream2.Position = position; class889.vmethod_11(crc); stream2.Flush(); this.method_3(fileHeaderDataStream); }
private void method_3(Class889 byteStream) { byteStream.vmethod_15(this.class954_0.HeaderSize); byteStream.vmethod_15(this.class954_0.FileSize); byteStream.vmethod_15(this.class954_0.PagesMapCrcCompressed); byteStream.vmethod_15(this.class954_0.PagesMapDataRepeatCount); byteStream.vmethod_15(this.class954_0.PagesMapCrcSeed); byteStream.vmethod_15(this.class954_0.PagesMap2Offset); byteStream.vmethod_15(this.class954_0.PagesMap2Id); byteStream.vmethod_15(this.class954_0.PagesMapOffset); byteStream.vmethod_15(this.class954_0.PagesMapId); byteStream.vmethod_15(this.class954_0.Header2Offset); byteStream.vmethod_15(this.class954_0.PagesMapSizeCompressed); byteStream.vmethod_15(this.class954_0.PagesMapSizeDecompressed); byteStream.vmethod_15(this.class954_0.PageCount); byteStream.vmethod_15(this.class954_0.PagesMaxId); byteStream.vmethod_15(this.class954_0.Unknown1); byteStream.vmethod_15(this.class954_0.Unknown2); byteStream.vmethod_15(this.class954_0.PagesMapCrcDecompressed); byteStream.vmethod_15(this.class954_0.Unknown3); byteStream.vmethod_15(this.class954_0.Unknown4); byteStream.vmethod_15(this.class954_0.Unknown5); byteStream.vmethod_15(this.class954_0.SectionCount); byteStream.vmethod_15(this.class954_0.SectionsMapCrcDecompressed); byteStream.vmethod_15(this.class954_0.SectionsMapSizeCompressed); byteStream.vmethod_15(this.class954_0.SectionsMap2Id); byteStream.vmethod_15(this.class954_0.SectionsMapId); byteStream.vmethod_15(this.class954_0.SectionsMapSizeDecompressed); byteStream.vmethod_15(this.class954_0.SectionsMapCrcCompressed); byteStream.vmethod_15(this.class954_0.SectionsMapDataRepeatCount); byteStream.vmethod_15(this.class954_0.SectionsMapCrcSeed); byteStream.vmethod_15(this.class954_0.StreamVersion); byteStream.vmethod_15(this.class954_0.CrcSeed); byteStream.vmethod_15(this.class954_0.CrcSeedEncoded); byteStream.vmethod_15(this.class954_0.RandomSeed); byteStream.vmethod_15(0UL); }
private void method_5() { this.memoryStream_7 = new MemoryStream(); Class501.Write(Class889.Create((Stream)this.memoryStream_7, this.dxfVersion_0, this.encoding_0), this.dxfModel_0); this.class723_6.Stream = this.memoryStream_7; }
private void method_18() { this.class442_0.StreamOffset = 0UL; ulong pageSize = this.method_19(this.list_1.Count); long num1 = (long)(this.list_1.Count + 1 + 2); if (pageSize <= 1024UL) { Class441 class441 = this.list_1[0]; long num2 = num1; long num3 = num2 + 1L; class441.Id = num2; this.list_1[1].Id = num3; this.class954_0.PagesMapId = (ulong)this.list_1[0].Id; this.class954_0.PagesMapOffset = this.list_1[0].StreamOffset; this.class954_0.PagesMap2Id = (ulong)this.list_1[1].Id; this.class954_0.PagesMap2Offset = this.list_1[1].StreamOffset; } else { Class441 class441_1 = this.list_1[0]; long num2 = num1; long num3 = num2 + 1L; long num4 = -num2; class441_1.Id = num4; Class441 class441_2 = this.list_1[1]; long num5 = num3; long num6 = num5 + 1L; long num7 = -num5; class441_2.Id = num7; uint num8 = (uint)(this.stream_0.Position - 1152L); Class442 class442_1 = new Class442(); Class442 class442_2 = class442_1; long num9 = num6; long num10 = num9 + 1L; class442_2.Id = num9; class442_1.StreamOffset = (ulong)(num8 - 1152U); this.list_1.Add((Class441)class442_1); Class442 class442_3 = new Class442(); class442_3.Id = num10; class442_3.StreamOffset = (ulong)((long)num8 + (long)pageSize - 1152L); this.list_1.Add((Class441)class442_3); } this.class954_0.PagesMaxId = 0UL; this.class954_0.PageCount = (ulong)(uint)this.list_1.Count; this.class954_0.PagesMapOffset = this.class442_0.StreamOffset; MemoryStream sectionStream = new MemoryStream(); Class889 class889 = Class889.Create((Stream)sectionStream, this.dxfVersion_0, this.encoding_0); foreach (Class441 class441 in this.list_1) { if (class441 != null) { class889.vmethod_13(class441.Length); class889.vmethod_13(class441.Id); if (class441.Id > (long)this.class954_0.PagesMaxId) { this.class954_0.PagesMaxId = (ulong)class441.Id; } } } byte[] pageData; this.method_20(this.class442_0, sectionStream, this.class954_0.PagesMapCrcSeed, pageSize, out pageData); this.class442_0.Length = (long)pageData.Length; long id = this.class442_1.Id; this.class442_1.CopyFrom(this.class442_0); this.class442_1.Id = id; this.class442_1.StreamOffset = 1024UL; this.stream_0.Position = (long)this.class954_0.PagesMapOffset + 1152L; this.stream_0.Write(pageData, 0, pageData.Length); this.stream_0.Position = (long)this.class954_0.PagesMap2Offset + 1152L; this.stream_0.Write(pageData, 0, pageData.Length); this.class954_0.PagesMapDataRepeatCount = this.class442_0.DataRepeatCount; this.class954_0.PagesMapSizeCompressed = this.class442_0.CompressedSize; this.class954_0.PagesMapSizeDecompressed = this.class442_0.DecompressedSize; this.class954_0.PagesMapCrcCompressed = this.class442_0.CompressedCrc; this.class954_0.PagesMapCrcDecompressed = this.class442_0.DecompressedCrc; }
private void method_14() { Class501.Write(Class889.Create((Stream)this.class504_7.Stream, this.dxfVersion_0, this.encoding_0), this.dxfModel_0); }
private void method_13() { Class612.Write(Class889.Create((Stream)this.class504_6.Stream, this.dxfVersion_0, this.encoding_0), this.dxfModel_0, (uint)this.list_2.Count, 0U); }
private void method_9() { Class889.Create((Stream)this.class504_1.Stream, this.dxfVersion_0, this.encoding_0); Class885.smethod_0(new Class949(), (Stream)this.class504_1.Stream, this.encoding_0); }
private void method_4() { Class611.Write(Class889.Create((Stream)this.class504_3.Stream, this.dxfVersion_0, this.encoding_0), this.dxfModel_0.SummaryInfo); }
private unsafe void method_1() { this.stream_0.Position = this.stream_0.Length; this.class954_0.FileSize = (ulong)(this.stream_0.Length + 1024L); this.class954_0.Header2Offset = (ulong)(this.stream_0.Position - 1152L); this.class954_0.SectionsMapCrcSeed = this.class995_0.method_2((uint)this.class954_0.SectionsMapCrcSeed); this.class954_0.PagesMapCrcSeed = this.class995_0.method_2((uint)this.class954_0.PagesMapCrcSeed); Class888 class888 = new Class888(); class888.method_0(this.class954_0.CrcSeed, this.class995_0); this.class954_0.CrcSeedEncoded = this.class995_0.method_2((uint)(this.class954_0.CrcSeed & (ulong)ushort.MaxValue)); MemoryStream memoryStream1 = new MemoryStream(); Class889 byteStream = Class889.Create((Stream)memoryStream1, this.dxfVersion_0, this.encoding_0); this.method_3(byteStream); ulong num1 = Class656.class656_0.method_0(memoryStream1.GetBuffer(), 0U, (uint)memoryStream1.Length, Class656.smethod_1(0UL, (uint)memoryStream1.Length)); memoryStream1.Position = 264L; byteStream.vmethod_15(num1); Class955 class955 = new Class955(); MemoryStream memoryStream2 = new MemoryStream(); class955.method_1(memoryStream1.GetBuffer(), 0, (int)memoryStream1.Length, (Stream)memoryStream2); if (memoryStream2.Length >= memoryStream1.Length) { memoryStream2 = memoryStream1; } ulong num2 = Class656.class656_0.method_0(memoryStream2.GetBuffer(), 0U, (uint)memoryStream2.Length, Class656.smethod_1(0UL, (uint)memoryStream2.Length)); MemoryStream memoryStream3 = new MemoryStream(12); Class889 class889_1 = Class889.Create((Stream)memoryStream3, this.dxfVersion_0, this.encoding_0); ulong control = this.class995_0.method_1(); class889_1.vmethod_15(control); class889_1.vmethod_15(Class888.smethod_0(control, control)); ulong num3 = Class656.class656_0.method_0(memoryStream3.GetBuffer(), 0U, (uint)memoryStream3.Length, Class656.smethod_0(0UL, (uint)memoryStream3.Length)); MemoryStream memoryStream4 = new MemoryStream(1024); Class889 class889_2 = Class889.Create((Stream)memoryStream4, this.dxfVersion_0, this.encoding_0); class889_2.vmethod_15(num3); class889_2.vmethod_15(control); class889_2.vmethod_15(num2); if (memoryStream2.Length < 272L) { class889_2.vmethod_13(memoryStream2.Length); } else { if (memoryStream2.Length != 272L) { throw new Exception(); } class889_2.vmethod_13(-272L); } memoryStream4.Write(memoryStream2.GetBuffer(), 0, (int)memoryStream2.Length); uint num4 = Class746.class746_0.K * 3U; uint length = (uint)class889_2.Stream.Length; uint num5 = (uint)((ulong)(uint)((int)length + 8 - 1) & 18446744073709551608UL); uint paddingSize1 = num5 - length; this.method_25((Stream)memoryStream4, paddingSize1); uint num6 = num4 / num5; for (int index = 1; (long)index < (long)num6; ++index) { memoryStream4.Write(memoryStream4.GetBuffer(), 0, (int)num5); } uint paddingSize2 = num4 - (uint)memoryStream4.Length; this.method_25((Stream)memoryStream4, paddingSize2); byte[] buffer = new byte[1024]; fixed(byte *source = memoryStream4.GetBuffer()) fixed(byte *destination = buffer) { this.method_28(destination, source, (int)num4, Class746.class746_0); this.method_24(destination + 765, 259U); } MemoryStream memoryStream5 = new MemoryStream(buffer, true); memoryStream5.Position = memoryStream5.Length - 40L; class888.Write((Stream)memoryStream5); if (memoryStream5.Length != 1024L) { throw new Exception(); } this.stream_0.Write(buffer, 0, buffer.Length); this.stream_0.Position = 128L; this.stream_0.Write(buffer, 0, buffer.Length); }
public static void smethod_0(Class949 appInfo, Stream stream, Encoding encoding) { Class889 byteStream = Class889.Create(stream, DxfVersion.Dxf21, Encoding.Unicode); Class921.smethod_0(appInfo, byteStream); }
public static void Write(Class889 stream, DxfModel model) { stream.vmethod_5((short)0); stream.vmethod_7((ushort)model.Header.MeasurementUnits); }
private void method_5() { this.memoryStream_2 = new MemoryStream(); Class501.Write(Class889.Create((Stream)this.memoryStream_2, this.dxfVersion_0, this.encoding_0), this.dxfModel_0); }