Jump to content

Simples tool für die Sortierung der installierten Szenerien


Recommended Posts

Hallo zusammen,

ich hab ein kleines Tool gebastelt, welche die Sortierung der scenery_packs.ini übernimmt.

Da die Qualität der OSM Daten rassant zunimmt sind auch automatisch generierte Szenerien immer besser. Die X-Plane 10 Logik macht die Installation dieser Szenerien für den einfachen Nutzer nicht ganz so leicht, denn dort muss die scenery_packs.ini manuell angepasst werden. Genau hier kommt xpstart ins Spiel. Das Skript analysiert alle installierte Szenerien und ordnet diese nach logischen Gruppen. Anschließend wir die ini Datei automatisch aktualisiert. Dadurch stehen Phototapeten, Libraries oder Autgen-Szenerien automatisch unten und die Flugplätze oben.

Da die aktuellen Regeln nicht alle Sonderfälle abdecken, kann auch der Szenerieentwickler angeben, um welche Szenerie es sich handelt. Dadurch kann dieser sicher stellen, dass seine Szenerie an der richtigen Stelle in der scenery_packs.ini steht.

Das ganze läuft schon recht gut und kann gerne getestet werden. Dafür muss jedoch Python installiert sein. Wobei bei jedem der das PythonInterface für X-Plane installiert hat, sollte das Skript auch laufen.

Download:

http://lyckade.github.io/xpstart/

Installation:

  • Download der Dateien
  • Kompletten xpstart Ordner in den X-Plane Ordner kopieren
  • xpstart.py in den X-Plane Ordner kopieren

Würde mich hier um ein wenig Feedback und weitere Anregungen freuen.

Grüße

Andreas

Link to comment
Share on other sites

Klingt interessant. Ich mache es zwar immer noch auf die althergebrachte Weise mit Umbenenen der Verzeichnisse in der Custom Scenery und per Batch Löschen der scenery_packs.ini, sowie Starten von XP.

Werde ich mir aber trotzdem mal anschauen.

Link to comment
Share on other sites

Da fällt mir noch ein sicherheitshalber noch ein Backup von der alten ini Datei machen, falls Du dort viele manuellen Anpassungen vorgenommen hast.

Aber Selbstverständlich. Danke trotzdem für den Hinweis...

Link to comment
Share on other sites

Soweit so gut, aber die Aerosoft Airports werden teilweise ganz oben in die ini geschrieben und teilweise unter die Libraries und Mesh Szenerien. Die anderen Airports sortiert er alphabetisch.

Beim zweiten Versuch macht er es irgendwie anders und setzt die Aerosoft Airports über die Libraries und Meshes. Passt also.

Link to comment
Share on other sites

Soweit so gut, aber die Aerosoft Airports werden teilweise ganz oben in die ini geschrieben und teilweise unter die Libraries und Mesh Szenerien. Die anderen Airports sortiert er alphabetisch.

Beim zweiten Versuch macht er es irgendwie anders und setzt die Aerosoft Airports über die Libraries und Meshes. Passt also.

Super schon mal vielen Dank. Hab das als Bug einmal aufgenommen und werde das auch gleich mal die Tage untersuchen. Mir ist jetzt auch aufgefallen, dass vielleicht noch ein kurzer Output fehlt, welche Szenerien zu welchen Layern zugeordnet werden. Das würde das ganze sicher transparenter machen. Das kommt dann alles mit dem nächsten kleinen Update.

Außerdem kommt auch noch eine einfache GUI dazu, damit man auch beim Programmlauf ein wenig mitbekommt was gerade passiert. Das kommt aber erst, wenn das Skript schon mal richtig funktioniert.

Link to comment
Share on other sites

Super schon mal vielen Dank. Hab das als Bug einmal aufgenommen und werde das auch gleich mal die Tage untersuchen. Mir ist jetzt auch aufgefallen, dass vielleicht noch ein kurzer Output fehlt, welche Szenerien zu welchen Layern zugeordnet werden. Das würde das ganze sicher transparenter machen. Das kommt dann alles mit dem nächsten kleinen Update.

Außerdem kommt auch noch eine einfache GUI dazu, damit man auch beim Programmlauf ein wenig mitbekommt was gerade passiert. Das kommt aber erst, wenn das Skript schon mal richtig funktioniert.

