public OneStorybookArchiveReader(Stream source) : base(source) { _prsCompression = new PrsCompression(); // Get the number of entries in the archive int numEntries = PTStream.ReadInt32BE(source); entries = new ArchiveEntryCollection(this, numEntries); // Read in all the entries for (int i = 0; i < numEntries; i++) { string entryFilename = PTStream.ReadCStringAt(source, 0x10 + (i * 0x30), 0x20); source.Position = 0x34 + (i * 0x30); int entryOffset = PTStream.ReadInt32BE(source); int entryLength = PTStream.ReadInt32BE(source); // Add this entry to the collection entries.Add(startOffset + entryOffset, entryLength, entryFilename); } // Set the position of the stream to the end of the file source.Seek(0, SeekOrigin.End); }
public OneStorybookArchiveWriter(Stream dest) : base(dest) { _prsCompression = new PrsCompression(); }