I've been working on a hobby project where I've been trying to import rigged models from an old game. I've worked out most of the format details (animation is the last thing I have left to puzzle out), but there's one part I've found a bit bizarre.
After much trial and error, I've discovered that the armatures appear to be rigged "backwards" - vertices assigned to the bones appear to rotate based on their tail positions rather than their head positions. I've modified my importer with a functional, if ugly, solution: I've simply reversed each bone, putting their heads where their tails used to be and vice versa, but with use_connect set to True, I've got cases where bones at the extremities "double back" on themselves - for example, the two bones that used to branch out from the wrist and form the thumb are now overlapping one another because the "parent" bone for the thumb tip is trying to keep its tail joined with the head of the thumb tip bone itself. I've tried disabling use_connect, but while the rig now looks like it should, the bones now rotate around their centers.
Again, I haven't worked out the animation format yet, and I don't know if my ugly-yet-functional solution will have any negative impact on my ability to import said animations into Blender when the time comes, but I have to ask: is there something I've missed here, being a newbie to writing Blender import modules? Is there some way to set up the rig in the Blender API that would allow these bones to rotate relative to their head positions without using use_connect?