public void Read(FileReader reader) { hash = reader.ReadUInt64(); FileCount = reader.ReadUInt32(); unknown = reader.ReadUInt32(); for (int f = 0; f < FileCount; f++) { HashIndex hash = new HashIndex(); hash.Read(reader); hashes.Add(hash); } }
public void Read(FileReader reader) { hash = reader.ReadUInt64(); uint fileCount = reader.ReadUInt32(); Padding = reader.ReadUInt32(); for (int f = 0; f < fileCount; f++) { HashIndex hash = new HashIndex(); hash.Read(reader, this); hashes.Add(hash); } }
public void Read(FileReader reader) { string Signature = reader.ReadString(8, Encoding.ASCII); if (Signature != "GFLXPACK") { throw new Exception($"Invalid signature {Signature}! Expected GFLXPACK."); } version = reader.ReadInt32(); uint padding = reader.ReadUInt32(); uint FileCount = reader.ReadUInt32(); FolderCount = reader.ReadInt32(); ulong FileInfoOffset = reader.ReadUInt64(); ulong hashArrayOffset = reader.ReadUInt64(); ulong hashArrayIndexOffset = reader.ReadUInt64(); reader.Seek((long)hashArrayOffset, SeekOrigin.Begin); for (int i = 0; i < FileCount; i++) { ulong hash = reader.ReadUInt64(); hashes.Add(hash); } reader.Seek((long)hashArrayIndexOffset, SeekOrigin.Begin); for (int i = 0; i < FileCount; i++) { HashIndex hashindex = new HashIndex(); hashindex.Read(reader); hashIndices.Add(hashindex); } reader.Seek((long)FileInfoOffset, SeekOrigin.Begin); for (int i = 0; i < FileCount; i++) { FileEntry fileEntry = new FileEntry(); fileEntry.Read(reader); fileEntry.Text = hashes[i].ToString(); Nodes.Add(fileEntry); files.Add(fileEntry); } }