@Bwian
I think we can do everything with the tools and with .txt files.
There's 29 med_elephant anims and 39 fs_horse so there should be
enough horse anims to fill in almost all of the elephant actions.
(stand, stand_to_walk, stand_to_run etc. seem roughly common).
Nice thing about elephants is they only have one death anim.
Let's do med_elephant_walk for a concrete example. First convert it to
text with the convertcastotxt button. The "header" part that makes it an
elephant looks like this:
This is a 45 frame animation because elephants walk slow.
Bwian: There's a bug in GOAT1_0 for the horse that has to be fixed by
hand right now. I'll send along a GOAT1_1 in a bit. Go to the bottom of
the .txt file and on the last line after the CaozSceneCustomAttribNode
look for 00.00000 and put in a space so it looks like 0 0.00000.
The corresponding fs_horse_walk is:
What makes an elephant an elephant is the footer, that last line
in the file, the first line, the third line which defines the hierarchy.
The fourth line are the time ticks. So to steal the horse anims,
we replace the elephant time ticks line with the horse line. Then
we change all the 45's that follow the elephant bone names to 21's.
Now here's the main problem: horse legs have four bones and elephants
only three. Are you going to completely redo the elephant and get rid
of the trunk bones, ear bones, and really make it into a horse, or just
try and make do with three bone legs? The upper bone for all four
horse legs are really animated quite a bit so if we just steal the lower
three bones of the horse it won't work right. If we steal the upper
three bones, then the hooves will be static, which might not be too bad.
In any event, the cut-and-pasting begins. If the ears and trunk bones
are still in, we just agree no verts ever get assigned to them so we simply
delete 45-21=24 frames for all of them but otherwise they can animate
away and we don't care. For the legs, tail, spine, neck, and head we
delete the 45-frame elephant sections and substitute in the
21-frame horse sections. Do the same for the position animation sections.
Since everything but the root bone is essentially not animated you can
do this with one big delete and then a paste of the horse section, taking
care to do bone_E_platform and bone_H_saddle separately.
Finally replace the pose data of the elephant with the Frankenhorse
skeleton.
That's the do it by hand idea for a single animation. If that can be made
to work then I can make a special GOAT version with a
"Rustle Horse Anims" button where you get a FileChooser to select
an elephant anim and then another to select a matching horse anim,
and it does programmatically the steps outlined above.
I know I've glossed over things I haven't thought through but maybe you
have: horse is:
bone_H_saddle -> bone_spine -> bone_spine1 -> bone_neck -> bone_head
elephant only has
bone_E_platform, bone_E_back and bone_E_head
Sort of who goes with whom?