Schön wäre es wenn das Tool die Vorsortierung macht und man dann anschließend die Reihenfolge manuel via Liste oder drag and drop sortieren könnte. Natürlich sollte das Tool darauf hinweisen, wenn man in der manuellen Sortierung die Layers falsch macht.
Link to comment
Share on other sites

Die Idee ist gut und bzgl. Manueller Sortierung hab ich jetzt nochmal nachgedacht.

Ich denke Sortierung innerhalb eines Layers bringt nichts. Denn innerhalb einer Ebene sollte es nicht zu Konflikten kommen dürfen. Deaktivieren muss hier die Lösung sein. EDDS und EDDM beeinflussen sich nicht. Wenn ich jetzt 2 unterschiedliche LOWI Szenerien habe, dann muss ich davon eine deaktivieren.

Solche Konflikte könnte das Tool auch ausgeben. Zwei mal eine Icao in einem Layer wäre dafür das Merkmal.

Andererseits sollte der User die Default Regeln überschreiben können. Denn es wird immer ausnahmen geben, welche man manuell nachbessern muss, wenn durch den Entwickler auch keine scenery.txt erstellt wird.

Hab den Vorschlag deshalb auch gleich aufgenommen.

Bzgl. deaktivieren hatte ich noch eine Idee. Für jede Szenerie könnte man auch Tags vergeben. Da könnte dann EDDM z.B. IFR, VFR, Germany. EDMV nur VFR, Germany. Die ZL 16 Fototapete nur IFR und ZL 17 nur VFR.

Die Auswahl VFR würde dann nur die VFR Szenerien aktivieren und den Rest auf Disable setzen. So würde XP ein wenig schneller starten können.

Grösstes Contra dazu: ich glaube nicht das sich viele Leute die Arbeit machen würden und alle ihre Szenerien so einordnen würden.

Link to comment
Share on other sites

Letzteres halte ich auch für nicht so wichtig... Die heutigen PCs und schnellen Festplatten machen das nicht mehr so wichtig.

Link to comment
Share on other sites

  • 1 month later...

Hallo zusammen,

hatte leider nicht soviel Zeit, deshalb hat die gui ein wenig länger gedauert. Die gui ist ganz einfach aufgebaut und besteht aus einem Button und einer Ausgabe der gefundenen Layer. Über UserLayer kann man dann die Default Werte überschreiben.

Download nach wie vor unter:

http://lyckade.github.io/xpstart/

Der erste Lauf kann je nach Anzahl der Szenerien ein wenig dauern. Insbesondere die Indexierung der Fotoszenerien dauert ein wenig.

Als nächstes Feature kommt dann ein Bericht, welcher Konflikte und andere Infos ausgibt.

Sollte bei Euch alles laufen würde ich das auch als Tool unter x-plane.org stellen.

Viele Grüße

Andreas

Link to comment
Share on other sites

Die Sortierung innerhalb eines Layers brächte dann etwas, wenn man z.B. ein ganzes Länder-Set installiert hat und einzelne verbesserte Airport-Versionen in höherer Priorität darüber installieren möchte.

Gesendet von meinem iPhone mit Tapatalk

Link to comment
Share on other sites

Die Sortierung innerhalb eines Layers brächte dann etwas, wenn man z.B. ein ganzes Länder-Set installiert hat und einzelne verbesserte Airport-Versionen in höherer Priorität darüber installieren möchte.

Stimmt. Besonders bei den Aussie Packs sinnvoll. Für den Fall wäre aber auch ein zusätzliches Layer denkbar. Custom packs oder so ähnlich. Das wäre weitaus einfacher umzusetzen, da es dem Ansatz von dem Programm besser entspricht.
Link to comment
Share on other sites

So jetzt ist die gui nach meinem Geschmack erstmal fertig. Es sind ein paar ganz tolle und nützliche Features dazugekommen. Die GUI ist nach wie vor so einfach wie möglich gehalten und sollte eigentlich intuitiv bedienbar sein.

Das Tool prüft nach dem Schreiben der ini Datei nach Doppelten Szenerien. Insbesondere, wenn mehrere Flugplätze in einer Szenerie definiert werden, wird das irgendwann unübersichtlich. Insbesondere kommende Default Szenerien werden ja oft als ein Packet ausgeliefert. Solange die Szenerien richtig definiert sind, werden doppelte Airports auch gefunden und dann in einem Bericht ausgegeben. Da der Bericht umfangreich sein kann, wird dieser im Standardbrowser geöffnet.

