Battlefield Mod Tools

Notice

Keep in mind that these tools are works in progress. If you encounter trouble, please file bug reports to: martijn AT bytehazard DOT com .


BfMeshView

A model viewer that has evolved to something more than just a viewer.
Supports most BF1942, BF2, BF2142, BFH and BFP4F files.

Go to the BfMeshView section.

MaxScripts

Note to Forgotten Hope developers: grab the latest scripts from FHX SVN (/sdk/maxscripts/maxtools/).

colmeshimp.ms - BF2 CollisionMesh importer version 1.2.0.
occexp.ms - BF2 occlusion mesh exporter.
meshcheck.ms - Checks mesh for thin triangles. Use this to pinpoint custom lightmap UV errors.
stdmeshimp.ms - BF1942 StandardMesh importer.
treemeshimp.ms - BF1942 TreeMesh importer.
objexp.ms - A minimal Wavefront OBJ exporter that doesn't suck. Use this for BF2 undergrowth.

BF2MeshCheck

Tool that traverses a (mod) directory tree and parses BF2 mesh files looking for errors, and lists any possible performance issues. Some of these issues can be fixed with BfMeshView.

Download: meshcheck100.zip

DDScheck

Tool that traverses a (mod) directory tree and verifies if the DDS textures were saved in the appropriate format. Some of the checks: missing mipmaps, mipmaps for images that don't need them, unusually high resolutions, unnecessary alpha channels.

Download: ddscheck.zip

BF2Lightmapdeleter

Deletes obsolete level lightmaps, a workaround for the broken BF2Editor feature. Copy the BF2editor failure warnings from the log, and this tool will do something about it. Files will be moved into a sub folder which you'll usually want to delete.

Believe it or not, a DICE studio uses this tool in production. Fools.

Download: bf2lmdel.zip

Tutorials

Feedback welcome!

BF2 Statics Advanced Lightmap Tutorial

BF2 Mesh Parser

C/C++ source code of my Battlefield 2 mesh parser, includes MSVC workspace and test program. The code is MIT Licensed, which means you can freely use it in your own tools, as long as you provide this source code when you distribute yours.

The code supports all Battlefield 2 .bundledmesh, .staticmesh and .skinnedmesh files, as well as those of Battlefield 2142, Battlefield Heroes and Battlefield Play4Free. If you are interested in parsing BF2 .collisionmesh files, I suggest checking out the MaxScript on this page.

The included test program (MeshMan.exe) can also be used to verify the integrity of mesh files in your mod.

Notice: Code has been moved to GitHub.