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.

Version History:
1.0.3.0 [November 18, 2014]

Now unpacks files from Scribblenauts Unmasked.

1.0.2.0 [November 25, 2013]

pmindex_for_code.xml and 1s will also be searched for file names

Added exception handling for pmindex.xml specifying an invalid index number

1.0.1.0 [November 19, 2013]

Added option to extract *.p files individually

Added and edited disposed check

Better parsing of pmindex.xml

Placeholder replacements are applied only during extraction

1.0.0.0 [November 18, 2013]

Initial release

BinkA2Wav:
I updated the program to be a full command line utility. Please see blog/?p=1115.

Last edited by GMMan on Thu Nov 20, 2014 4:30 pm, edited 3 times in total.