REtool v0.224 - Speedup, manifests, and support for packing unknown files
Uploaded new version: https://fluffyquack.com/tools/REtool.rar
Full usage information about REtool with file lists downloads can be found here: https://www.patreon.com/posts/36746173
---------
There's several big changes with this version. First of all, when extracting a PAK file, files with unknown paths will now end up in various subdirectories inside the __UNKNOWN directory depending on their file type. This makes the final output a lot more organized.
When creating a PAK, it's allowed to include files from the __UNKNOWN directory where REtool will use the hash numbers that are shown as numbers in the filename. This way you can modify files that we don't know the true filename of.
When creating a PAK file, REtool will now automatically create a manifest of all the files (with real paths) into a file entry based on the filepath "__MANIFEST/MANIFEST.TXT" and REtool will also use manifest as file list if it exists. I'm planning to update Fluffy Mod Manager to be able to read this manifest so I can do mod conflict check and auto categorization of PAK mods.
If you don't want this manifest to be generated, then use the command line argument "-noManifest" when creating a PAK file.
Extracting PAKs when reading a new big file list is now drastically faster. This is because REtool used to check for duplicate entries hash entries. This isn't a necessary step unless you're outputting a new file list, and my current code for checking for duplicate entries is painfully slow, so I removed this check. I'll eventually improve this code, so combining hash lists isn't so slow.
I've included a new batch file in this release that's meant for packing Dragon's Dogma 2 PAK files so they have the correct version number included (DD2 is v4.1 PAK format, while older RE Engine games are v4.0 which REtool applies by default).
Full change log:
When creating a PAK, it's now possible to include files with unknown paths if they have the hash in the filename. These files are read from the "__UNKNOWN" directory.
When extracting a PAK, files with an unknown filepath are now written to the "__UNKNOWN" directory. Various formats will be written to unique subdirectories.
When creating a PAK, a manifest file will automatically be created that contains the real path for every file entry added to the PAK (manifest hash is based on this path: "__MANIFEST/MANIFEST.TXT").
When extracting a PAK, it will check for a manifest and, if it exists, use that as hash list.
Added "-noManifest" argument for preventing the creation and usage of manifests.
Allow hash lists entries that don't start with "natives".
Hash list reading routines now only check for duplicates when outputting a new hash list. This leads to an enormous speedup as this routine wasn't amazingly written.
Tweaked message telling user a PAK is encrypted so it sounds less like an error message.
