(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:

  1. the wrp has the old file references and must be altered.
  2. splitting has to assume that the already-done-layers may have altered in some way.

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.