Hello, could you add this to gears? Well adjust what is needed, I dont know
wheather it works on others models than I tried, it was only few.
typedef float vec3f[3];
typedef struct {
U8 res0[4];
S16 frames;
S16 res1; //maybe frames if S32, I have no idea
S16 bones;
S16 res2;
U8 res3[24];
} aheader;
typedef struct {
vec3f res[2];
vec3f *data;
} aframe;
vec3f res[1] is vector you shoud move center of object in order to keep it "in right shape". Well bad expression. While *data are here to rotate joints between bones, res[1] is to adjust position of model according to rotations of bones, in order to example keep foots on floor.
Good example: aja.hrc - chocobo from world and asc.a animation from world_us or something like that. In ilfana you can see, that chocobos foots dont stay on one place and moving themself. If you move center of body, root, in frame i about vector res[1] then it will stay still.
Well as you can see difference between standing chocobo on the worldmap and between ilfana.
Sorry for such a long text to express something simple.