Skip to content
Morrobroom
reference

Command line

Every Morrobroom command and option, for when TrenchBroom's compile profile is not enough.

Morrobroom has three commands. morrobroom --help, or --help after any command, prints the same options from the program itself.

CommandDoes
compileCompile a TrenchBroom map into meshes, a lightmap and a plugin.
nif2mapReverse-compile NIF visual geometry into editable maps.
fgdGenerate a TrenchBroom entity catalog from an OpenMW load order.

compile#

morrobroom compile --map my_level.map --output my_level.omwaddon

To keep the generated meshes, lightmap and plugin together in one project-local directory, the way the TrenchBroom profile does:

morrobroom compile \
  --map my_level.map \
  --output-dir build/my_level \
  --output build/my_level/my_level.omwaddon
OptionDefaultPurpose
--map PATHRequired. The .map file to compile. It must exist and end in .map.
-o, --output PATH<map>.omwaddon beside the mapThe plugin: .esp, .esm, .omwaddon or .omwgame. An existing plugin is updated, not replaced; see OpenMW integration.
--output-dir PATHthe map’s folderWhere Meshes/ and Textures/ are written. Created if needed.
-c, --config PATHopenmw-config discovery, then the user configThe OpenMW config file or directory whose data provides textures.
-s, --scale NUMBER2.0Scale the generated meshes. Quake-scale maps need 2.0 to match Morrowind.
--no-lightmapsSkip lightmap UVs and baking.

nif2map#

morrobroom nif2map meshes/ \
  --recursive \
  --texture-root "/path/to/Morrowind/Data Files" \
  --texture-root "/path/to/Morrowind/Data Files/Morrowind.bsa" \
  --output-dir nif2map-out

It writes map units, dividing the NIF’s Morrowind units by -s, --scale (2.0, the same as compile). Every option, and the model behind them, is on NIF import.

fgd#

morrobroom fgd --config /path/to/openmw.cfg
OptionDefaultPurpose
-c, --config PATHThe openmw.cfg whose load order to catalog.
-o, --output PATHTrenchBroom’s Morrowind game directoryWhere to write MorrowindObjects.fgd.
-t, --types TAGSevery placeable typeTES3 record tags separated by ;, like "stat;door;ligh". Placeable objects only: acti, alch, appa, armo, book, clot, door, ingr, levc, levi, ligh, lock, misc, prob, repa, scpt, stat, weap.
-s, --scale NUMBER2.0Scale for the catalog’s bounding boxes. Keep it the same as compile --scale.

OpenMW integration explains where the catalog goes and what it is for.