Ich werd die Tage auf youtube zeigen, was man mit dem Tool alles anfangen kann und wie man das am Besten macht, wobei erfahrene X-Planer sollten sich auch so damit zurecht finden können.

Link to comment
Share on other sites

  • 4 weeks later...

Habe jetzt erst diesen Thread gefunden und poste mein Anliegen nun besser hier.

Das sollte so doch auch auf dem MAC funktionieren, oder? Ich bekomme da nämlich nur diese beiden Fenster wenn ich xpstart.py öffne:

post-107392-0-61068600-1400084242_thumb.

Link to comment
Share on other sites

Also in der Theorie sollte das klappen. Python läuft definitiv auf dem mac, aber dad tcl/tk nicht auf der aktuellen Version vorhanden sind ist mir neu. Ich werd mich mal im python Forum kundig machen.

Link to comment
Share on other sites

Habe jetzt erst diesen Thread gefunden und poste mein Anliegen nun besser hier.

Das sollte so doch auch auf dem MAC funktionieren, oder? Ich bekomme da nämlich nur diese beiden Fenster wenn ich xpstart.py öffne:

Hallo cappy,

danke für Dein Kommentar. Also ich hab jetzt das Skript bei mir unter Lion getestet. Ich vermute mal, dass Du die Mac OS Verision Mavericks im Einsatz hast. Hier kann es in der Tat sein, dass Python auch nachinstalliert werden muss.

Das Programm findest Du hier:

https://www.python.org/download/mac/

Beim Download solltest Du am Besten die 2.7 Version verwenden. Da die .py Endung oft auch mit Editoren verknüpft ist, öffnest Du das Skript dann am Besten wie folgt:

Rechtsklick auf das Skiprt

Öffnen mit auswählen

Python Launcher (2.7.?) auswählen

Insbesondere für OSM Szenerien werde ich diese Woche noch ein Update erstellen. Das funktioniert noch nicht ganz richtig. Ich geb Dir dann über das Forum hier kurz Bescheid, wenn es soweit ist.

Grüße

Andreas

Link to comment
Share on other sites

Hallo cappy,

so jetzt ist ein einfaches update online gegangen. Die Layers wurden alle umbenannt, sodass die manuelle Zuordnung intuitiver geworden ist. Zusätzlich gibt es oben einen Layer "new add-ons" dort sind alle neuen Szenerien eingeordnet, wo eine automatische Zuordnung nicht möglich war. Dort werden dann wahrscheinlich die OSM Szenerien auftauchen. Die manuelle Zuordnung ist dann relativ einfach. Zuerst klick auf die Szenerie und dann unten Change Layer to: eben auf OSM scenery setzen. Oder halt den Typ an Szenery den Du sonst hast.

Vorteil daran ist, dass auch in Zukunft die ini Datei immer richtig geordnet ist.

Grüße

Andreas

Link to comment
Share on other sites

Hallo Andreas,

habe nun nochmal alles runtergeschmissen, Dein aktuelles File runtergeladen und installiert, Python 2.7 installiert, und nun tut es :)

Vielen Dank für Deine Hilfe!

Gruß

Markus

Link to comment
Share on other sites

Hallo,

nachdem das Tool nun seinen Dienst tut, habe ich direkt das nächste Problemchen:

Da ich keine Ahnung habe welcher Eintrag welchem Layer zuzuordnen ist, bräuchte ich nochmal Eure Hilfe wenn möglich.

Unter "new addons" findet er folgende Einträge die nicht zuzuordnen sind:

FF_ROADS_MASTER
GROUND_TRAFFIC_FF10_JUNEAU
GROUND_TRAFFIC_FF10_SITKA
KSEA Demo Terrain
RescueX_Terrain
missionx
Lzzz_gTreelines_Farms_Europe_v2
zzz_gTreelines_Farms_North_America_v2
zzz_new_zealand
zzz_new_zealand_overlay

Was muß nun zu welchem Layer zugeordnet werden?

Gruß

Markus

Link to comment
Share on other sites

Hallo Markus,

da ich nicht alle Dateien kenne, bin ich an manchen Stellen nicht zu 100% sicher. Aber im Detail sollte es mit der Lösung zu keinem Problem kommen. Mit folgender Sortierung sollte es zu keinen Konflikten bei Dir kommen. Layer hab ich in Klammer dahinter geschriebern:

