Quote: "... Maybe you could do that, Latch! The goal was to have a short string that pretty much listed the mesh numbers in order and the timing in between, and then to have commands for play, loop, and precise timing control..."
I've tinkered with bone animation several different times for DBC. One approach was to convert Direct X files to some kind of custom format I could run my own equations on. The animation format of a Direct X file for DBC animation is fine, but when you get into skeletal animation, I find it's all over the place. The original file format was designed to create a scene and sub-scenes within those. These are called Frames in the file and limbs as we've come to know them. The design was entire scenes of meshes could be transformed in time and thus animation. If you link a bunch of scenes together, you can effectively create an animated character.
Skeletal animation for Direct X was kinda "inserted" into this frame work where now you have a whole other series of Frames that represent bones, and weights and matrices. All of these are called Frames or encased in frames without meshes instead of being their own thing. This just gets cumbersome when trying to match bones to meshes - so I decided not to do that.
Then, I thought I'd just use the direct x parsing commands to strip what I needed from the Direct X file. I got it working, but never went further than parsing the file.
Next I started playing with Cal3D. It's a platform independent animation system. By this time, I kinda decided the direct x file wasn't the way to go. If I could get vertices and their groups into cal3d, it would be a matter of having that library update all of the verts and then write them into a memblock. So I've got his on the back burner still. I look at it every so often.
Recently, I've been looking into building a custom animation system. For 8 Hours 'til Dawn (the community FPS of yesteryear), I built an animation system to adjust the limb positions for sparky's, so collision could be detected for animated objects. I was thinking of taking that system, modifying it, and finding a way to assign vertex groups to bones. Where ever the model is coming from, Blender, Anim8or, where ever, I'd have to be able to manage the vertex groups for DBC and it's really boring and time consuming writing conversion/exporting routines from a modeling program. I might go the route of developing an animation program for DBC where you build a skeleton for a mesh and assign vertices to bones. That's more interesting to me. I dunno.
It's all very possible to do and run from a DLL with little over head. The main overhead coming from MAKE MESH FROM MEMBLOCK and CHANGE MESH calls in DBC.
Sorry for the long post, but I'm just typing as I'm thinking...
Enjoy your day.