des Programmierers Fundgrube: Wiederholungen

Es geht doch nichts darüber, wenn man gelegentlich Dinge findet die sich einfach kopieren lassen. Sei es von anderen (Programmierer klauen bekanntermassen wie die sprichwörtlichen Raben ^^) oder eben von einem selbst. Und es gab schon bei der mittlerweile schön laufenden 0.6.6 Probleme beim Speichern, die schon erwähnte GroupPosition lief gelegentlich auf einen kapitalen Fehler da sie nicht speicherbare Werte enthielt. Und damals – es ist witzigerweise fast genau ein Jahr her – ergänzte ich die Routine MySQLRegionData.cs um folgenden Schnipsel, der mir gute Dienste leistet immer noch:
[code lang=“csharp“]// bert@wolfsbone.de START 20091018
m_log.DebugFormat(„[DATA]: [BTRACE]: we will now inspect GroupPosition-Value Z“);
double tempGroupPositionZ = prim.GroupPosition.Z;
string tempString = tempGroupPositionZ.ToString(„0.00“);
string tempMessage = „[DATA]: [BTRACE]: it is: <“ + tempString + „>“;
m_log.DebugFormat(tempMessage);
if (tempString == „NaN“) {
m_log.DebugFormat(„[DATA]: [BTRACE]: now setting to 30, should be okay.“);
tempGroupPositionZ = 30;
}
// bert@wolfsbone.de END 20091018

cmd.Parameters.AddWithValue(„GroupPositionX“, (double)prim.GroupPosition.X);
cmd.Parameters.AddWithValue(„GroupPositionY“, (double)prim.GroupPosition.Y);
cmd.Parameters.AddWithValue(„GroupPositionZ“, (double)tempGroupPositionZ);[/code]

Etwas Ähnliches wollen wir dann doch mal wieder einbauen in die 0.6.9er, zunächst nur mit Meldecharakter um zu sehen was wann geschieht.

Basteln, basteln, basteln

Nun, es wird allmählich etwas belebt auf meinem Stück Land mit Namen ‚Vanaltens Restplace‘. Diese Parzelle erstreckt sich ja hier – anders als in unterteilten Regionen üblich – auf die gesamte Region ‚Vanalten‘. Erste Bäume hab ich heute ‚gepflanzt‘ und zwei Treppen an das Grundgerüst vom Haus angeflanscht. Ich mag diese Technik mit den cut-path-Zylindern die dann einen angenehmen Zugang ermöglichen aus jeder Richtung. Bin ja nicht so der Typ der Enge mag wie bekannt 😉

Apropos Bäume, wenn wir das Problem mit den Links in den Griff bekommen haben – das hat zunächst Priorität – dann möchte ich auch gerne die geliebten Copses wieder implementieren, so nenn ich sie immer: Es handelt sich um selbst wachsende und sich vermehrende Bäume, ein nettes Feature. Man sollte allerdings darauf achten das Ganze etwas zu begrenzen, sonst hat man schnell ein nahezu undurchdringliches Dickicht (gut, es ist alles phantom, insofern ^^). Diese sich selbst fortpflanzenden Teile sind tatsächlich nett, denn es kehrt etwas virtuelles Leben ein und die Situation die man vorfindet ist nicht immer dieselbe. Es kann sehr erstaunlich sein was es bedeutet wenn manchmal 100 unerwartete Bäume irgendwo rumstehen, ganz abgesehen davon dass man auch unter Umständen damit konfrontiert wird zumindest temporär im Wohnzimmer die Äste einer Eiche durch die Wände kommen zu sehen.

Die Geschichte mit den linked-Prims ist wirklich lästig, nun ich hab das Verzeichnis mal kopiert und eingefroren, werde übersichtliche Versionen der Config-Files erzeugen und dann in einen exakten Vergleich einsteigen um festzustellen, was da jetzt so anders ist im Vergleich zu unserer sauberen 0.6.6er (die übrigens immer noch stabil läuft, siehe hier). Im Moment müssen wir halt zur Not auf die Sandbox ausweichen, denn wie Roland mir erzählt hat klappt das Übertragen dort verlinkter Objekte zu unseren Regionen einwandfrei und der Verbund bleibt auch erhalten.