Esempio n. 1
0
            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);
                }
            }
Esempio n. 2
0
            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);
                }
            }
Esempio n. 3
0
        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);
            }
        }