OSM Importer: Automatisierter Nachbau mit OpenStreetMap

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the Transport-Fever Community

  • Seit einiger Zeit beschäftige ich mich mit dem Nachbau von realen Städten in TPF2. Viele haben es mal angefangen, oft geht aber nach einiger Zeit die Motivation aus, einfach aufgrund des großen Aufwands so eines Projekts und der schieren Menge an zu bauenden Straßen, Gleisen, Bäumen, Gebäuden usw., was monoton werden kann. Allerdings besteht mit OpenStreetMap (OSM) bereits eine umfangreiche, detaillierte und offen zugängliche Quelle für Kartendaten. Ich habe mir gedacht: Warum nicht die hier bereits gemappten Straßen, Gleise und weitere Daten verwenden und automatisiert in TPF2 bauen lassen?


    So beschäftigte ich mich zunächst mit OpenStreetMap, welche Daten es gibt und wie sie dort dargestellt sind. Hierzulande ist der Detailgrad und die Genauigkeit der Straßen, Gleise, Flächen usw. relativ hoch. Viele der Informationen lassen sich für TPF2 nutzen. Ich fing an, einen Konverter zu schreiben und entwickelte eine Toolchain, mit der die Daten in TPF2 eingelesen und über die Modding API automatisiert gebaut werden können.


    Das Ganze mache ich am Beispiel von Frankfurt und Umgebung, wozu ich auch eine entsprechende Karte plane (mehr dazu unten). Der aktuelle Konverter ist schon in einem sehr fortgeschrittenen Stadium, allerdings fallen immer noch kleinere Probleme auf. Die finale Version wird zu gegebener Zeit veröffentlicht, mit entsprechender Anleitung.

    OpenStreetMap

    OpenStreetMap (OSM) ist ein erfolgreiches Projekt seit 2004 zur Etablierung einer freien, offenen Kartenbasis, an der jeder mitwirken kann. Die Datenbank besteht aus Straßenverläufen, Eisenbahnanlagen, Gebäudeumrissen, Stromleitungen, Landnutzung (z.B. Wald) bis hin zu Objekten wie Mülleimern. Auf der Hauptseite osm.org werden nicht alle Daten dargestellt; manche kennen vielleicht auch OpenRailwayMap, was dieselbe Datengrundlage nutzt, nur mit anderer Visualisierung (z.B. auch abgerissene Gleise).


    In OSM gibt es grundsätzlich 3 Arten von Elementen: Nodes (Punkte mit Koordinaten), Ways (Verbindung von Punkten) und Relations (Zusatzinfos zu Nodes und Ways). In den zugehörigen Tags sind weitere Informationen als Attribute enthalten (XML). Prinzipiell können hier beliebig viele Tags vorhanden sein, die Mapping Detailtiefe variiert allerdings. Genauer anschauen kann man sich das ganze auch über die Objekteabfrage via Rechtsklick.


    z.B. https://www.openstreetmap.org/way/48905770


    Auch wenn in TPF Straßen & Gleise ebenfalls via „Nodes“ und „Edges“ darstellt werden, gibt es einige Unterschiede. So stellt nämlich im Spiel eine Edge immer eine Verbindung zwischen genau 2 Nodes dar, während ein Weg in OSM über sehr viele Nodes verlaufen kann. Außerdem gibt es in OSM (wie auch in Google Maps) keine echten Kurven! Wenn man genau hinschaut, sieht man, dass Kurven praktisch nur aus vielen kleinen (geraden) Segmenten bestehen. Das ist für Karten ausreichend, aber in einem Spiel wie TPF nicht.


    Die OSM Daten sind nur 2-dimensional und enthalten keine Höheninformationen. D.h. wir brauchen nichtsdestotrotz eine vernünftige Heightmap. Diese muss natürlich von der Position an den Kartenausschnitt kalibriert werden. Für flachere Gegenden kann man sich den Aufwand einer Heightmap ggf. sparen. In jedem Fall empfiehlt sich ein OSM Overlay.

    Welche Daten können genutzt werden?

    Der primäre Fokus liegt auf den Straßen und Gleisen. Gerade das monotone Bauen von Straßen könnte vermieden werden, da diese in enormer Zahl vorhanden sind. Die nächste Frage ist natürlich, welcher Straßen-/Gleistyp gebaut wird. Die OSM-Daten enthalten oft Infos zu Art der Straße, Höchstgeschwindigkeit, Anzahl Fahrspuren, Bodenbeschaffenheit usw. Mithilfe diesen Informationen kann ein geeigneter Typ bestimmt werden, sodass direkt die entsprechende Geschwindigkeit oder Straßenart (Bürgersteig, Landstraße, Autobahn, Feldweg) verwendet wird.


    Da Wälder in den Landnutzungsdaten direkt als Polygon verfügbar sind, lag eine Nutzung der Förster Mod nahe. Hierfür war eine kleine Anpassung nötig, sodass der Förster über eine Schnittstelle nun die Wälder der OSM Daten bauen kann. Sogar die Information über Waldart (Laub/Misch/Nadel) kann berücksichtigt werden.


    Mit den Koordinaten von Städten/Stadtteilen können entsprechende „Labels“ erstellt werden (Fake Städte, nicht funktional).


    Weiterhin gibt es ein paar punktuelle Objekte (z.B. Poller, Litfaßsäule), welche mit geeigneten Assets dargestellt werden können. Für viele andere Elemente wie Gebäude, Stromleitungen, Zäune gibt es zu wenige Informationen, als dass eine Automatisierung sinnvoll wäre.


    Die Toolchain

    Die OSM-Daten zu einem Kartenausschnitt kann man sich ziemlich einfach über die Webseite exportieren. Die Daten sind zunächst in einem XML-Format gegeben. Da ich mir die ganze Konvertierung nicht in Lua antun wollte, finden die Schritte zur Zwischenverarbeitung in Python statt. Das Python Script liest die XML-Daten zum entsprechenden Kartenausschnitt ein, filtert diese nach den relevanten Daten und erzeugt eine Lua Datei in einem geeigneten Format für TPF2.


    In der Zwischenkonvertierung findet zum Beispiel die Transformation der Weltkoordinaten zu Map-Koordinaten statt. Das allein war ein längerer Spaß, weil man feststellt, dass die Erdkrümmung bei einer Größe von 24x24 km in der Tat auffallen kann^^. Weitere Verarbeitungsschritte sind die Optimierung der Edges und das Hinzufügen von Tangenteninformationen bei Gleiswegen, damit diese auch passend kurvig ineinander übergehen. Bei geraden Segmenten wäre die Zugfahrt sonst sehr zackig^^


    Auf der TPF2-Seite steht praktisch eine Script Mod, die über die Konsole angesprochen wird. Die zuvor erzeugten Daten werden dann eingelesen, sodass über die TPF2-API die Objekte automatisiert gebaut werden können. Hier sind nur ein paar minimale händische Eingaben nötig. Bei großen Kartenausschnitten kann das Bauen eine Weile dauern, aber man kann es auch vorher mit kleineren Teilausschnitten testen.


    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Für Straßen und Gleise wird die buildProposal Funktion genutzt. Theoretisch kann man hier beliebig viele Nodes und Edges auf einmal angeben, was ich anfangs versucht habe. Bei einem critical Error (Bau nicht möglich), also mehr als eine einfache Kollision (bei einem großen Proposal sehr wahrscheinlich), hat man allerdings keine Möglichkeit, die problematische Stelle zu erkennen oder zu beheben. Daher müssen alle Edges nacheinander mit einzelnen Proposals gebaut werden. Deswegen kann das natürlich etwas dauern bei etwa 5 Commands/s.

    Beispiel Frankfurt Karte

    Wie oben erwähnt, plane ich eine Karte zum Nachbau von Frankfurt und Umgebung. Ein 1:1 Maßstab ist für mich, spätestens seit der Kopplung mit OSM, unabdingbar. Ich wollte nicht erstmal klein anfangen, sondern habe eine größenwahnsinnige Karte (24x24 km), womit leider trotzdem nicht allzu viel RMV Gebiet bleibt: Der Kartenausschnitt reicht von Langen im Süden, dem Flughafen, über Kronberg im Taunus, knapp zum Altkönig, bis Oberursel und Bad Vilbel im Norden und Mühlheim im Osten.


    Heightmap fürs Terrain habe ich mir geholt, ebenso ein OSM Overlay. Leider ist die Heightmap nicht von bester Qualität, weshalb ich aktuell hauptsächlich mit Erdarbeiten beschäftigt bin. Wichtig ist, dass alle Dämme, z.B bei Brücken vorhanden sind und das Terrain bei Straßen und Gleisen halbwegs glatt ist BEVOR man den OSM Bau ausführt. Anpassungen im Nachhinein sind nämlich aufwändiger. Daher kann ich auch erst NACH dem erfolgreichen Import mit Bahnhöfen, Gebäuden, Linien usw. weitermachen und kann aktuell noch nichts allzu spannendes zeigen.


    Ich habe einfach mal einen Härtetest durchgeführt und den OSM Importer für die gesamte Karte angewandt. Aktuell bin ich noch auf Build 35049, weil ich mir die zusätzlichen Probleme des aktuellen Updates gerne noch sparen möchte und es Performance mäßig ja auch nicht gerade viel reißt. Bisher habe ich nur Teilausschnitte getestet, was für einen Stadtteil mit etwa 20 000 Edges (1h Bauzeit) kein Problem war. Das Gesamtgebiet hat allerdings 500 000 Edges, was 30h gedauert hat. Die Savegamegröße ist von 30 MB auf 3 GB angestiegen und das Speichern der Autosaves ist auf 20 min angestiegen (vermutlich wegen der RAM Auslagerung). Die Speicherauslastung lag laut Ressourcenmonitor bei 100 GB! Nach dem Neuladen warens 68 GB, leider mit erheblichen Rucklern. Aber gut, was will man bei einer vollgebauten, größenwahnsinnigen Karte auch erwarten? Es wurden immerhin 3,7 Mio Bäume, 10500 km Straße und 1000 km Gleise gebaut.



    Von oben ist durchaus ein Wiedererkennungseffekt gegeben. Von Nahem sieht es noch nicht so ideal aus, vor allem wenn viele Edges auf kleinem Raum sind mit vielen Kreuzungen. Daher gibt es teilweise Lücken, weil bei manchen Edges der Bau nicht möglich ist. Aber der Großteil der Struktur von Straßennetz und Gleisen ist so schonmal vorhanden.


      


    Man sieht, dass die Nodes manchmal einfach nicht so akkurat gemappt sind, was bei der Kartendarstellung nicht auffällt, in TPF aber schon ^^

    Die Kurven und Steigungen der Gleise sind leider nicht immer direkt perfekt. Wie man sieht, hängt viel vom Terrain ab. Es wird eine gewisse Nachbearbeitung geben müssen. Das ist aber im Endeffekt immer noch deutlich schneller als es komplett selbst bauen. Die Tools von WernerK wie z.B. der Rampenvergleichmäßiger sind hierfür hervorragend geeignet.


     

  • Ihre Nachricht ist zu lang. Es stehen maximal 10.000 Zeichen zur Verfügung.

    WTF?

    Roadmap

    Nach den festgestellten Performanceproblemen im Härtetest werde ich wohl weitere Analysen machen müssen, um die Situation in den Griff zu bekommen. Der Sinn des OSM Imports von allen Straßen, Gleisen, Wäldern bevor man mit Gebäuden, Linien und Details (welche ja ebenfalls Ressourcen verbrauchen) weitermacht, ist ja nicht dass die Performance schon früher als sonst im Keller ist. Vielleicht lässt sich die Baumdichte verringern oder unnötige Straßenwege einsparen. Vielleicht ist das Ergebnis dieses Tests aber auch einfach, dass man eine bebaute 24x24 km Karte nur mit 128 GB RAM vernünftig spielen kann. Es lohnt sich eventuell also doch, mit kleineren Karten anzufangen^^


    Dann werde ich demnächst natürlich auf die aktuelle Spielversion übergehen und hoffen, dass es keine größeren Probleme gibt. Gleichzeitig arbeite ich an der Frankfurt Karte weiter und bereite das Terrain auf den finalen Import vor. Dabei wird es sicher noch ein paar Optimierungen am Konverter/Importer geben. Sobald ich einen finalen/vorzeigbaren Stand habe, veröffentliche ich das Tool mit entsprechender Anleitung.


    External Content ftp.train-fever.net
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • Das ist sowas von genial. Vor allem wenn man ein großen Bahnhof nachbauen will wäre das eine super Hilfe. Werden auch die ganzen Weichen automatisch gesetzt? Könnte man dann z.b. nur den Bahnhof München mit den ganzen Gleisanlagen auswählen und von dort dann das gebastel starten?

  • Was euch findigen Moddern doch immer wieder einfällt. Ich bin immer wieder überrascht was der eine oder andere hier aus dem Hut zaubert.

    Wenns einem nicht passt, einfach mal Kopf zu und Leine ziehen !!!

    Win7 Pro, Amd FX 8150 (Bulldozer), Mainboard Gigabyte 970A-DS3P, 32gb Corsair Ram DDR3-1666, AMD Radeon Rx 5700x (8gb VRam, Treibervers. 21.5.2)

  • VacuumTube, sieht auf jedenfall einfacher aus als 30 Overlays anzufertigen und auf der Map nachzuarbeiten. Sehr interessant, denke da über Berlin nach noch einmal von vorne anzufangen.

    MfG elektronikfreak


    MB MSI MPG Z790 Edge WIFI - i7-14700K - Nvidia GeForce RTX 4080 Founders Edition 16GB - 192 Gb DDR5 Ram - 5x 2TB M.2 - Win11/64 - WsK - 60TB Ext. - TPF2 35732

    (Meine Screenshots dürfen weiter verwendet werden) - (Fixiert auf Berliner Mod's)

  • wenn man ein großen Bahnhof nachbauen will wäre das eine super Hilfe. Werden auch die ganzen Weichen automatisch gesetzt? Könnte man dann z.b. nur den Bahnhof München mit den ganzen Gleisanlagen auswählen und von dort dann das gebastel starten?

    Bahnhöfe sind so ne Sache. Die Gleise davon werden ganz normal gebaut. Aber die Station muss man schon selbst im Spiel Bauen. Da wird man sowieso wahrscheinlich je nach Bahnhof sehr flexibel sein müssen. Theoretisch könnte man aber versuchen mit der Freestyle Station einfach nur die Bahnsteige zu ziehen.


    Die Gleise sind in OSM schon per Nodes verbunden, d.h. sie sind es auch im Spiel. Weichen müssten kein Problem sein. Kann aber sein, dass da öfters mal der Bau nicht geklappt hat. Passt das Overlay, kann man die ja schnell nachziehen. In OSM sind sogar Doppelkreuzweichen definiert, allerdings musste ich das vorerst rausnehmen, weil es zum Crash führen kann (src\Lib\Geometry\Streets\track\Crossing.cpp:235: Assertion `Angle(m_ctxs[0].curve[2], m_ctxs[1].curve[2]) >= ANGLE_MIN' failed.)

  • In OSM sind sogar Doppelkreuzweichen definiert, allerdings musste ich das vorerst rausnehmen, weil es zum Crash führen kann

    Das Problem wirst du häufiger haben. Erstens kann ich mir kaum vorstellen, dass in OSM jeder Weichentyp exakt eingezeichnet ist, und zweitens gibt es ja leider etliche Typen, die sich mit TpF leider nicht bauen lassen, z.B. DKW 500 1:9 (die große mit den Außenzungen), alle EKW, alle Doppelweichen sowie alle Kreuzungen schlanker als 1:9.

    ... don't know much trigonometry ... don't know much about algebra ... don't know what a slide rule is for ...

  • Kannst du schon verraten wann ungefähr diese tolle Tool rauskommt? Bin so ungeduldig und kann es kaum erwarten, da ich es mit diesen Overlay nicht hinbekommen habe

    Da sich auch meine Erwartung, wann ich diese Ankündigung schreiben kann, immer wieder nach hinten verschoben hat, nein.


    Ich weiß nicht, ob der OSM Import das Overlay ersetzen kann. Klar hat man dadurch schonmal die Straßen Struktur. Aber ein Overlay ist schon praktisch, weil da ja alle möglichen Details wie Gebäudeumrisse drauf sind.

    Ich habe mir ein Overlay für die gesamte Karte erstellt, das kann ich per Mod jederzeit rausnehmen. Das finde ich praktischer als das aufmalbare.


    Versuch es doch solang nochmal mit dem Overlay. Ich weiß, es ist nicht einfach, ich musste mir die Infos auch von verschiedenen Stellen zusammensuchen. Ein Lexikon Artikel gibt es leider nicht.


    Also wie gesagt, wer das Tool anwenden möchte kann so oder so schonmal anfangen, einen Kartenausschnitt auszuwählen, sich ein Overlay zu machen und ggf. eine Heightmap zu finden und importieren.

    Wie, bitte schön, kommst Du auf so eine Idee?

    Naja, ich wollte Nachbau machen, hatte aber keinen Bock, alle Straßen und Gleise von Hand zu setzen. Bei 500 000 Stück wird das vermutlich schnell langweilig. Mit der Script Lösung hole ich etwas weiter aus, habe dafür aktuell noch keinen Baufortschritt. Aber durch das Programmieren bleibt die Motivation oben, man lernt was dazu und gleichzeitig kann es am Ende von jedem genutzt werden :)

    Soll ich schon mal RAM kaufen?

    Warte mal ab... die Preise sinken ja tendenziell.

    Es hängt aber davon ab was du machen willst. Für eine kleinere Karte oder bei einer ländlicheren, weniger bebauten Gegend braucht man wahrscheinlich nicht upgraden.

  • Ich hab mich schon vor ein paar Tagen total händisch an Chemnitz versucht. Aber irgendwie klappt das alles nicht so, wie es soll. Liegt zum einen an den Höhen, zum anderen an der Normalspur der Straßenbahn. Die auch ab und an mitten auf der Strasse fährt.

    Da warte ich lieber auf Dein Tool :)


    Ich drücke die Daumen. Und wenn man irgendwie helfen kann, frag einfach.


    cheers, SQ

  • Ich sage es lieber nochmal: Das Tool wird einem keinen Nachbau auf Knopfdruck ausspucken. Da ist einiges an Vorwissen, Vorarbeit und Nachbearbeitung gefragt.


    Die Höhen muss man selber korrekt formen. Ich weiß nichtmal ob das per API möglich wäre, aber das Problem ist eher eine hochaufgelöste Heightmap zu bekommen. Ich glaube für manche Bundesländer gibt es sehr gute kostenlose Daten. Aber ob da auch Dämme schon drauf sind, sodass man gar nichts mehr machen muss - keine Ahnung.


    Wie gesagt: Wer auch einen Nachbau plant, kann jetzt schon mit Overlay und Terrain anfangen. Das sind die Voraussetzungen für den OSM Importer.

    Wenn man nicht weiterkommt, gerne nachfragen.

    Oder sollte ich vielleicht erstmal eine Anleitung dafür machen? Ich muss die Schritte halt selber nochmal nachvollziehen und wissen woran es genau hängt.


    Was Normalspur Tram angeht, kennst du hoffentlich Tramgleis-Texturen-Tauscher N


    Aber gut dass du Straßenbahnen ansprichst. Die sind nämlich ein Thema für sich.


       


    In OSM sind diese, wie auch normale Bahngleise, als einzelne Schienen/Ways definiert.

    Auch wenn sie auf einer 2spurigen Straße integriert sind.


    Das ist also grundlegend anders als in TPF, wo "tram" ein Parameter einer normalen Straße ist.

    Es ist also sehr schwierig, automatisiert die Tramgleise auf die Straßen in TPF zu legen.


    Für Trams gibt es daher 2 Möglichkeiten. Entweder lässt man Tramschienen einfach als normale Schienen bauen. Oder skipped diese und macht es nachträglich per Hand als klassische TPF Tramstraßen.

    Als Schiene sieht oft besser aus, vor allem wenn diese als eigener Bahnkörper verlaufen. Da hat man dann wenigstens Tiefendarstellung im Gegensatz zu den platten Tramstraßen. Dafür nutze ich das Straßenbahngleis aus Vienna Fever. Aber man hat mehr Ärger bei Kreuzungen mit Straßen. (Mapping Ungenauigkeit ist auch noch ein Problem)

    Verläuft die Tram auf der Straße, ist natürlich das Tram Straßenpaket von eis_os naheliegender, in Verbindung mit dem Normalspur Texturen Tauscher. Sieht wahrscheinlich besser aus am Ende, aber erfordert gewisse Umbauarbeit.


    Man sollte sich für seine nachzubauende Stadt vorher gut überlegen, wie man Trams baut. Denn in der Stadt klassisch bauen und außerorts als Schiene ist nicht. Außer mit betrieblich getrennten Netzen. Trams können dann nicht durchfahren.


    Frankfurt hat ein Normalspurnetz und perferkterweise gibt es schon den Duewag R vom guten EISFEUER .

    Für Trams werde ich auf die klassische Lösung mit Tramstraßen setzen, auch wenn das in den Außenbereichen im Wald nicht so geil aussieht. (Bin noch auf der Suche nach Mods, aktuell beste Tramstraße ist glaub ich in RTP, aber hier gefallen mir die Masten nicht)


    Allerdings gibt es ja noch U-Bahnen in Frankfurt, die zu einem Großteil auch oberirdisch verlaufen und technisch ziemlich nah an den Straßenbahnen sind (anders ist eigentlich nur Hochflur und Wagenlänge). In OSM sind diese als railway=light_rail bzw. subway gekennzeichnet. Die lasse ich mit dem Stadtbahngleis bauen.


    In dem Kontext ist auch Stadtbahnen von Speedmaster interessant, aber enthält leider kein Normalspurgleis.

  • Was die Tram betrifft, hast du bei der neuesten Jokerstraßen-Version schon mal zwei weitere Mastentypen (danke nochmals an Sabon! :thumbup:) und eine Version ohne Masten zur Auswahl. Für die Tramtrassen bleibe ich am Ball. Ich habe mir immer schon Vignolschienen gewünscht, und ich habe auch schon eine Idee, wie ich sie hinbekomme. Auslegermasten an zweigleisigen Tramstrecken werden aber ein Traum bleiben, es sei denn, du verzichtest auf die Elektrifizierung oder eis_os baut sowas in die CommonAPI ein. Wobei der Witz ist, dass UG sogar Auslegermast-Modelle im Sortiment hat, sie aber unverständlicherweise nicht einsetzt. Für Einzelmasten an eingleisigen Strecken habe auch schon wieder was am Tramprojekt gemacht, kam leider eine groß angelegte Patch-Aktion dazwischen, die sich aber langsam dem Ende zuneigt.

    ... don't know much trigonometry ... don't know much about algebra ... don't know what a slide rule is for ...

  • Das mit dem Auslegermasten ist schon seit geraumer Zeit auf meiner Wunschliste. Seitenprojekt: Velleicht kann ja jemand ein Mod Paket nur mit Asset Trammasten bauen.
    Höchste Priorität liegt aber im echten abschalten von automatisch erstellen Masten auf Straßen. (also nicht einfach nur Transparent, dann hat man auch die restlichen Kram los)


    Letztes Jahr war ich schon mal ganz guter Dinge, aber naja, das gibt es ein Update und meine Fragmente und Informationen zu bestimmten Funktionen sind wieder zu nichte. ;(


    Am 20.03.2022 hab ich mal auf Discord diesen Screenshot gezeigt:




    Mein Problem liegt darin, das jedes weitere Feature zu einer Explosion der Anzahl an Straßen führen wird.

    Ich hab zwar Code um an ein Entity Daten zu binden, aber ein Straßenumbau sei er noch so klein resultiert in neue Entities. Darüber müssen die Daten auch noch eine Construction Builder Zyklus überstehen.


    Der interne ConstructionBuilder von TPF2 ist so das größte Teil was TPF2 so als Funktion hat. Das macht theoretisch fast alles im Spiel... (und wird auch vom Towndeveloper benutzt)


    Mir wäre am liebsten wenn ich so etwas als echtes offizielles Addon für TPF2 entwickeln könnte.

    Der jetzige Flexstreet Code mit Kommentaren & Co ist rund 3600 Zeilen lang, 1400 Zeilen sind damit beschäftigt nur die richtigen Stellen zu patchen.


    Das führt zu einem Schweizer Käse, den mag ich aber lieber Essen :D

BlueBrixx