Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Cal3D files importer (.cmf, .csf...)

Featured Replies

  • Localization

Cal3D is an open source model format that nobody has made a (good) importer for.

A 3DS game uses them and i'm trying to rip the models.

I would love a Noesis plugin and i also included the demo. cal3ddemo.zip

I found a noesis plugin on the XeNTaX archive for that, (link) but only the skeleton (fmt_csf.py) works (screenshot)cal3d_csf.png.8a9462fd98697bf99b1f1aec30dd5987.png

List of Cal3D files:

  • .cmf (Mesh)
  • .csf (Skeleton)
  • .crf (Material)
  • .caf (Animation)
  • .cpf (Morph Animation)
  • .cfg (Model Configuration, probably exclusive to demo)
  • .xmf (XML, Mesh)
  • .xsf (XML, Skeleton)
  • .xrf (XML, Material)
  • .xaf (XML, Animation)
  • .xpf (XML, Morph Animation)

Links:

 

Edited by Somwonere
Fix.

Solved by AexaDev

  • Supporter
43 minutes ago, Somwonere said:

Cal3D is an open source file format that nobody has made an importer for.

Maybe because Cal3D is assumed to be dead?

  • Author
  • Localization
1 minute ago, shak-otay said:

Maybe because Cal3D is assumed to be dead?

Yes it's dead.

  • Localization
14 hours ago, Somwonere said:

Cal3D is an open source model format that nobody has made a (good) importer for.

My programs support the following Cal3D file formats:

  • cal3D ASCII Mesh *.XMF
  • cal3D Binary Mesh *.CMF
  • cal3D Binary Mesh (IMVU) *.XMF
     

 

- 3D Object Converter (Windows);

- 3D Object Converter (AmigaOS)

http://3dconverter.synology.me/3doc

 

- i3DConverter x64 macOS

- i3DConverter amd64|x64 Linux

http://3dconverter.synology.me

  • Author
  • Localization
12 hours ago, Karpati said:

My programs support the following Cal3D file formats:

  • cal3D ASCII Mesh *.XMF
  • cal3D Binary Mesh *.CMF
  • cal3D Binary Mesh (IMVU) *.XMF

Nice but i just want a working noesis plugin.

  • Supporter
On 12/8/2025 at 10:00 PM, Somwonere said:

Nice but i just want a working noesis plugin.

Good luck.

Well, first I've to admit I don't like the mesh format, so I'm biased.

I don't understand the logic how vertex blocks are built in cally_head.cmf.

After getting a stop condition assembling the vertices was not too hard but I didn't get the face indices applied.

So I used meshlab for building the mesh.

 

callyHead.png

On 12/8/2025 at 10:00 PM, Somwonere said:

Nice but i just want a working noesis plugin.

I’d make one if this format was actually used somewhere 

  • Supporter
Quote

Content Creation Platforms: Platforms like the virtual world IMVU and the filmmaking software Moviestorm use the Cal3D system for their models and animation files.

Specific Software: Various specific projects and tools have integrated Cal3D, including:

  • A Tale in the Desert (MMORPG)
  • The Nebula Device (3D engine)
  • ReplicantBody (character animation toolkit)
  • HALCA (a real-time character engine used in the XVR virtual reality system) 

edit: if you thought (like me) to get some models for free after having installed ATaleInTheDesert: forget about it!

It's a subscription based game.

Edited by shak-otay

2 minutes ago, shak-otay said:

 

Oh, my bad should have backread. I’ll make it when I’ll have some more time, if i do ill definitely link it here

I also noticed that the file spec linked above for .cmf files is different to the samples provided, i.e. the samples are earlier versions of the format and don't match the spec exactly.  Some of the samples are versions 700 and 1100.

 

 

  • Author
  • Localization
21 hours ago, DKDave said:

I also noticed that the file spec linked above for .cmf files is different to the samples provided, i.e. the samples are earlier versions of the format and don't match the spec exactly.  Some of the samples are versions 700 and 1100.

 

 

I found the format documentation with version 700.

https://github.com/mp3butcher/Cal3D/blob/fcd00f2504e222f112e20aa61fa7eb4fee7e9ea7/cal3d/tools/converter/fileformats.txt

(comparing it to the latest one, they changed stuff about animations and added morphs)

Edited by Somwonere
fix

  • Author
  • Localization
On 12/12/2025 at 2:17 PM, AexaDev said:

Thank you so much!

and why does it detect .cfg files in the same folder as the .cmf files? can't you change it to load the .cfg files first?

also add this .cfg template to your repository cfgtemplate.zip

  • Supporter
6 hours ago, Somwonere said:

Thank you so much!

and why does it...

There is a "thanks button" (just in case you didn't know).

8 hours ago, Somwonere said:

Thank you so much!

and why does it detect .cfg files in the same folder as the .cmf files? can't you change it to load the .cfg files first?

also add this .cfg template to your repository cfgtemplate.zip

I chose to start loading from the .cmf files because it has a recognizable header, the cfg file does not...

  • Supporter

@AexaDev: very impressive work!:classic_smile:

As a remark, if someone tries to load a cmf without a cfg file being present he'll get this:

Quote

UnboundLocalError: local variable 'cfgPath' referenced before assignment

I'm not sure whether all people out there will understand that a cfg file is missing so it might be a good idea to let the script check for it in the cmf's directory.

24 minutes ago, shak-otay said:

@AexaDev: very impressive work!:classic_smile:

As a remark, if someone tries to load a cmf without a cfg file being present he'll get this:

I'm not sure whether all people out there will understand that a cfg file is missing so it might be a good idea to let the script check for it in the cmf's directory.

Thanks, yeah the script lacks a ton of error handling, the script expects the user to have folder that aligns to spec, since the header was already checked i thought it was fair to assume the correct folder structure.

Edited by AexaDev

  • 2 weeks later...

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.