Hi Major,
I can offer some tips on understanding the DBC animation. I'll have to leave the Milkshape question to somebody with more MS knowledge than I.
Quote: "never worked with animations before using DBC, I really don't understand the whole thing, so what goes into the process"
The quickest way to understand the DBC animation, IMHO, is to look at the example code listing #24 or #26. Can't recall the number at the moment, but it's the one you'll get if you do Help for the APPEND ANIMATION command in DBC.
Pay close attention to how they set a KEYFRAME, then ROTATE LIMBs, then save more keyframes. That's about all there is to it, really. When you rotate a limb (the guy's arm in the DBC example, for example), limbs linked to it will move along just as you'd expect. Saving keyframe data is sort of like taking a snapshot of the model's limb attributes at a certain point in time.
I believe they make keyframe #1 while the model is in idle position. Then they rotate the limb that is his right arm, and make a keyframe again. *You* get to pick the keyframe numbers. DirectX will fill in "missing frames" at playback doing something called interpolation.
Back to the example again (and answering your 3rd question):
Quote: "Say frames 1 through 10 have the model running, how would I load that correctly and play it back correctly? "
The PLAY ANIMATION command accepts starting and ending frame numbers. Running is a little more complicated and requires more keyframes than the guy waving his arm example, but the same idea holds.
If you don't mind getting your hands dirty, you can do some simple modifications to the DBC example and make your own animations that can be played back in DBC or DBPro or other programs. Even though DBPro removed all useful KEYFRAME, SAVE ANIMATION, APPEND ANIMATION commmands with the promise of something better (that never was delivered), you can cheat by mucking around with the output of DBC's SAVE ANIMATION.
I won't bore you with details as I've posted them here before, but if you want to try it, look again at the DBC animation example and think about making the changes that load your own model instead of the sample, accept a limb # to control from the user and rotate that limb in response to keypresses (x,y,z). Those MAKE KEYFRAME statements in the example will keyframe your own limb positions just as well as the sample models.
The hard part is that SAVE ANIMATION output isn't useful to DBPro or a modeling/animation program. Or is it? Yes, it is. Dump it to notepad. It's just a set of DirectX "frames" (not an animation frame, an unfortunate mis-use of a word by Microsoft). If your original model is in ASCII .X format, you can paste this data straight into the model's .X file. Look at the DBC's example .X file (the animated one) to learn where to paste it (make a backup of your own model first).
I bought a set of WW II tank models and was disappointed there weren't any rotating turrets. The turret showed up as limb #3 when I loaded the tank into the DBC example. I keyframed the initial position, then YROTATED limb #3 90 degrees and saved that as keyframe #10. Copied and pasted the output of SAVE ANIMATION to the correct spot in the purchased model's .X. It works beautifully in DBPro. "LOOP OBJECT intTankNum, 1, 10" and the tank dutifully sits there at an intersection, turret rotating back and forth looking for targets, just like the Arnhem Knights mission in Medal of Honor.