Hi. I'm afraid this is kind of bad news.
The new SDK seems to be uncompatible with the files I had been working with, even when they worked perfectly in the older version. I tried everything I could think of. I tried to convert the animations with different options, but nothing happened. Then I "solved" this by using a different exporter plugin.
But now I find that this exporter plugin is not supporting mesh animations as the other one did, only bones. That means that all of the effects, like the muzzleflashes, and specially death animations wont work at all, and I would have to rework the whole system for them, using lots of bones instead.
I wondered ,why did the engine change that much? why the same files are not loading at all in this version?
I got my answer after reading a lot of pages of the SDK revision history. The problem seems to be a library called Assimp, which is used by the engine to load many different file formats. It's always been there, but in the SDK that I was working with, this library wasn't being used to load the x. format. Instead it was using a built-in support for those files, probably from DirectX SDK, which worked perfectly.
Here's an old entry:
[116,cvet] 2010-12-30 T23:48:07.050641Z
Подключена библиотека для импорта различных трехмерных моделей - Assimp http://assimp.sourceforge.net/ Поддерживаемые форматы http://assimp.sourceforge.net/main_features_formats.html Для X формата еще используется встроенный, для остальных данная библиотека.
I'm sure someone can translate this better than me, but I'm pretty sure it says that "the Assimp library was implemented, but the X. files are still being loaded with the native plattform".
I confirmed this by deleting the Assimp32.dll from both SDK. The old one still worked, while the new one showed the flame boy sprite instead of the 3d model.
After many revisions I found another entry:
[287,cvet] 2011-10-23 11:50:49
Загрузка трехмерных моделей и анимаций полностью перенесена на Assimp, т.е. X формат в частности.
This one says that "now all of the 3d files are loaded within the Assimp library, x format included". So that's basically what screwed everything up.
I confirmed this by downloading the Assimp viewer (all versions) and loading my models. They load with the exact same error they have in the game.
In conclusion, the native support for the DirectX format is definitely better than Assimp.
I believe this was done when they added OpenGL, because the DirectX native support, for obvious reasons, was not available in Linux.
This is very disappointing and I really don't know what to do. I need a hero.
Possible solutions:
-The best one is to find a new plugin that can export everything perfectly to work with Assimp. Or a different 3d Software.
-Find a way to make the engine load the models with the built-in support on DirectX, and with a different one (not Assimp) on OpenGL
-Ask the guys from Assimp to support the files I export, or at least tell me why they are not working.
-Use the old SDK and live happily ever after...(?)
I'll keep on trying the first one, but my head isn't working very good right now... I hope I see the light and find a way to fix this.
Thanks for reading.