FF_ROADS_MASTER (OSM scenery)
GROUND_TRAFFIC_FF10_JUNEAU (Airport)
GROUND_TRAFFIC_FF10_SITKA (Airport)
KSEA Demo Terrain (Ground mesh)
RescueX_Terrain (Ground mesh)
missionx (Airport)
Lzzz_gTreelines_Farms_Europe_v2 (OSM scenery)
zzz_gTreelines_Farms_North_America_v2 (OSM scenery)
zzz_new_zealand (Ground mesh)
zzz_new_zealand_overlay (OSM scenery)

Hallo,

nachdem das Tool nun seinen Dienst tut, habe ich direkt das nächste Problemchen:

Da ich keine Ahnung habe welcher Eintrag welchem Layer zuzuordnen ist, bräuchte ich nochmal Eure Hilfe wenn möglich.

Unter "new addons" findet er folgende Einträge die nicht zuzuordnen sind:

FF_ROADS_MASTER
GROUND_TRAFFIC_FF10_JUNEAU
GROUND_TRAFFIC_FF10_SITKA
KSEA Demo Terrain
RescueX_Terrain
missionx
Lzzz_gTreelines_Farms_Europe_v2
zzz_gTreelines_Farms_North_America_v2
zzz_new_zealand
zzz_new_zealand_overlay

Was muß nun zu welchem Layer zugeordnet werden?

Gruß

Markus

Link to comment
Share on other sites

  • 2 months later...

Mein Gott was hätte ich mir in den letzten Tagen an Zeit mit der scenery_packs.ini sparen können wenn dieses Tool ersichtlich in diesem Forum gekennzeichnet wäre. Ich habe es jetzt auch nur durch Zufall gefunden.

Vielen Dank an blumenmann für diesen kleinen Helfer, alles funktioniert bestens.

Link to comment
Share on other sites

Hallo Markus,

da ich nicht alle Dateien kenne, bin ich an manchen Stellen nicht zu 100% sicher. Aber im Detail sollte es mit der Lösung zu keinem Problem kommen. Mit folgender Sortierung sollte es zu keinen Konflikten bei Dir kommen. Layer hab ich in Klammer dahinter geschriebern:

FF_ROADS_MASTER (OSM scenery)

GROUND_TRAFFIC_FF10_JUNEAU (Airport)

GROUND_TRAFFIC_FF10_SITKA (Airport)

KSEA Demo Terrain (Ground mesh)

RescueX_Terrain (Ground mesh)

missionx (Airport)

Lzzz_gTreelines_Farms_Europe_v2 (OSM scenery)

zzz_gTreelines_Farms_North_America_v2 (OSM scenery)

zzz_new_zealand (Ground mesh)

zzz_new_zealand_overlay (OSM scenery)

Einzig, ganz unten: warum kommt das NZ overlay UNTER die NZ Scenery? Das macht zwar nichts kaputt, aber sehen tut man die gesamten Overlay Daten damit auch nicht!

Manchmal frage ich mich ernsthaft, wozu ich Anleitungen schreibe, wenn dann doch jeder zweite User die bestenfalls nur überfliegt :rolleyes: .

After this, make ake sure, that in your Custom Scenery/scenery_packs.ini the Overlay pack is ABOVE the Mesh package (like this) AND both of them are situated below your other NZ Scenery packages (if you use airports etc.). Your two entries should look like this (and have this order):

  • SCENERY_PACK Custom Scenery/zzz_new_zealand_overlay/
  • SCENERY_PACK Custom Scenery/zzz_new_zealand/

Und übrigens sind die Treelines keine OSM Scenery im klassischen Sinn. Sie basieren nicht auf existierenden OSM Daten, sondern werden nur basierend auf diesen, heuristisch "abgeleitet".

Und die New_Zealand_overlay hat endgültig nichts mit OSM zu tun, da diese aus einer völlig eigenständigen Datenquelle abgeleitet wurde (steht auch auf der Webseite) B) :

This all was possible by using a new data source (and no, this time its NOT OSM!!) from the New Zealand Government, namely LINZ (Land Information New Zealand – http://www.linz.govt.nz). So a big thank you goes to them, for making such great and detailed data freely accessible (which is still not commonplace in the GIS world – and answers the question, if I will make all of the planet in this quality –> NO).

Link to comment
Share on other sites

Hallo Andras,

an der Stelle hast Du wahrscheinlich selber die Doku von xpstart bestenfalls nur überflogen ;-)

