Hallo @Adam Beckett,
es gibt nur sehr wenige Vorgaben in der TS-Asset(Ordner-)struktur. Insbesondere sind mit wenigen Ausnahmen keine bestimmten Namen vorgeschrieben:
1. die Ordner der ersten Ebene unter "assets" geben (jedenfalls aus Sicht des TS) den "Provider" (Hersteller, Entwickler) an.
Da es keine Registrierung für TS-Entwickler gibt, können natürlich unterschiedliche Entwickler auf dieselbe Idee für den Providernamen kommen. Wenn ich z.B. meine, meine Assets unter dem Titel "Das Track Genie" veröffentlichen zu wollen und als Provider-Ordner die passende Abkürzung DTG nehme, vermischen sich meine Assets eben fröhlich mit denen von DTG (aka RSC)
2. die Ordner unter der Provider-Ebene geben das "Product" (Addon, Objekt-Bibliothek) an.
Unterhalb der Produkt-Ebene ist der jeweilige Entwickler in Bezug auf Ordnerstruktur und Namensgebung weitgehend frei.
Eine der wenigen Vorschriften bei der Namensgebung: Consists für schnelles Spiel müssen sich in einem Ordner mit dem Namen "PreLoad" befinden (Groß/Kleinschreibung spielt keine Rolle), und dieser Ordner muss sich unmittelbar im Produkt-Ordner befinden.
Die häufig verwendeten Namen "RailVehicles", "Scenery", "RailNetwork" usw. sind keine Vorschrift, sondern sind von Kuju in den Developer Docs nur als Beispiel angegeben, wie sie selbst es gemacht haben.
Under each add-on product folders you can store your assets in any folder structure. We have used the following ...
Vorteil für den Entwickler, wenn er die von Kuju verwendeten Namen benutzt, ist lediglich, dass man im Blueprint-Editor nette kleine Icons an den Ordnern hat.
Natürlich gelten gewisse "best practices" der Software-Entwicklung auch hier: Ordner- und Dateinamen sollten keine Leerzeichen, Sonderzeichen, Umlaute enthalten. Aber da, wie du schon schriebst, die TS-Struktur "free for all" ist, tragen auch Leute zum TS bei, die mit solchen Regeln nicht vertraut sind. Daher gibt es bereits bei diesen elementaren Dingen viel Schrott im TS.
Jenseits der schoen verpackten .ap Ordner scheint ein absolutes Chaos zu herschen?
Ja, eben "free for all", weder Registrierung noch Aufnahmeprüfung erforderlich.
Zitat
Ab und an finde ich die eigenartigsten 'Nester' (as in nested folders) - Ordner deren Unterordner genauso heissen wie der obere Ordner und die Frage sich aufstellt "Ist das Absicht?" ... oder hat da jemand beim zusammenpacken sich vertan? Findet RailWorks.exe die "RailVehicles" und "RailNetwork" Unterordner in dem Unterordner des Unterordners?
nicht beim zusammenpacken ... sowas entsteht meist, weil jemand beim "installieren" eine .rwp oder .zip Datei von Hand an der falschen Stelle auspackt. Wenn derjenige dann an einer Strecke baut, landen diese falschen Pfade in der Strecke, und zukünftige Benutzer der Strecke sind gezwungen, die Assets bei sich ebenfalls an der falschen Stelle zu installieren.
Der TS (railworks.exe) findet die Assets nur an der Stelle, von der sie bei der Content-Erstellung benutzt wurden.
Zitat
Namen, welche nach Rechtschreibfehler klingen ( = siehe ScaleRail "Vigitation".
spielt keine Rolle, da die Namen für den TS keine Semantik (Bedeutung) haben, sondern einfach so, wie sie sind, benutzt werden. Entweder ist die Schreibweise der Asset-Datei identisch zu der in der Strecke benutzten (= gefunden) oder nicht (= nicht gefunden)
Zitat
Je nach Ursprungsland der Objekte oder Strecken, sind manche Unterordner in der jeweiligen Landessprache (inklusive Schriftzeichen).
wie schon geschrieben: grundsätzlich ist dem TS die Schreibweise egal. Sonderzeichen und Umlaute können aber zu Problemen führen - kann gut gehen, muss aber nicht.
Zitat
Keine der offiziellen Manuals/Handbuecher scheint dieses Thema anzusprechen?
außer den alten Developer Docs aus der Zeit bis zu TS 2012.
Zitat
Die Entwickler unter euch, welche jenseits der "Ich mach das genauso wie die Anderen"-Methode schmerzhafte Einsicht in die Materie haben, koennt Ihr mich auf Links oder Webseiten-Artikel lenken, welche "Euch" geholfen haben, durch diesen "Free-for-All" Dschungel durchzuwaten?
Die alten Developer Docs und langjährige Neugier "Wie funktioniert Railworks". Sehr hilfreich dabei ist natürlich eine "Software-Entwickler-Allgemeinbildung" - die verständlicherweise nicht jeder hat.
Zitat
Wann findet die exe-Datei einen Unterordner NICHT?
Kommt normalerweise nicht vor, da der TS schon aus Performance-Gründen Dateien nicht frei im Dateisystem sucht, sondern den konkreten Namen aus dem Content entnimmt. Er findet etwas also nur dann nicht, wenn das Asset nicht an der Stelle / mit dem Namen existiert, die im Content (Strecke, anderes Asset) angegeben ist.
Zitat
Wann werden fehlende (oder nicht auffindbare??) Assets ignoriert? Jemand benutzt (veraltete) Assets fuer seine neue Strecke und nutzt sie im Blueprint-Editor. Kann das Spiel auf dem Rechner der Person mit neuesten Assets diese alten Assets finden?
"Neu" und "Alt" gibt es aus TS-Sicht nicht. Nur unterschiedliche oder gleiche Namen (inkl. Pfad). Wenn eine "neues" und ein "altes" Asset denselben Namen/Pfad haben, kann eben nur eins davon existieren - und zwar das, das der Benutzer als letztes installiert hat. Wenn "neu" und "alt" sich nicht nur in einfachen Eigenschaften (z.B. Farbe) unterscheiden, sondern in der Struktur, dann kann das zum TS-Absturz führen.
Zitat
Kann RWTools den 'Fehler' erkennen? Etc.
RW-Tools guckt auch nur, ob es ein Asset mit exakt dem Namen/Pfad gibt oder nicht.
Zitat
Es zeigt was 'schiefgehen' kann, wenn Dinge/Objekte nicht eindeutig definiert sind, bzw. ungeprueft(!) ausgefuehrt werden, passend zum Thema und der Ueberschrift.
Das ist genau das, was zu der Flut von Freeware für den TS geführt hat: jeder(!) kann was dazu tun, egal ob er es "gelernt" hat oder nicht. Bevor die Strecken+Szenarien so groß wurden, dass sie ständig an der Speichgrenze kratzen, war diese Asset-Anarchie die häufigste Ursache für TS-Abstürze. Gegenkonzepte dazu sind die globale Datenbank bei Trainz (wo die Installation eines Assets "Stunden" dauert, weil dabei die Assets geprüft und komplett in die Datenbank eingebunden werden) oder die geschlossenen Pakete im TSW.
Zitat
(Obwohl fuer sich auch diskussionswuerdig, da unzaehlige Ordner und Dateien wegen Reskins eins zu eins kopiert werden, anstatt sie sinnvoll zu den benoetigten Dateien oder Ordnern einfach zu verlinken, anstelle fuer jeden Reskin eigene (Unterordern) zu kreiren/kopieren.)
das ist oft zwingend erforderlich, da die Texturdatei in der 3D-Modell Datei (*.geopcdx) relativ zu eben dieser Datei angegeben werden. Zum Verlinken auf andere Texturen müsste man die Modelldatei ändern, was nicht praktikabel ist, da man die in der Regel nicht verteilen darf.