## Contents

- Cal3D Support
- File Formats and Versions

## Cal3D Support

There are few different file formats for Cal3D and several different versions for those formats. Misfit Model 3D has support for most Cal3D functionality, but some features are missing or imperfect. The following is a short list of things to be aware of when working with Cal3D files in Misfit Model 3D. Some of these items are discussed in more detail in the sections below.

- For the primary Cal3D model file, MM3D will read files with the .cal and .cfg extensions. INI-style files are supported, XML-style files are not (except for material files).
- For skeleton, animation, mesh, and material files binary formats are supported for versions 700-1200. XML materials are also supported. No other XML formats are supported.
- MM3D does not support springs or LOD reduction. These attributes will be silently discarded on import.
- Texture map materials are supported, any additional maps in the material file will be silently discarded on import.
- MM3D assumes 30 fps and assigns the keyframes to frame numbers.
- MM3D will read compressed animations, but will not write compressed animations.

MM3D has a Cal3D Export Options window that allows you to write meshes in a single file, or in separate files, as well as specifying whether materials should be in XML or binary format.

## File Formats and Versions

### .cal and .cfg

Cal3D models are made up of skeleton, animation, mesh, and material files, as well as .cal or .cfg configuration files that define how to put the final model together from the individual files. There are two file formats for the .cal and .cfg files. One style is similar to a Windows .INI file. It has section names in square brackets and key/value pairs that specify filenames for parts of the model. The other style is an XML format. Misfit Model 3D will read and write the INI style files, but not the XML format.

Some attirbutes of the configuration file will be read, preserved, and written even though MM3D does not use them. Those attributes include things like scale and rotation.

### Skeleton Files (.csf)

Binary skeleton file formats 700 through 1200 are supported. XML skeleton files are not supported.

The filename of the skeleton file written by MM3D will be the same as the main .cal or .cfg file with the extension replaced with .csf.

### Animation Files (.caf)

Binary animation file formats 700 through 1200 are supported. XML animation files are not supported.

There is one animation file per animation. The animation filename is is the name of the animation plus the .caf extension. If a meta data key for "animation_[animation name] is defined, the filename specified in the meta data is used instead.

MM3D tracks animations on a per-frame basis, using the frames-per-second attribute to determine at which point in time a keyframe influences the skeleton. Cal3D animations do not have an FPS attribute, only keyframe times. MM3D assumes 30 fps to assign the keyframes to frame numbers.

MM3D will read compressed animation tracks. MM3D will write animation files in any version number you specify, but regardless of the version number MM3D will always write uncompressed animation tracks.

### Mesh Files (.cmf)

Binary mesh file formats 700 through 1200 are supported. XML mesh files are not supported.

The meshes in the model may be written in one mesh file, or one file for every group. If there is a single mesh file, it will be the same name as the .cal or .cfg file with the extension replaced with .cmf. If there are multiple mesh files, the files will be named after the groups with .cmf appended.

Note that LOD (level of detail) attributes and springs are not supported by MM3D. LOD and spring data will be silently discarded when mesh files are read.

### Material Files (.crf and .xrf)

Binary material file formats 700 through 1200 are supported. XML versions 900 through 1000 are supported.

Material file names are the material name with .crf or .xrf appended.

Texture map materials are supported. Other additional maps that are specified will be silently discarded by MM3D.

Often Cal3D texture images are in PNG or RAW format. MM3D supports both of these formats in addition to many other formats.