I'll have to make a few modifications before I'll post the code:
1) Make it work directly from .meg files
2) Clean up the code (comments, better structuring, better error handling, etc.)
I'll also have to figure out exactly how the bone hierarchy should be applied (my linear algebra is a bit rusty, so I'll have to mess about with transposing and matrix multiplication order). With my current bone usage, the AT-AT looks like a rancor was done playing with it
As to the saving of .alo files, I would recommend against it, until I (or someone else of course) has figured out what the unknown data is for. Well, you could try to save and use models of course, but I'm sure the game will just crash on you
And finally I'll also have to look into the indexing of the meshes. I.e., how does the engine know what mesh to use for what purpose? Is it determined by its name? By the unknown data? By a reference in an XML file? Etc Etc.
So all in all, this was just the first of many, many, many steps.
PS: The poly counts are easy though. Each mesh is a triangle list and the number of triangles is just an integer stored in the file. I'll have my app loop over all model files and meshes and dump the vertex/poly count which I'll put up on the website as well. To give you a taste, the TIE Fighter has a low and high-res mesh with
179 vertices, 248 triangles and 324 vertices, 456 triangles respectively (the high-res mesh is in the screenshots section).
All of this will have to wait until I get back from work though