Exploiting Synergies

I’ve been accused of not updating this blog often enough. Of course, I could detract by pointing to my Photography section or my Twitter account, both of which are updated significantly more often, but the fact remains that yes, I have pretty much neglected this. Today, this will change, though1.

It’s time to talk about my railroad simulator for iPhone again. I’ll admit that progress hasn’t been as good as I had wanted it to, but I did make some progress at least. And this progress has some influence on some other things. An example:

I wrote a new Mac OS X application featuring lots of empty fields and cryptic paths.

For Hubschrauber, I had written support for spline objects some time ago (wow, that’s longer than I thought). This means that I just define a few points, and the object gets automatically generated, following them. That’s great for things like streets, tree rows or railroad tracks. Obviously, I had use for that feature in my railroad editor as well, so I just took the implementation I wrote in Hubschrauber. The tool above is something I just wrote today and yesterday, and it converts any random object into such a spline object, using some more Hubschrauber code (there’s only so much OBJ-parsers you want to write in your life). The result:

Railroad tracks snake through the landscape The resolution of the landscape texture sucks, please ignore that (I have some thoughts about fixing that without increasing memory usage too much). Currently, I can use such objects only as rail tracks, which have some additional restrictions to make some run-time calculations easier, but full flexible support for trackside objects is definitely planned. First of all, though, I’ll have to get this running first in the simulator and then on my device. I hope to get this done today, but I don’t really expect it. Nevertheless, wish me luck!

What does this mean for Hubschrauber, though? I refactored the Code to be better and more useful, which means among other things that it now uses SSE2 or Altivec (new system requirement by the way, hope you don’t mind) and a few other things that were long-time ugly hacks, such as path handling, have been changed to use CoreFoundation. This is an Apple programming library which is also available for Windows. Of course, getting it actually to run there will be interesting… However, I only modified the parts I use for the new project, which means the code doesn’t quite fit together anymore. And that means that when I do a full compile, I get more than 750 errors2 (-Wall -Wextra -Werror). I do expect to be able to fix most of them with a few isolated changes. It does not have a high priority, however.

Other than that, I plan to redo this page, so that the pictures gain more prominence, all database tables are in BCNF, blog posts get tags and Twitter updates get shown somewhere. That plan will take far more time, however.


  1. No guarantee given for tomorrow. 

  2. Using -Wall -Wextra -Werror 

Written on October 2nd, 2009 at 06:22 pm

0 Comments

    New comments can no longer be posted because it got to annoying to fight all the spam.