Woher nimmt der TS die Namen der Strecken?

  • Es ist mir nicht klar, aus welcher Datei der TS die Streckennamen entnimmt. Mal scheint er dem RouteTemplate zu entstammen, dann aber auch der Datei RouteProperties.xml.
    Die gleiche Frage habe ich auch für die Namen der Lokomotiven. Aus dem Ordner Preload? Und wenn der nicht existiert?


    Irgendwie fehlt mir die Einhelligkeit.

  • Namen stammen von Strecken aus der Routesproperrties, Szenarien aus der SzenarioProperties, Objekte aus der .bin des Objektes.
    Es gibt immer sprachabhängige Namenseinträge. Wenn der TS in Deutsch eingestellt ist, dann wird der deutsche Eintrag genommen, gibts da nix, der erste findbare EIntrag in der Namenabteilung, kann schon mal russisch sein.
    So Sonderfall, es gibt für Strecken und Szenarien noch sprachspezifische lan-Dateien. Da werden die Einträge in den Properties Ignoriert und der für den Text (da gibts ne Text ID) der Übersetzungstext der lan.de genommen.
    Da sind auch die Szenrioanweisungen übersetzt. INfo Wiki: Übersetzung von Szenarien und Strecken, Kann man selbst lan erzeugen oder vorhandene verbessern.

    Keine Hilfe und Auskunft per PN, da meist von allgemeinem Interesse. Diese Fragen bitte im Forum stellen.

    5 Mal editiert, zuletzt von StS ()

  • Leider funktioniert das nur teilweise. Ich wollte meine Strecken (57) etwas organisieren, d.h. den Streckennamen die Bahngesellschaft voranstellen (RhB, SBB, DB etc.). Aber es gibt Strecken, bei denen der Streckenname nicht in der RouteProperties.xlm abegelegt ist. Vielleicht ist die Information in so einer lan(guage) Datei abgelegt. Ich habe das versucht mit der utilities.exe anzuschauen, bin aber gescheitert. Die Gotthardbahn von Rivet ist so ein Fall, wo der Eintrag in der RouteProperties.xml nicht übernommen wird.


    Interessanterweise übernehmen die Tools RW Tools und RWInfo meine angepassten Streckennamen. Sie stützen sich also auf die RouteProperties Einträge ab. Nur leider der TS nicht.


    Ich würde auch gerne die Lokomotiven in ähnlicher Weise etwas ordnen.


    Wie handhabt ihr das?

  • Die Arbeit kann schnell für die Katz sein, wenn irgendein Update zuschlägt und die Daten wieder zurücksetzt, Steam ist da gerne dabei. Also die Arbeit woanders zusätzlich sichern.


    Du hast hoffentlich schon mal die Routes-Properties aus den Maincontent.ap-Ordnern rausgezogen und neben dem ap geparkt?
    Dann Zeigt RW-Tools und NamemyRoutes die Namen an, die Properties ggf. editieren.
    Im Explorer checken ob da Datei-Schreibschutz drin ist, falls sich was nicht ändern lässt. Rw-Tools kann das für alle Railworksdateien aufheben.


    Zur Language Datei, nach der Beschreibungdes Link in Beitrag 2 vorgegangen? erst exportieren, Excel-Datei erzeugen, speichern, ändern, speichern, importieren, Der TS will hartnäckige User, nicht gleich aufgeben.
    Erst mal mit einer Strecke Testen, bis da klappt.
    Am besten eine neue Teststrecke anlegen, damit DU nix verbumbeutelst.


    Leg mal fürs Rollmaterial eine Indexdatei in RW-Tools an.



    Die csv als Excel speichern , und da kannste dann noch Spalten mit WasWeisIch hinzufügen und danach filtern und sortieren. Denn in 2000 Rollmaterial bins die Namen ändern ? :lolx2:


    Übrigens die Info Namemyroutes.exe, alle + anklicken, dann Edit, copy selcted Tree, das in eine Excel-Datei einfügen, dann machtse waswillstdu.

    Keine Hilfe und Auskunft per PN, da meist von allgemeinem Interesse. Diese Fragen bitte im Forum stellen.

    2 Mal editiert, zuletzt von StS ()

  • Die Frage ist einfach: Woher nimmt der TS im QD Streckenmenu zB. bei der Strecke Gotthardbahn von Rivet Games den Namen?



    RW Tools zeigt die Abänderung, die ich in der Datei RouteProperties.xml gemacht habe. Der TS zeigt das jedoch nicht an im QD Streckenmenu.


  • Die Frage ist einfach: Woher nimmt der TS im QD Streckenmenu zB. bei der Strecke Gotthardbahn von Rivet Games den Namen?



    RW Tools zeigt die Abänderung, die ich in der Datei RouteProperties.xml gemacht habe. Der TS zeigt das jedoch nicht an im QD Streckenmenu.

    Sowohl Sprache als auch Quelle der Namen sind in RWTools anders als in TS.


    RWTools nimmt für die Anzeige immer die Namen aus den Properties Dateien, für die in RWTools eingestellte Sprache.
    Der TS bevorzugt die *.lan Dateien und nimmt nur dann die Übersetzungen aus der RouteProperties, wenn keine *.lan vorhanden sind.
    D.h. der TS nimmt aus der RouteProperties den key, der unter DisplayName steht, und sucht für diesen Key den Text in der *.lan Datei der im TS eingestellten Sprache.


    Was die Anzeige in den Szenario-Menus betrifft, müsste evtl noch ein Cache-Refresh erfolgen, wenn du was geändert hast.

  • Ich hab gerade noch was ausprobiert. Das nervige Hanover mit einem N.
    Lan.de aus dem ap rauskopiert, mit dem Lokalisationstool Der Utilities geändert. Routes Properties geändert, Cache geleert, Hanover bleibt in der Streckenauswahl. RWT und Namemyroutes Hannover mit zwei N.
    im ap steckt ja noch die lan.de und die anderen lans. Die auch rausgeklaut, Cache geleert, Hanover bleibt. Jetzt fällt mir nix mehr ein.

    Keine Hilfe und Auskunft per PN, da meist von allgemeinem Interesse. Diese Fragen bitte im Forum stellen.

  • Genau, das Hanover hat mich auch gestört. Aber es gibt offenbar keine Lösung (im Moment). Für einige konnte ich es ja in den RouteProperties ändern, bei anderen bleibt es ein Geheimnis. Ist auch nicht weiter schlimm. Danke fürs Mitdenken!

  • @TomB @StS
    Tut mir leid, dass ich nicht deutlich genug war bezüglich "Cache-Refresh".

    Was die Anzeige in den Szenario-Menus betrifft, müsste evtl noch ein Cache-Refresh erfolgen, wenn du was geändert hast.

    Ich meinte den Szenario-Cache (SDBCache.bin). Die gesamte Szenario-Menu Anzeige kommt ja letzten Endes aus dem SDBCache. Die bei jeder Menu-Anzeige neu aus dem Datenbestand zu erzeugen würde ja viel zu lange dauern. Deswegen übernimmt der TS die Infos immer beim Hinzufügen von Strecken/Szenarien in den (Szenario-)Cache.


    Im SDBCache gibt es eine Streckenliste und eine Szenarioliste.


    Das hier (Streckenauswahl) kommt aus der Streckenliste (<Routes> .... </Routes>)



    die hier aus der Szenarioliste (<Scenario> ... </Scenario>)



    (zur Verdeutlichung hab ich beim ersten Szenario das zweite 'n' wieder rausgenommen)


    Entscheidend sind die *.lan, aber nach Änderungen muss man auch die Aktualisierung des SDBCache erzwingen (Datei löschen)

  • Danke für den HInweis, Der TS ist und bleibt Tricky. das man die SDBCache auch noch löschen muss, da bin ich nicht drauf gekommen.
    Gleich probiert: Die Original Maincontent.ap wieder eingespielt, nochmal die SDBcache gelöscht. der TS zeigt immer noch Hannover an!
    Nur hat die Szenariodatenbank das jetzt aus der aussenliegenden geänderten lan.de oder aus der Routesproperties genommen?
    Das probier ich mal später, Steam setzt eh das irgendwann zurück. Jetzt reichts erst mal.
    Schönen Sonntag noch.

    Keine Hilfe und Auskunft per PN, da meist von allgemeinem Interesse. Diese Fragen bitte im Forum stellen.

    Einmal editiert, zuletzt von StS ()

  • Ich habe noch etwas geforscht.


    Zunächst ist natürlich klar, dass der TS alles neu auswerten muss, wenn man die SDB löscht.
    Da gelten dann die üblichen Prioritäten:
    1. Language Datei der eingestellten Sprache (z.B. de.lan)
    2. Eintrag der RouteProperties für die eingestellte Sprache
    3. Eintrag der RouteProperties für Englisch


    Ähnlich auch, wenn man die SDB nicht löscht, sondern "nur" die einbgestellte Sprache ändert.
    Da muss der TS auch alle Texte neu lesen (was etliche Minuten dauert)


    Spannend wird es dadurch, dass der TS an den verschiedensten Stellen "Make-Funktionalität" hat, um dem Content-Entwickler die Arbeit zu erleichtern (Wartezeit reduzieren).
    Kleiner Abstecher zum Vergleich: Beim Blueprint-Editor sind das die *.tgt Dateien, die ihm sagen, wann er welche Asset-Datei zum letzten mal konvertiert hat. Daher braucht er beim nächsten "Build" nicht alles zu konvertieren (was bei den Assets für ne große Strecke Stunden dauern könnte), sondern nur die tatsächlich geänderten bzw neuen Dateien.


    Hier, in der SDB, gibt es für jede Strecke einen Eintrag "RoutePropertiesModifiedTime", der (normalerweise) sagt etwas darüber sagt, wann zum letzten Mal was an der Strecke geändert wurde. Bei Szenarien gibt es entsprechende "ScenarioPropertiesModifiedTime" Einträge.



    Experiment zur Wirkung:


    1. ich habe über Änderung der Sprache die Texte in der SDB komplett reinitialisiert. Dabei war die MainContent.ap im Originalzustand, nur die RouteProperties.xml zusätzlich rauskopiert.


    --> wie erwartet, werden die Texte aus der lan-Datei geholt, die Streckennamen im jeweiligen Szenario von den Streckennamen übernommen.


    2. in MainContent.ap die de.lan gelöscht; SDB nicht gelöscht; TS neu gestartet.


    --> im Menu bleibt alles wie vorher, d.h. es werden weiterhin die Texte aus der mittlerweile nicht mehr vorhandenen de.lan angezeigt.
    3. die RouteProperties.xml Kopie außerhalb der MainContent.ap ge"touch"ed, d.h. den Änderungszeitpunkt geändert, aber ohne den Inhalt zu ändern. SDB nicht gelöscht, TS neu gestartet.
    --> jetzt stehen im Menu die Namen aus der externen RouteProperties.xml (die de.lan wurde ja im vorigen Schritt bereits gelöscht)


    Also nur Löschen der *.lan ändert nichts, man muss danach die RouteProperties.xml ändern. Dabei spielt es keine Rolle, ob man wirklich den Inhalt ändert, Hauptsache sie bekommt auf dem Dateisystem einen neuen Änderungszeitpunkt.


    @TomB@StS



    p.s.:
    wo immer eine "Make-Funktionalität" existiert, sollte man daran denken, dass einfaches Austauschen von Dateien (z.B. RouteProperties.xml) nicht immer zum gewünschten Ergebnis führt: wenn man eine "neue" Datei durch eine ältere überschreibt, ist die aktuelle ja - vom Datei-Datum gesehen - nicht neuer.