(De)Warp Version 1.xx by Mikero
read readmeGeneral.txt
see fixes
DeWrp analyses the content
of any wrp file (binarised or otherwise) from the very first cwc demo thru to
Vbs2lite and does consistency checks.
The wrp itself can be exposed in a folder 'some\where', or, it can be within a
pbo. DeWrp will find it.
Bacchus Naur
Syntax:
DeWrp [+|-options] AnyfileOrFolder[.wrp|.pbo]
Options (case inSeNsiTIVe) (default none)
standard behaviour (no options)
intention of code is to do multi-passes thru a range of wrps to check the dll can
analyze it and that the wrp itself (be it binarised or exported from pew) has
integrity
-P don't pause
-W warnings are errors
unknown mapinfo stuctures, and uncompressed quadtrees are normally warnings
-S Split wrp layers : see end of document
-I Islands
will list all ID's used on island, including their AaNN map coordinate and
literal pos[X,Y] along with *the* model for that ID
especially useful when converting missions that use OFP's SQx object ID command,
you can rapidly locate it on the map
output is produced on screen
general usage would be
dewrp -I someWrpPbo >SomeText.txt
-L list land classes -------
DeWrp will list all land_xxx classes encountered in the wrp.
(note all output is forced to lower case because of sqX case sensitivity)
DeWrp -L NameOfWrp/Pbo
will provide a SQF compatible array of all land_xxx classes with their (series
of) locations on the map in xyz format
sample:
["land_barn_w_01", [ [3269,4325,27],[4285,3170,32] ] ],
the land_xxx string can be used to directly access the config>>cfgVehicles->Land_xx
class
-O list objects -------
DeWrp will list all p3d's encountered with their objectID and position on the
map
sample:
["ca\structures\barn_w\barn_w_02.p3d",
[
[3958,[3536,4270]],//id, x,y
[2483,[3463,4432]]
]
],
-D list objects -------
same as -O but ID's are removed. useful for cba hash function
sample:
["ca\structures\barn_w\barn_w_02.p3d",
[
[3536,4270], // x,y
[3463,4432]
]
],
Splitting the wrp layer folder.
extremely large maps can exceed the 2gig limit of a pbo
this option splits the layers into smaller chunks < 1gig each, thus enabling game play. It can also be used to simply create smaller sized pbos
This option is BETA. there is no parachute. make backups make backups make backups.
FOR YOUR SANITY, the original layers folder is NOT deleted. This must be done manually if required
splitting can ONLY happen to exported (unbinarised) wrps
Note that ANY subsequent change to a wrp (including minor alteration of an object) means the layers must again be re split because:
syntax
dewrp -S[=meg] NameOf[.wrp]
dewrp will create successive folders in
NameOfWrp_split\layer1
....
NameOfWrp_split\layer999
each one of which will be < 1gig by default OR the value specified on the command line. Ie
dewrp -S=200 SomeWrp
will split into layer pbos of approx 200Meg each
Internals
the incoming layers folder MUST be in the data\ folder or beyond. Traditionally, it's in nameofWrp\data\layers
this layers folder is deleted on successful splitting. Not any other folder or contents in that potentially still used pbo, just the layers
the outputs are to
NameOfWrp_splitNameOfWrp_layer1
.........
NameOfWrp_split\NameOfWrp_layer999
if You simply point pboProject to NameOfWrp_split
it will make successive pbos for you. Automatically
DeWrp GUI
the same functionality is available in the gui. warnings are errors are disabled when in this mode.