In my modding experiments I have managed to find out just about everything needed to get a new model type in JKA without any coding (modelling, animating [including custom animation files for your model], skinning [know how but am dreadful myself])
1. First make your model in a modelling program (wont go into any of this but will recommend the tutorials on psykosiths homepage: http://www3.sympatico.ca/psykopat/
2. This is the bit you wont get because you set up the model as if it was being used by the _humanoid.gla (so try to make it look as humanoid as possible and skew your model so that it looks like a human - it will change later) even though you will be using your own gla in the end.
3. Assimilate it as if it were a humanoid using the _humanoid.gla.
4. Transfer the model file, the skin file and the textures to the dragon folder setup (*DRAGON*/models/players/<yourmodel>/<put_the_files_here>).
5. Open up dragon (from wudan: http://mt-wudan.com/dragon/Dragon_0.8.5_beta.zip
) and create your animations - they can either be a complete set of new animations or a few animations to add to the humanoid. You can totally change the base pose to the one which looks like your model if you are making a new totally unique animation file.
****ADDING ANIMS TO THE HUMANOID****
1. Export the gla file from dragon with the "savegla" command.
2. Use glamerge (from ASK but dont know a link at the moment - please post if you know a valid link) to merge your gla with the humanoid gla.
3. Create a pk3 (create a zip and then rename it as .pk3 suffix) with the new gla in it in a folder models/players/_humanoid/_humanoid.gla
4. Using ModView check to see where in the new gla the animations you want are.
5. Change the animation enum in the animation.cfg file to source its framenumber at the framenumber your anim starts at and change the duration to match your anims duration.
N.B. This method has been documented before - what you really wanted to know was how to create a new npc type.
Well here we go.
****CREATING A TOTALLY NEW ANIMATION****
1. This is proberably possible with about ten animations (five must really be death, run, walk, stand, attack3, root, otherwise it really can't do anything) for a vehicle or droid but proberably requires more for a living being. If an animation should be run that doesn't exist in your animation file then the engine will run the root animation which you should always include as two frames showing the base pose for your animation (not the base pose for a humanoid but how your alien or whatever would normally stand).
2. Export your animations named after your model - for me "droideka.gla"
3. Copy this to your _humanoid folder and put it in the path models/players/_humanoid/<yourgla>. This path makes sure the tags are used properly.
4. Get a binary/hex editor (The free version of HHD software Hex Editor will not open up large enough files for you to do large glas but you can try it if you like. I recommend XVI32: http://www.chmaas.handshake.de/delph...vi32/xvi32.htm
5. Using the editor open up the gla and look at the first few lines. There should be a file reference - change this to reference your gla file - in my case "models/players/_humanoid/droideka"
6. Open up the glm file. It again references the gla file so change it to your gla.
The model now sources all its animations from the gla file you created and so you can create many different animation types (although sabres are hard to do). This works particularly well for droidekas as the droideka can be posed as a humanoid in the model but all the animations are in droideka "shape" and so look like a droideka.
Last but not least you need to make a npc file. Best is proberably just to copy one from another and change the header so it is the name you want the game to reference your npc as - for me "droideka".
You also should proberably copy the sounds.cfg file from another model to make it have sounds.
There you have it - your own unique npc type created that will work in single player aswell as multiplayer as it involves no coding!
If anything is unclear PM me or post.