**Ein kleiner Einblick - Miniblog Eintrag 4.1**
Dies ist leider noch kein Post der direkt auf die Beta andeutet oder dergleichen, allerdings wollten wir auf dem Weg zur Beta noch das ein oder andere Update machen um ein bisschen über den aktuellen Stand der Dinge zu informieren. Die letzten Wochen war auch wieder genug los, sodass nicht wirklich viel Zeit für Windmill da war (Prüfungen, …) aber es hat sich dennoch etwas zusammengesammelt!
Zum Ersten, nachdem jemand auf die Idee gekommen ist den kompletten OgreXML Parser neu zu schreiben, wurde der [Featurewunsch an den Meshviewer von Zapper](
https://clonkspot.org/forum/topic_show.pl?pid=11878#pid11878) endlich umgesetzt. ([Screenshot](
http://clonkforge.net/projects/project1538/screenshots/windmill_screen12.jpg)) Dadurch werden jetzt viel mehr Modelle korrekt visualisiert und Windmill spuckt die Transformation als eine einzelne Drehung um eine Achse aus, die gegebenenfalls noch durch die Translationskoordinaten erweitert wird. Inwiefern allerdings Nachtfalters Featurewunsch berücksichtigt werden kann, finden wir noch heraus, da die Möglichkeiten mit der LOD-Extension für WebGL noch von uns erforscht werden.
Außerdem haben wir uns noch weiter mit der Arbeitsweise an Windmill auseinandergesetzt und hier signifikant etwas verändert: Es wurden **Arbeitsumgebungen** eingebaut. ([Screenshot](
http://clonkforge.net/projects/project1538/screenshots/windmill_screen11.png))
Persönlich fanden wir Arbeitsumgebungen aus Bequemlichkeitsgründen immer eher störend und wollten diese deswegen auch nicht unbedingt gerne Einbauen, da das Datei-Management bei Workspaces immer ein paar Schritte zu viel waren. (Exportieren, Importieren, und wenn mal irgendwas bestimmtes geupdatet wird, dann nochmal von vorne und Ähnliches)
Allerdings funktionieren Workspaces in Windmill anders:
Workspaces werden gesammelt in einem Windmill-Workspace-Hauptverzeichnis gespeichert und auch von dort geladen. Dabei übermittelt Windmill bei Start eines Szenarios der Engine, von wo aus die Objekte geladen werden sollen, d.h. wenn die jeweilige Definition in dem Workspace nicht vorhanden ist, dann wird sie aus dem Clonkverzeichnis geladen. Das erlaubt das Erstellen unabhängiger Workspaces mit denen sich so bequem Arbeiten lässt wie als befänden sich die Dateien im Clonkverzeichnis.
Und da legen wir noch einen drauf: Mit Windmill lassen sich auch Clonkverzeichnisse als (spezielle) Arbeitsumgebungen laden und verwalten. Diese werden dann zusätzlich **in einem speziellen Manager** aufgelistet, mit dem man aussuchen kann, **von welchem Verzeichnis aus man OpenClonk starten möchte.** So kann man per Knopfdruck zwischen dem aktuellstem Snapshot und einem dem Stable Release nach Belieben hin und her switchen. (Gilt übrigens auch für den Spielmodus.)
Auf diese Weise könnte man in weiteren Schritten die Clonk-Verzeichnisse gepackt lassen und Read-only machen, während zu Bearbeitende Dateien in den Workspaces separat bearbeitet werden. Das dürfte Ladezeiten in Netzwerkspielen also positiv beeinflussen. (Die Möglichkeit, solche Dateien auszulesen fehlt jedoch noch und wird beim Beta-Release wohl auch nicht enthalten sein.)
**An dieser Stelle würden wir jedoch gerne einhaken, da für eine optimale Benutzung des o.g. Features der Engine-Support fehlt, oder zumindest wüssten wir nicht davon das so ein Feature bereits vorhanden wäre.** Es wäre optimal, wen man über die Kommandozeile verschiedene Pfade angeben könnte, in denen die benötigten Definitionen gesucht werden. Am besten auch mehrere verschiedene Pfade, so wäre es dann auch problemlos möglich Workspaces auf andere Workspaces basieren zu lassen. (Wenn man AddOns für AddOns entwickelt z.B.)
Im Moment lösen wir das, indem wir vor dem Start von Clonk die Scenario.txt kurzzeitig so umarbeiten, dass für die Definitionen komplette Pfade angegeben werden. Das funktioniert zwar in seinem gewissem Rahmen, ist aber definitiv mehr Hack als Schön.
Das wär's nun mal wieder mit dem Zwischenupdate, hier wird definitiv noch weitergearbeitet und wir arbeiten auch mit aller Kraft, um bald möglichst ein Beta-Release auf die Beine gestellt zu bekommen!