Help me vet this MDL importer.

#18
I'm uploading a new viewer download with animation for npcs/monsters like skeletons added.

I don't know for sure how close the model is but it seems close. I'd have to compare to some in game stuff. The skeleton death animation goes haywire... so there is either something special going on there I haven't seen or the transformation ordering might be wrong even though it looks good for everything else. The present order is the logical one anyway.

Assimp doesn't yet have a layout for the soft animations though I think it's a priority. Assimp advertises the Quake 1 MDL format is complete, but it isn't actually for the same reason.

I could probably still work it out / cook up an exporter without Assimp but I think I will wait until that is up and running. It would make visual verification a lot easier (than loading models up in Som)


If anyone is eager to do something with this. We should probably pick an suitable input file format (preferably already in the Assimp portfolio) and start by making a clock or something so I can get a visual read on the rotation metric. Timing is also something I don't understand. I'm guessing it's specified in the prf files. The .cp files I have a feeling are more or less just precomputed versions of the animation data. For some files like the treasure chests the .cp files are not actually used it seems. I'm not sure why. It might be a prf setting.

https://anon.swordofmoonlight.com/holy/S..._debug.exe


EDITED: Here are some animation IDs that will be covered in the next upload (whenever that is)

Code:
            if(p->id<2)
            {
                switch(p->id)
                {
                case 0: pAnim->mName = "Idle (default)"; break;
                case 1: pAnim->mName = "Walking (#1)"; break;
                }
            }
            else if(in->num_anims<5) //! guessing object
            {
                switch(p->id)
                {
                case 4: pAnim->mName = "Opening (#4)"; break;
                case 5: pAnim->mName = "Closing (#5)"; break;
                }
            }
            else if(in->num_anims<10) //! guessing enemy
            {
                switch(p->id)
                {
                case 4:  pAnim->mName = "Dying (#4)";      break;                
                case 6:  pAnim->mName = "Evading (#6)";    break;
                case 10: pAnim->mName = "Attack A (#10)";  break;
                case 11: pAnim->mName = "Attack B (#11)";  break;
                case 12: pAnim->mName = "Attack C (#12)";  break;
                case 13: pAnim->mName = "Attack D (#13)";  break;
                case 16: pAnim->mName = "Defending (#16)"; break;
                case 20: pAnim->mName = "Hitting (#20)";   break;
                }            
            }
            else switch(p->id) //! guessing npc
            {
            case 2:  pAnim->mName = "Hitting (#2)";          break;
            case 3:  pAnim->mName = "Dying (#3)";            break;
            case 4:  pAnim->mName = "To Left (#4)";          break;
            case 5:  pAnim->mName = "To Right (#5)";         break;
            case 6:  pAnim->mName = "To Face (#6)";          break;
            case 16: pAnim->mName = "Seated (#16)";          break;
            case 17: pAnim->mName = "Standing (#17)";        break;
            case 18: pAnim->mName = "Hitting Seated (#18)";  break;
            case 19: pAnim->mName = "Dying Seated (#19)";    break;
            case 20: pAnim->mName = "To Left Seated (#20)";  break;
            case 21: pAnim->mName = "To Right Seated (#21)"; break;
            case 22: pAnim->mName = "To Face Seated (#22)";  break;            
            }
Reply



Messages In This Thread
Help me vet this MDL importer. - by HolyDiver - 2010-04-13, 05:35 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-13, 08:52 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-13, 10:23 AM
Re: Help me vet this MDL importer. - by dmpdesign - 2010-04-13, 01:25 PM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-13, 09:57 PM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-13, 10:10 PM
Re: Help me vet this MDL importer. - by dmpdesign - 2010-04-14, 01:09 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-14, 06:31 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-14, 12:22 PM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-14, 10:56 PM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-15, 06:22 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-16, 01:41 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-16, 08:09 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-16, 08:16 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-16, 10:53 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-26, 01:11 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-04-29, 01:45 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-05-04, 05:20 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-05-04, 11:30 PM
Re: Help me vet this MDL importer. - by Verdite - 2010-05-26, 07:29 PM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-05-27, 09:39 PM
Re: Help me vet this MDL importer. - by Verdite - 2010-07-22, 11:52 AM
Re: Help me vet this MDL importer. - by dmpdesign - 2010-07-23, 01:34 PM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-07-27, 12:40 AM
Re: Help me vet this MDL importer. - by Verdite - 2010-07-27, 01:01 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-08-23, 02:39 AM
Re: Help me vet this MDL importer. - by Verdite - 2010-08-25, 12:15 PM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-08-29, 06:43 AM
Re: Help me vet this MDL importer. - by HolyDiver - 2010-08-29, 07:07 AM



Users browsing this thread:
6 Guest(s)