DeP3d Version 1.xx by Mikero
see readme general and fixes
Without options, DeP3d simply inspects any p3d for errors.
With options, you can:
output is generally produced on screen
Syntax:
DeP3d [-options...] Anyfile[.p3d] or AnyFolder or
Any List or "Comma,Separated,list"
options: (CaSE InsenSitivE)
none | list type of p3d(s) encountered and analyse for errors |
-P | don't pause |
-W | Warnings are errors (for trailing spaces in named selections) |
-S[nn] | list named selections (see below) |
-Es | folder | nameof[.p3d] | <file.list> : extract skeleton(s) to <model.cfgs> |
-Ex | list skeleton name (if any) to screen |
-Em | folder | nameof[.p3d] | <file.list> : extract rvmat(s) to screen |
-nn | -nn nameof[.p3d] : degrade p3d to type nn (nn can be hex or decimal) |
-FL[nn] | list files (see below) |
+FX | fix files (see below) |
-Gx | edit lod properties (see below) |
-O or -6 | Origami |
Generic Scanning options (all dos tools operate this way, not just dep3d)
It is useful to quickly scan a folder, series of folders, or a list of p3d's looking for changes to the format, or broken p3d's
one such example is introduction of a physx lod.
To that end, and in keeping with other tools, dep3d accepts scan syntax on the command line
folders are recursively scanned inspecting each p3d it encounters
if some.file is NOT a .p3d it is taken to be a text scan list
This list file can be a permanently held test suite of 'favorite' p3d's and this list can be generated from something as simple as
dir/b somefolder >some.lst
the net effect of a "comma,separated,list" is the same as specifying a file.list. Quotes are ONLY required when spaces exist in the file names or between commas. In both cases (file.list or comma separated), these in turn can be mixtures of specific files, folders and more scan lists.
Conversions
Dep3d is not intended to reverse engineer odol p3d's back to mlods
If you are looking for cracking tools, go away.
However (see origami too)
DeP3d will degrade odol formats to other odol formats
The reasons for doing so is BI's tools such as buldozer, Oxygen and Visitor are not always up to date with respect to p3d's encountered in various engine patches.
This part of dep3d is intended to downgrade these p3d's into something usable for above tools. Whether they are subsequently usable 'as is' in a derived pbo is not relevant.
Separately, dep3d conversion will fully convert OFP formatted p3ds (both odol and mlod) to Arma and vice versa.
The following is a list of version types current as of Arma3 release
1 MLOD (OFP) (SP3X)
2 MLOD ARMA (P3DM)
6 Origami
7 OFP
40+ various arma engine types
Following conversions are available:
From | To |
ANY | OFP MLOD (if text strings <32) |
OFP demo | ofp odol |
OFP MLOD | ARMA MLOD |
ofp odol | any mlod (arma or ofp) |
vbs odol | Arma 1 |
ARMA MLOD | none |
Any Arma1 | Any Lower Arma1 |
Any Arma2 | Any Lower Arma2 |
Arrowhead | Any Arma2 |
TOH | Arrowhead or lower |
ARMa3 | any lower arma3 that is compatible. ymmv |
LIST FILES
-FL[n]
by default, returns a sorted list of lowercase filenames referenced in the p3d. This normally contains mixtures of proxies, paa, and rvmats
[n] is an optional number in decimal or hex. by default, is zero
n translates to a bit field. The combined values are as follows:
1: do not
sort.
2: do not convert to lowercase
(it makes no sense to do a non lowercase sort)
FIX FILES
dep3d will
ORIGAMI
dep3d will convert ODOL (binarised) to MLOD (unbinarised) origami (paper) models.
They have no use whatsoever to the thief but will prove useful/instructive for everyone else.
The purpose of providing this feature is to allow authors the create either encrypted, or obfuscated pbos AND supply origami for map makers so that those models can also be used in maps.
PROPERTIES
all credit to kju for remorseless testing of 'undocumented features' in this section
you can list, change, add or delete properties with the following syntax
-GL[nn] [-lod=whatever ] | List lod(s) | ||
[nn] is an optional number in decimal or hex. By default, is zero | |||
nn translates to a bit field. The combined
values are as follows: 1: do not
sort.
|
|||
-GLname | List all lods with this named property | ||
-GDname [-lod=whatever] | delete property | ||
-GSname=value [-lod=whatever] | set/add/change | ||
-GSname=value | change only, do not add | ||
regardless of how a geolod is determined. (explicitly or implicitly), a p3d containing a single lod, IS the geolod regardless of it's resolution.
dammage and damage are born equal. dammage is always replaced/removed from the lod
geolod class,map,and damage= alter the mapinfo header too
examples:
listing | -GL -lod=2 | list all properties in the 2nd lod |
-GL -lod=7.0e15 | list all properties in the firegeometry lod | |
-GL -lod=Memory | list all properties in the Memory lod | |
-GL | list all properties all lods | |
-GL4 | list only lods that have properties | |
-GLname | list all properties of lods that have this property | |
delete | -GDname | delete 'name' from all lods |
-GDname -lod=1000.0 | delete 'name' from the viewgunner lod | |
set | -GSname=value -lod=Geometry | add or change value in the geolod |
-GSname=value -lod=1.0e15 | change or add property in the memory lod | |
-GSname=value | change value in all lods that have it |
LOD RESOLUTIONS
-lod=whatever can be a physical lod number OR a lod's resolution OR the 'accepted' name of the lod itself as below (case insensitive)
lod's accepted name | or, lod's resolution |
All | all lods |
ViewGunner | 1000.0 |
ViewPilot | 1100.0 |
ViewCargo | 1200.0 |
ViewCargoGeom | 1202.0 |
shadowvolumes | 10000.0 ... |
edits | 20000.0 ... |
Geometry | 1.0e13 |
Bouyancy | 2.0e13 |
Physx(old) | 3.0e13 |
Physx | 4.0e13 |
Memory | 1.0e15 |
LandContact | 2.0e15 |
Roadway | 3.0e15 |
Paths | 4.0e15 |
Hitpoints | 5.0e15 |
ViewGeometry | 6.0e15 |
FireGeometry | 7.0e15 |
ViewCargoGeometry | 8.0e15 |
ViewCargoFireGeometry | 9.0e15 |
ViewCommander | 1.0e16 |
ViewCommanderGeometry | 1.1e16 |
ViewCommanderFireGeometry | 1.2e16 |
ViewPilotGeometry | 1.3e16 |
ViewPilotFireGeometry | 1.4e16 |
ViewGunnerGeometry | 1.5e16 |
ViewGunnerFireGeometry | 1.6e16 |
SubParts | 1.7e16 |
ShadowVolumeViewCargo | 1.8e16 |
ShadowVolumeViewPilot | 1.9e16 |
ShadowVolumeViewGunner | 2.0e16 |
Wreck | 2.1e16 |
NAMED SELECTIONS
(referred to as 'sections' in a model.cfg)
dep3d -S[n]
the default is to list all lods in the p3d whether they have named selections or not
the default is to include proxies as a named selection (which they are)
the default is to sort these selections
the default is to lowercase everything for sorting purposes
[n] is optional n, by default, is zero
n is a decimal number which translates to a bit field. The combined values are as follows:
1: do not
sort.
2: do not convert to lowercase
4: do not list lods which have no namedselections
8: do not list proxies
16: list only
a summary of all lods, not each lod