Posted by angrycamel at September 21st, 2006


Main features:
Drag and Drop functionality for the following:

1) compress/decompress maps (no more caching maps on your xbox)
2) make ppfs (they’re smaller and faster than ppf-studios - this dropped a ppf of a SP->MP cache file from 63MB to 49MB)
3) apply ppfs (if well named, it can figure out what map to apply them to)
4) optimize old ppfs (remove garbage at the end of the map file, and use better ppf algorithm)
5) unpack and repack the UI (MP map names/descriptions/icons, SP names/descripitons - when packing the names, the letters are pooled so that the new name of each map does not have to be smaller than the name of the old map.)
6) use this to make map packs compatible with the new “Halo Map Pack installer”!

Directions:

For all of the PPFSmart*.exe files, the original map files (the compressed ones off of the DVD) should go in the same directory that these program files are in (RPPE’s root directory), not in the directory that the map files you are working on are in. Thus, next to RPPE.exe, you will want to copy sidewinder.map, bloodgulch.map, etc. If you want to speed up some of the Smart operations, then decompress the files in the program directory first. For example, drag bloodgulch.map onto RPPE.exe. Then delete the old bloodgulch.map and rename the resulting bloodgulch-d.map back to bloodgulch.map. Now, when the “Smarts” snag the “original” file it will already be decompressed.

Usage:

UIUnpack.exe - Drag and drop a compressed or decompressed ui.map onto UIUnpack.exe to unpack the ui into a directory.

UIPack.exe - Drag and drop a compressed or decompressed ui.map file onto UIPack.exe to repack the directory into the map file. UIPack will use the directory that was unpacked by UIUnpack, so just UIUnpack the ui.map, edit the resulting directory, and then UIPack the ui.map file again.

PPFSmartMake.exe - Drag and drop a compressed or decompressed map file onto PPFSmartMake.exe to make an optimized ppf of it. The internal name of map file must be the map it is based off of. Thus, if you grab a map out of the existing NMP directory it will not work because the internal name was changed to slide it into a different slot in the UI.

PPFSmartOptimize.exe - Drag and drop a well named ppf (Reddog-doghouse(SW)(DT).ppf) onto PPFSmartOptimize.exe to create an optimized ppf. These ppfs are frequently 30-60% smaller than ppf-studio’s.

PPFSmartApply.exe - Drag and drop a well named ppf (Reddog-doghouse(SW)(DT).ppf) onto PPFSmartApply.exe to patch the right map.

ToggleCompression.exe - Drag and drop a compressed map to decompress it, or drag and drop a decompressed map to compress it.

RPPE.exe - The real workhorse here. Aside from providing the grunt work for the other applications, you can drop a variety of pairs of files onto RPPE.exe for even more results. Here are some examples not covered by the apps above:

—– Apply PPF3 —–
Drop: A ppf and a compressed map
Result: The map is decompressed, the ppf is applied, and the result is recompressed.
Example: bloodgulch.map + Galite(BG)(WZ).ppf -> bloodgulch-p.map

Drop: A ppf and a decompressed map
Result: The ppf is applied to the map
Example: cache002.map + InterfaceStandard.ppf -> cache002-p.map

Drop: A ppf and another file
Result: The ppf is applied to the file
Example: default.xbe + HaloNMPxbe.ppf -> default-p.xbe

—– Make optimized PPF3 —–
Drop: A compressed map (C) and a decompressed map (D)
Result: A ppf is made where the original is the decompressed version of (C), and the patched file is (D).
Example: bloodgulch.map + cache003.map -> bloodgulch-to-cache003.ppf

Drop: Two files with the same extension other than .map
Result: Two ppfs are made, one to convert file A into B, and the other to convert file B into A. Just delete the one you don’t want.
Example: default.xbe + halonmp.xbe -> default-to-halonmp.ppf and halonmp-to-default.ppf

State of affairs:
I feel RPPE in general needs more testing, but these helper apps need even more. Please feel free to beat on them for a while and let me know what you find.

To do:

1) Support longer names and descriptions in the UI unpack/pack.
2) Fix compression/decompression of oversized MP maps
3) Testing, testing, testing

Credits:
Although I wrote this funky monkey, it would not have been possible without:

* angrycamel - My right-hand man for testing, ideas, and design. Plus he makes killer UI’s for my apps. I’m sure RPPE will get a cool new UI soon ;-)
* MonoxideC - HMT kicks ass, so I modified and compiled part of HMP into a new lib. I hope you don’t mind :-)
* Grenadiac - I based my (de)compression code off of his.
* Icarus/Paradox - for the PPF3 format
* UltraMagnus - testing and feedback
* And a bunch of others that I’m forgetting - keep up the good work modders!