While waiting for a resolution to my XSI IK sampling problems (in discussion with SoftImage), I started work on a radix sort class, since one of the patches I was processing needed some changes for 1.0 (billboard / particle sorting), and I figured I might as well implement a radix sort instead of the quicksort that was there while I was at it. For those who don’t know what a radix sort is, read Pierre Terdiman’s article on the subject. I referred to this article while writing the code, but I wrote my own implementation, since I wanted it to be more flexible, in particular with a view to being compatible with the STL. So my version is a templated class which allows you to sort any STL (non-map) container, with any contents. I’m putting this into Dagon, because I’m sure it’s going to break Visual C++ 6 compatibility, and we still support VC6 in Azathoth. It’s always been our intention to drop VC6 support in Dagon, but this is the first commit which will likely make it incompatible. VC6 does templates extremely badly (in fact it does a lot of things very badly) - those of you using it should have upgraded by now, and if you haven’t, be advised that you’ll have to when you to Dagon (1.1.x). VC8 will be out by the time Dagon is released anyway, and there’s just no excuse for a coder to be 3 versions (7 years!) behind with their tools.
I’ve also being doing some contract work for a German company this week, who are working on a great looking adventure game using OGRE. That’s been fun.
As for XSI, the response appears to be that I can’t do the IK sampling the way I’ve been doing it. I’m going to have to take a different approach (partial re-write of that bit of the code), which I’ll get back to in a couple of days.