The program unpacks files from Scribblenauts Unlimited with file names. See Tools Blog page for usage info.
Other notes:
- *.p files seem to have 64 bytes of header, the first int being the size of the file and the second int indicating whether or not the file should be resident (i.e. loaded into memory in its entirety). The rest of the header is unused.
- I think the "flags" field is actually indication of the compression level (6 for normal Zlib compression). The odd thing is all of the compressed files are actually using fast compression. In any case, the value is only compared against 0.
- All files have a trailing byte with the value being the file's compression level. Actual compressed size is one less than the one in the index. Some compressed files seem to have a gap after it in the *.p archive. The gaps are actually unindexed files. They were most likely replaced in another .p file.
1.0.3.0 [November 18, 2014]
- Now unpacks files from Scribblenauts Unmasked.
- pmindex_for_code.xml and 1s will also be searched for file names
- Added exception handling for pmindex.xml specifying an invalid index number
- Added option to extract *.p files individually
- Added and edited disposed check
- Better parsing of pmindex.xml
- Placeholder replacements are applied only during extraction
- Initial release
I updated the program to be a full command line utility. Please see blog/?p=1115.