Denn für das was xpstart hier tut, ist alles so wie Du es in Deiner Doku beschreibst.

Einzig, ganz unten: warum kommt das NZ overlay UNTER die NZ Scenery? Das macht zwar nichts kaputt, aber sehen tut man die gesamten Overlay Daten damit auch nicht!

Manchmal frage ich mich ernsthaft, wozu ich Anleitungen schreibe, wenn dann doch jeder zweite User die bestenfalls nur überfliegt :rolleyes: .

Andererseits fällt mir die Doku zu xpstart unheimlich schwer, denn einerseits hab ich das ganze auch absichtlich oberflächlich gehalten, damit ich den großteil der Nutzer nicht verwirre. Denn nicht jeder normale Anwender muss genau verstehen, wie X-Plane seine Szenerien exakt aufbaut und wann welche Szenerien geladen werden. Genau deshalb hab ich auch xpstart entwickelt.

xpstart gliedert dabei die Szenerien in unterschiedliche Gruppen und zwar nach der Eigenschaft, wann XP diese Gruppe laden soll. Diese Gruppen hab ich Layer genannt (Analog der bezeichnung Layer bei Gimpo oder Photoshop). xpstart erzeugt auf dieser Basis dann die Einträge der scenery_packs.ini Datei und zwar so, dass die Gruppe Library ganz unten, danach Ground mesh, danach Phototextures, ... und ganz oben dann Airports und nex add-ons.

Hier von der xpstart Doku die Einteilung der Layer:

Following layers are supported by xpstart at the moment:

  • Library: A library is part of the custom scenery folder. It just has objects inside, which can be used by other sceneries. These is the only group where it doesn't matter when it is loaded.
  • Ground mesh: Defines the ground mesh of the x-plane world. If there would be a custom scenery just with a mesh inside it should be loaded with that group.
  • Phototextures: The photot sceneries e.g. from simheaven.com, are sceneries just with textures inside.
  • OSM scenery: Automatic generated sceneries mostly from OpenStreetMap.
  • Default scenery: The x-plane default sceneries.
  • Exclusion: Exclusion sceneries just have exclusions inside. Thesese sceneries are necessary, when a custom scenery don't have any exclusions. That there are no problems it is the easiest way to make a scenery just with exclusions inside.
  • Airport pack: Custom sceneries for sceneries with more than one airport.
  • Airport: Custom sceneries for airports.
  • new add-ons: Sceneries were it was not possible to find a layer automaticaly

Die Gruppe OSM scenery wäre technisch anders zu beschreiben: Szenerien, welche sich über eine größere Fläche (z.B. ganze Länder) erstrecken und automatisch generiert wurden. In der Regel sind das OSM Szenerien, aber eben auch Deine Treelines fallen in diese Gruppe, obwohl es nicht im klassischen Sinne OSM Daten sind. Die Falsche zuordnung an der Stelle ist aber technisch auch egal, denn diese bestimmt für xpstart ja nur, den Platz innerhalb der scenery_packs.ini Datei. Da passt es dann, dass Ground mesh und Phototexturen darunter und Default scenerien und Airports darüber platziert werden, oder? Am Anfang hatte ich den Layer auch "autogen" genannt, aber das war für die meisten Nutzer nicht sprechend genug.

Und jetzt kommt ein großer Vorteil von xpstart. Denn Du als Entwickler hast hier auch die Möglichkeit zu definieren, welchem Layer Deine Szenerie zugeordnet wird. Du musst einfach eine Datei im Hauptverzeichnis der Szenerie mit dem Namen "scenery.txt" erstellen und dort in der ersten Zeile "LAYERGROUP Ground mesh" eintragen. Wenn so ein Eintrag vorhanden ist, dann sortiert xpstart die Szenerie sofort und automatisch in diesen Layer, so dass der normale User gar nichts mehr machen muss. Anstatt zu hoffen, dass Deine Doku gelesen wird, kannst Du einfach darauf verweisen, dass die User xpstart laufen lassen sollen.

Ich bin auch gerne bereit meine Layers zu erweitern, jedoch sollte das nicht zu viel werden, denn sonst blickt am Schluss wieder niemand durch. Aber wenn Du der Meinung bist, dass die Liste erweitert werden muss und dann Deinen Szenerien eine scenery.txt verpasst, dann würde ich das gerne machen.

Viele Grüße

Andreas

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy & Terms of Use