Makemdl

From FSDeveloper Wiki
Jump to: navigation, search



MakeMDL is the primary compiler for objects created for Microsoft's Flight Simulator 9

In its latest iteration, available in the MakeMDL SDK [1] for FS9, it supports input commands via a file named "makemdl.cfg". Normally, this file is located in the same folder in which MakeMDL.exe resides, e.g. "C:\gmax\gamepacks\fs2004\plugins"

Sample MakeMDL.cfg

[Settings]
LastDir=
SaveDir=C:\gmax\GAMEPA~1\FS2004\plugins

[Options]
Debug=1
ViewLog=0
KeepErrorLog=1
Keep=0
I8=1
I=0
FullMat=1
Deffallback=1
WeldPoints=0
Optimize=0
Flatten=0
NoAnimate=0
HasReflectMap=1
HasNightMap=0
HasLightMap=1
HasDamageMap=0
NegateZ=1
NoLeftToRight=0
SwapBH=0
Vis=0
Crash=0
XML=1

Makemdl.cfg options explained

Of special interest to avid modellers for FS9 are the "Debug", "KeepErrorLog", "WeldPoints", "Optimize" and "Flatten" settings.

Debug
Set to "1" (no quote marks) to enable debug functionality
ViewLog
Automatically opens the log file after compilation if set to "1"
KeepErrorLog
Does not delete the log file if set to "1"; useful for finding erroneous parts or animations
Keep
Does not delete temporary files created during compilation if set to "1"
I8
 ???
I
 ???
FullMat
 ???
Deffallback
 ???


The next three settings can be a cure to the 4mm vertex weld issue otherwise present for FS9 models (very notable and annoying in virtual cockpits)!

WeldPoints
Disable vertex welding when set to "0".
Optimize
Optimizes code (grouping of parts with same materials and removing unnecessary translate/rotate animation tags)
Flatten
Set to "0" to disable flattening of the hierarchy tree
NoAnimate
Does not parse animations during compilation if set to "1"
HasReflectMap
Set to "1" to enable reflectivity for the model. Make sure to put a "_t" suffix into the texture's file name, e.g. "fuselage_t.bmp" and make sure "Reflections" is enabled in FS9's "display" menu.
HasNightMap
Enables use of auto-enabled night textures ("_lm" suffix, i.e. "tower_lm.bmp") if set to "1". You won't need to fill the "self-illumination" slot of the material in GMax. Useful for scenery design!
HasLightMap
Enables use of self-illumination night textures ("_l" suffix, i.e. "fuselage_l.bmp") if set to "1". You won't need to fill the "self-illumination" slot of the material in GMax. Useful for aircraft design!
HasDamageMap
Enables damage textures if set to "1". Not needed for FS9.
NegateZ
If your object appears upside down in FS9, set this to "1".
NoLeftToRight
Set this to "1" to invert the left/right coordinate axis
SwapBH
When set to "1", the bank and heading axis of the model will be swapped
Vis
 ???
Crash
Set to "1" to enable crash detection when compiling a scenery object.
XML
Produces a sample placement XML file for a scenery object when set to "1"