Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Zip64EndOfCentralDirectoryRecord.cs
Go to the documentation of this file.
2
4{
5 public ulong SizeOfThisRecord;
6
7 public ushort VersionMadeBy;
8
9 public ushort VersionNeededToExtract;
10
11 public uint NumberOfThisDisk;
12
14
16
18
20
22
23 public static bool TryReadBlock(BinaryReader reader, out Zip64EndOfCentralDirectoryRecord zip64EOCDRecord)
24 {
25 zip64EOCDRecord = default(Zip64EndOfCentralDirectoryRecord);
26 if (reader.ReadUInt32() != 101075792)
27 {
28 return false;
29 }
30 zip64EOCDRecord.SizeOfThisRecord = reader.ReadUInt64();
31 zip64EOCDRecord.VersionMadeBy = reader.ReadUInt16();
32 zip64EOCDRecord.VersionNeededToExtract = reader.ReadUInt16();
33 zip64EOCDRecord.NumberOfThisDisk = reader.ReadUInt32();
34 zip64EOCDRecord.NumberOfDiskWithStartOfCD = reader.ReadUInt32();
35 zip64EOCDRecord.NumberOfEntriesOnThisDisk = reader.ReadUInt64();
36 zip64EOCDRecord.NumberOfEntriesTotal = reader.ReadUInt64();
37 zip64EOCDRecord.SizeOfCentralDirectory = reader.ReadUInt64();
38 zip64EOCDRecord.OffsetOfCentralDirectory = reader.ReadUInt64();
39 return true;
40 }
41
42 public static void WriteBlock(Stream stream, long numberOfEntries, long startOfCentralDirectory, long sizeOfCentralDirectory)
43 {
44 BinaryWriter binaryWriter = new BinaryWriter(stream);
45 binaryWriter.Write(101075792u);
46 binaryWriter.Write(44uL);
47 binaryWriter.Write((ushort)45);
48 binaryWriter.Write((ushort)45);
49 binaryWriter.Write(0u);
50 binaryWriter.Write(0u);
51 binaryWriter.Write(numberOfEntries);
52 binaryWriter.Write(numberOfEntries);
53 binaryWriter.Write(sizeOfCentralDirectory);
54 binaryWriter.Write(startOfCentralDirectory);
55 }
56}
virtual ulong ReadUInt64()
virtual ushort ReadUInt16()
virtual uint ReadUInt32()
virtual void Write(bool value)
static void WriteBlock(Stream stream, long numberOfEntries, long startOfCentralDirectory, long sizeOfCentralDirectory)
static bool TryReadBlock(BinaryReader reader, out Zip64EndOfCentralDirectoryRecord zip64EOCDRecord)