The last couple of days have been about refactoring. I’ve been getting towards the end of the resource work in OgreMain (still lots to do in the plugins and samples, mind), and as I came to sort out the particle systems, I realised that whilst I was changing them, it would be a good idea to redesign one aspect of them that I’ve always regretted - the fact that ParticleSystem subclasses from BillboardSet.
Man, this resource work is taking longer than I expected. I’ve designed and implemented the main changes to the resource infrastructure, which means things like this are possible: resource grouping, unloading and reloading of groups, manual loader callbacks (for repeatable loading when resources are populated using code rather than coming from files), pre-declaring resources and receiving loading progress callbacks, file streaming. However, going through all the old resources and resource managers to implement this design is taking a lot of time, and it’s actually very dull.
Hmm, bit of a break there - partly because I was away on an Oracle performance tuning course all of last week. No real time for a large update, just a few bullets: the resource work is going well, although it’s very time consuming and rather repetetive in places, I’m still learning XSI (which I like an awful lot), Half Life 2 just landed (and yes, it’s rather good), and my back is slowly getting better.
Wow, for the first time in close to 2 weeks, I actually felt a little better this morning! Pain has become a deep throb (kinda like having been kicked hard in the back the day before) rather than a yelling-out-loud stab, which is a distinct improvement. I’m still hobbling, but my mobility is getting a little better. Awesome, it looks like this back support has been doing its job. I celebrated by doing a little work on the resource enhancements for 1.
I went to see the osteopath yesterday to see if I could get this darned back sorted out. It appears I have some ligament / muscle damage which is why the usual bone crunching work hasn’t sorted it out. In fact, thanks to the manipulation this morning was the kind of pain I’d have preferred not to have experienced, thanks very much. So, the latest is: more painkillers, a new 15-minute time limit on any kind of desk-related sitting (bloody impractical that is), a back support that feels like being in a 19th century corset (no, I haven’t tried one on, I’m simply using my imagination), and strict instructions to get a lift to work instead of walking.
Gah, this is not good. My back does not seem to be getting any better, on Friday at least it got a lot, lot worse. Today is a little better, but even with the painkillers it’s causing me major problems - doing anything at all is difficult. I don’t think I’ve ever been this frustrated; being an on-the-go sort of person all the time, I hate being incapacitated like this.
Well, we got 0.15.0 out the door on Sunday as planned, although I’ll admit it was a close call again. It’s great how little things pop up at the last minute - I built the release 6 times in the end, and waiting for the (frequently stalling) uploads was a nightmare. So, we’re on the road to 1.0.0 now - you can see what we plan to do by clicking on the ‘Roadmap’ link on the Ogre home page.
I heard a bit of rare good news on the patent front today - all 4 of the German parties have apparantly condemned software patents, which is promising considering the Germans have the largest number of politicians in the EU. Another anti-patent website was launched this week too, www.nosoftwarepatents.com that I like because it aims to explain the argument in clear, fairly unemotional business terms, and succeeds I think. I’m almost afraid to hope that the EU will ignore all the money-waving charlatans, but maybe, just maybe the suits are starting to listen to the population for once…
I’ve used FlashGet for a while as my download manager, and because it’s not the kind of tool I’d consider being worth spending any money on, I’ve used the Adware version. Now, FlashGet is a great tool, but the ads they choose to serve, are well, a disgrace. Full of pop-ups that insist on opening an IE window (even though my default browser is Firefox), which I just can’t stand for.
I’ve been slowly but surely clearing things from my TODO list. I’ve enhanced the support for custom parameters on Renderable and made the mapping of those parameters to shaders scriptable and easier to use. The result is that you don’t have to define so many material variations, you can use a single one which delegates the setting of shader parameters to the Renderable. You can also override this in custom Renderables if you like to do even more sophisticated things.