Exemplo n.º 1
0
        public IEnumerable <PCKFileEntry> ReadFileV3(PCKStream stream)
        {
            stream.Seek(-8, SeekOrigin.End);
            int FilesCount = stream.ReadInt32();

            form.UpdateProgressBar(form.Controls["progBar"], "max", FilesCount);
            stream.Seek(-280, SeekOrigin.End);
            long FileTableOffset = stream.ReadInt64() ^ stream.key.KEY_1;

            stream.Seek(FileTableOffset, SeekOrigin.Begin);
            BinaryReader TableStream = new BinaryReader(new MemoryStream(stream.ReadBytes((int)(stream.GetLenght() - FileTableOffset - 288))));

            for (int i = 0; i < FilesCount; ++i)
            {
                int EntrySize = TableStream.ReadInt32() ^ stream.key.KEY_1;
                TableStream.ReadInt32();
                yield return(new PCKFileEntry(TableStream.ReadBytes(EntrySize), version));
            }
        }
Exemplo n.º 2
0
 public int GetFilesCount(PCKStream stream)
 {
     stream.Seek(-8, SeekOrigin.End);
     return(stream.ReadInt32());
 }