Dagor engine asset explorer and exporter coded in Python.
This is an old project of mine, yet it is still in an early state. A lot of features are missing.
To run the program, head to Releases -> Download the latest zip -> Run the exe
You can either drag and drop files into the tree view or open an asset folder / asset files manually.
DAE was designed to fulfil a few purposes:
- Export static models without having to go through the hassle of using Ninja Ripper in the CDK
- Export assets from Enlisted
- Export models with skeletons
- Export map props easily
- Streamline model export to the Source engine (implemented for demo purposes!)
- Export models with bones to OBJ / DMF / Source engine
- Streamline model export directly to the Source engine
- Dagor normal map format to Source normal map format conversion
- Automatic conversion to VTF
- Dagor shader parameters to VMT translation
- QC generation with LOD support
- Automatic split of submodels that exceed 11K vertices
If you do not know where the file you are looking for is located, just click File -> Open asset folder... and select the root directory of your game (E.g. C:\...steamapps\common\War Thunder). Then, just use the search bar to find the asset you are looking for.
Otherwise, you should follow these steps:
- Depending on the type of model you are looking for, open the according Game Res Desc: either
riDesc.binordynModelDesc.bin. If you are unsure, load both of them. In War Thunder, these files are located in(gamedir)\content\base\res. If you do not load these, it is likely that your models will not have material group names. - Load the GRP your model is located in.
- (Optional) Load the necessary DDSx Pack (dxp.bin) files
- Find your model and export it to the format of your choice, although it is heavily recommanded to export models as DMF. Depending on your settings and the contents of the loaded DXPs, textures will be exported in the
texturesfolder relative to your exported files.
- Exporting most textures (I used klensy's wt-tools as a base and added DXT10 support)
- Exporting most RendInst and DynModels
- Exporting map prop layout
Exporting sounds(the program used to have FMod bank support, but I removed it after rewriting it and lacked the courage to add it back)- Exporting models to Source MDL (SMD, QC, VMT, and VTF generation)
You should export all models to DMF as it is the only format with full skeleton and material support. Download the Blender importer here.
Models can be exported to OBJ without skeleton. An MTL file is automaticaly generated and textures are exported adequately (you can toggle this in the options).
- Collision models are offset
- Game Resource Pack (GRP): file that contains Real Resource Data
- Real Resource Data (RRD): they can be of several type, here are the ones I came across the most:
- Renderable instance (RendInst): static model, single mesh with textures, LODs and eventually an imposter sprite
- Dynamic Renderable Scene (DynModel): model with a skeleton, several meshes and eventually skinned meshes
- GeomNodeTree: skeleton, used with the according DynModel
- CollisionGeom: collision model
- FX: particle effect
- AnimChar: animations
- PhysObj: contains physics data such as mass, inertia tensor...
- LandClass: used to automatically generate planted and tiled areas on a map as far as I can remember
- RandomGrass: probably used to generate random vegetation
- DDSx Pack (DXP): file that contains DDSx textures
- DDSx: compressed DDS texture
- GameResDesc: material and texture descriptors for models
- Look in the issues if someone did not already report a similar issue
- Make an issue, give me the full logs and the path to the resource you tried to export
PS C:\DagorAssetExplorer\src\dae> pyinstaller -p "./gui;./util;./parse" -F __main__.py -n DagorAssetExplorerPS C:\DagorAssetExplorer\src\intrinsics> gcc -shared -Wall .\dae_intrinsics.c -o ..\bin\dae_intrinsics.dll- Quentin H.
- CloakerSmoker
