ParamTool is the universal tool to modify NvParameterized assets. It has the ability to convert from and to different formats and platforms.
Running ParamTool.exe -h results in a full usage description. The examples on the bottom cover the most important usage scenarios:
Usage: ParamTool.exe [OPTIONS] [NAME1...]
Options:
-c, -convert-asset convert files NAME1, ... to single NvParameterized file
-m, -make-asset make template asset file for specified assets;
asset names may have format 'className' or 'className@classVersion'
(by default the latest version is used)
-l, -list print file summary: target platform, number of objects,
their classes, names and versions
-o file, -output file specify name of destination file
-s fmt, -serial fmt specifies ouput serialization format
-t tgt, -target-platform tgt specifies target platform
-pt tag, -platform-tag tag specifies the platform tag used to prepare the assets for
-i, -inplace use inplace deserialization (for debug)
-v, -verify verify serialized data (for debug)
-h, -help print this help message and exit
-p, -print-classes -h + print available APEX Authorable and NvParameterized classes
-d, -diagnostic turn on diagnostic messages
-gv, -get-value "name" try for '-c mode' get parameter from all input files and
prints: parameter name, value, type, valid status
no necessary to provide output file in this case
valid status is info about if parameter is applicable
-sv, -set-value "name" "value" try for '-c mode' set value for parameter by it's name
do it for all deserialized objects from input files
print status of this action and serialize result to output
Note that this version of ParamTool does not support legacy asset formats (use APEX 1.0 version for that).
Default values:
If none of -c, -m or -l is specified, -c is used. Note that you can't use
-c (or -l) together with -m.
Default output file (-o) is basename of NAME1 + xml/bin extension.
Default target platform (-t) is current platform.
Default serialization format (-s) is derived from extension of destination file.
Supported serialization formats:
apx (APex Xml, same as xml)
apb (APex Binary, same as bin)
xml
bin
Supported platforms:
VcWin32 (Vc, x86)
VcWin64 (Vc, x86_64)
VcXbox, VcXbox360 (Vc, PPC)
VcXboxOne (Vc, x86_64)
GccPs3 (Gcc, Cell)
GccPs4 (Gcc, x86_64)
Pib (artificial platform which results in smaller asset files)
Examples:
convert all xml assets in current directory to single bin asset:
ParamTool *.apx -o allAssets.apb
convert binary asset to xml asset:
ParamTool -s apx leafMesh.apb
make NvParameterized file with several assets having default values (latest versions):
ParamTool -m -s apx -o legacyClothing.apb ExplosionEnvParameters ShapeConvexParams
make NvParameterized file with several assets (with explicit versions):
ParamTool -m -s apx -o legacyClothing.apb ExplosionEnvParameters@0.0 ShapeConvexParams@0.1
prepare an asset for a given platform tag, which has to be stored in the asset:
ParamTool clothingAsset.apb -pt Xbox -o clothingAsset_Xbox.apb
print file summary: target platform, number of objects, their classes, names and versions:
ParamTool -l clothingAsset.apb
get 'comment' parameter and prints parameter name, value, type, valid status per concrete input file:
ParamTool -gv comments Block_Realtime.apx Wall.apb
try to set 'comment' parameter. Save result to Block_RealtimeTemp.apx:
ParamTool -sv comments "test" Block_Realtime.apx -o Block_RealtimeTemp.apx