Synergien Ausnutzen
Mir wurde vorgeworfen, in letzter Zeit zu wenig mein Blog zu aktualisieren. Natürlich kann ich hier auf meinen doch recht häufig aktualisierten [Bilder-Bereich][pictures] oder meinen [Twitter-Account][twitter] verweisen (schon gesehen?), aber der Vorwurf stimmt natürlich. Ich habe nicht genug hier gepostet. Heute ändert sich das aber[^1].
[^1]: Das ist keine Garantie für morgen.
Es geht mal wieder um meinen Eisenbahnsimulator für iPhone. Ich gebe offen zu, dass es nicht so schnell voran ging, wie ich erhofft hatte, aber ich bin doch ein gutes Stück weitergekommen. Und das hat auch Einfluss auf andere Projekte. Ein Beispiel:
![Ich habe ein neues Programm geschrieben, mit vielen leeren Feldern und kryptischen Pfaden.](/img/software/leveleditor_4.png)
Für [Hubschrauber][heli] hatte ich [vor einiger Zeit Spline-Objekte eingeführt][heliblog] (Was, schon so lange her?). Das heißt, ich definiere eine Reihe von Punkten, an denen sich dann das Objekt entlang wiederholt. Wunderbar für Sachen wie Straßen, Baumreihen, oder auch Schienen. Natürlich brauchte ich so was in der Art auch für den Bahnsimulator — also habe ich erstmals einfach den Code von Hubschrauber weiterverwendet. Das obige Tool verwendet mehr Code aus Hubschrauber und hat die Eigenschaft, ein normales Objekt in ein Spline-Objekt umzuwandeln, wozu es weiteren Hubschrauber-Code verwendet, denn man kann nur so viele OBJ-Parser schreiben bevor man die Lust verliert. Das Ergebnis:
![Eine Reihe von Gleisen liegt in der Landschaft.](/img/software/leveleditor_5.png)
Die Auflösung der Landschaftstexturen ist hier etwas grauenhaft niedrig, aber das kriege ich noch behoben. Im Augenblick können solche Objekte nur als Schienen eingesetzt werden, der Einsatz für Straßen und anderes ist aber fest eingeplant. Der nächste Schritt wird jetzt sein, dass ganze zuerst im Simulator und dann auf dem echten Gerät zum Laufen zu bringen. Ich hoffe, dass heute noch hinzukriegen, glaube aber nicht wirklich dran.
Was heißt das für Hubschrauber? Ich habe den Code angepasst, um moderner und besser zu sein, zum Beispiel dadurch, dass er jetzt SSE2 bzw. Altivec verwendet (ach ja, das wird neue Mindestanforderung. Hoffe, das stört keinen), und ein paar Sachen, die bei mir traditionell schlecht liefen, wie zum Beispiel Pfadverarbeitung, auf CoreFoundation umgestellt. CoreFoundation ist eine Apple-Bibliothek, die es aber auch für Windows gibt. Diese tatsächlich dort zum Laufen zu bringen wird für das nächste Release sicher sehr amüsant werden… Allerdings sind nur die Teile, des Codes, die ich verwende, so angepasst, der Rest noch nicht. Daher passt vieles vorne und hinten nicht, und wenn ich Hubschrauber kompiliere, komme ich auf über 750 Fehler[^2]. Ich hoffe aber, davon vieles mit relativ wenig Änderungen beheben zu können. Hohe Priorität hat das aber nicht.
[^2]: Mit -Wall -Wextra -Werror
Ansonsten plane ich noch, diese Seite umzugestalten, so dass die Fotos prominenter werden, alle Datenbanken in BCNF sind, Blogeinträge Tags erhalten und Twitter-Updates irgendwo erscheinen. Das wird natürlich nur noch länger dauern.
Geschrieben am 2. Oktober 2009 um 16:22