Hosted Projects - Non-FreeSpace > MechCommander OmniTech

How to add mechs to MCO

(1/6) > >>

How to add new mechs to Mech commander Omnitech

You will need a new 3D mech model.

Every mech in this game has many files in multiple folders. I will explain which files in what folders.

MechCommanderOmnitech\data\art folder

There is a sub folder "mechicons" containing all mech icon files for the game. Files are in TGA file format and must be named with your mech name - "MyMechName.tga".
See contents of that folder for example.

There is a file buildings.csv which contains a list of all objects from the game.

Short description of some important columns form buildings.CSV:

File name - object name. It must match the name in the corresponding FIT file or CSV file  for mechs from objects folder.

File name = RepairBay2 in Buildings.CSV file,

Fragment from corresponding FIT file (in Object2):

l ObjectTypeNum=1

st Name="RepairBay2"

See examples in Buildings.CSV files:

Group ID - To which group the object belongs - mech, vehicle, building, … Important for mission editor.

NameID - Resource ID number for resource string in resource DLL file (see MC2RelStrings.Zip file). This is the name of object, which will be displayed in the game.
OR for MCO simple text entry for name which you want for the editor.

Type - object type: Mech, vehicle …

FitID - This is the object number for mech, vehicle or building from movobj.FIT file from objects folder.

New mech row in buildings.CSV must NOT be the last in the file. Leave at least one building as the last.

Every mech must have a file MCL_MC_ MyMechName.tga. It is used for mechlab in logistics.

MechCommanderOmnitech\data\objects folder

Every mech must have a CSV file (comma delimited). It contains definition for mech weight, speed, weapons, etc. It must be named "MyMechName.csv"

File contains definitions for all objects in MCO. It is where the object number is defined. When you create new mech you must add 3 new lines of text in appropriate category:

l ObjectTypeNum = 2;
st CSVname = " MyMechName"

First line is new object number for your new mech (or vehicle or building...)
Second is object type - explained in movobj file.
Third is your new mech name "MyMechName".

MechCommanderOmnitech\data\TGL folder

There is subfolder 512 in TGL folder. This is the place for all texture files. Texture files are TGA format, RGB, 512x512 pixels.

Mech 3D model, animation and ini files are here (TGL, AGL and INI files).
If you make a new mech you must create simple animations (no IK, FK...) as described below.

If you use existing mech, you must copy and rename all files from the source mech to "MyMechName..."

How to add new 3d mech models.
You have to export as ASE files from MAX with the correct names.  The game automatically converts the ASE files to the TGL and AGL formats when it loads them the first time.

<mechname> being the name of the mech like atlas or madcat, the filenames are as follows:

<mechname>.ase                      Stand pose.  This has no animation in it and is used to load the geometry for the mech.
<mechname>fallbackward.ase          Fallbackward animation
<mechname>fallforward.ase           Fallforward animation
<mechname>getupback.ase             Get up animation from fall backward.
<mechname>getupfront.ase            Get up animation from fall forward.
<mechname>hitback.ase               Hit animation when mech is hit from behind.
<mechname>hitfront.ase              Hit animation when mech is hit from front.
<mechname>hitleft.ase               Hit animation when mech is hit from left.
<mechname>hitright.ase              Hit animation when mech is hit from right.
<mechname>idle.ase                  animation when mech is standing awaiting orders.
<mechname>jump.ase                  jump animation for mech.
<mechname>limpleft.ase              limp animation when right leg is destroyed (I think.  If not, reverse this and the next one)
<mechname>limpright.ase             limp animation when left leg is destroyed.
<mecnname>parktostand.ase           animation for mech powering up.
<mechname>rntowk.ase                transition animation from run to walk.
<mechname>run.ase                           run animation.
<mechname>standtopark.ase           animation for mech powering down.
<mechname>sttowk.ase                transition animation from stand to walk.
<mechname>walk.ase                  walk animation.
<mechname>wktorn.ase                transition animation from walk to run.
<mechname>wktost.ase                transition animation from walk to stand.

All of these are converted to agl files the first time we load the mech.
The <mechname>.ase file is converted to a tgl file.

This is it. I know its complicated and I hope I wrote it right.
Good luck.


Was anybody successful in adding a new mech? I tried it two times (plus several more times correcting possible mistakes..) but failed, yet. :(

Post your work somewhere or send me your work and I will see what is wrong.


I got a question for you. How do you constrain the individual mech parts to the helpers? I've tried just parenting them, in Maya, exporting an fbx to Max, then converting it to an ASE. Whenever I do this, it always crashes. I've tried doing parent constrains as well, but end up with the same results. If need be, I can constrain the pieces in Max, but I don't know how.

Any help would be appreciated.

Here's the 90% completed Catapult I did years back, but I never once, got it in the game and I'm not sure what I've missed.. -_-

pm me and I will send you mech skeleton file in max...


[0] Message Index

[#] Next page

Go to full version