Was ist die genaue Ursache für lila Quadrate in Gleismodulen?

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Da ich noch keine konkrete Information mit einer Erklärung gefunden habe, tappe ich momentan im dunkeln: woran liegt es genau?

    Hier und da sind Andeutungen, aber nirgends wird eine vollständige Erklärung geliefert.


    Ich frage, weil ich herausfinden möchte, ob der Aufwand, das Problem zu beheben, für mich als Nutzer (und nicht als Dev einer Gleismod) zu wuppen ist:

    • Könnte ich mit überschaubarem Aufwand und mit den vorhandenen Ressourcen selbst das Problem lösen?
    • Muss ich warten, dass Gleismods aktualisiert werden?
    • Liegt es gar nicht an Gleismods, sondern an was völlig anderem?

    Für den Fall, dass der geneigte Leser nicht weiß, was ich meine:

  • das sind die Gleise von ccjohnsen die da nicht mehr funktionieren

    Ein Update hat er bis jetzt verneint

    16 GB Speicher AMD Ryzen 5 5600X 6-Core Nvidia GeForce RTX 3070

  • Ich habe das Problem übrigens auch und eine Mod von einem ccjohnsen kenne ich nicht.

    Bei mir sind es mehrere Gleismods: Unsichtbares Gleis, Schotterbett, die Gleismod von Rheingold, die Damm-Gleise von Spacky. Lediglich die aus der Steam-Mod von KarlCharlson werden mir angezeigt

  • Bei mir sind es mehrere Gleismods: Unsichtbares Gleis, Schotterbett, die Gleismod von Rheingold, die Damm-Gleise von Spacky.

    Weil es so ausschaut als wenn Karlcharlson einer der wenigen ist den das Problem interessiert hat und der seinen Mod (bis jetzt) upgedatet hat. Oder die anderen Modder sind wohl alle inaktiv. Glaube Marcelino hat bei seinen Mods auch die Probleme beseitigt die mit dem patch kamen.


    Für alle anderen Mods bleiben halt 3 Möglichkeiten, nicht benutzen, mit den blauen Kästchen leben oder selbst Hand anlegen.

    Wenn jemand allzu Langeweile hat könnte er auch einen Mod zum Mod machen.

  • Ich verstehe irgendwie nicht was einem ein Mod nützt der nicht gepflegt wird.


    Lg Tom

    Was gibt es da nicht zu verstehen? Wir sollten froh sein, dass es Leute gibt die etwas modden und den anderen zur Verfügung stellen. Die Modder machen das alles freiwillig !

    Jedem muss bewusst seien ,dass es passieren kann , das die mod verschwindet oder nicht gepflegt wird. Wie im Fall ccjohnson, er hatte die mod für sich selbst erstellt und sich entschieden die anderen daran teilzuhaben. Jetzt spielt er halt ein anders Spiel und man hat das zu akzeptieren und nicht wie bei vielen anderen zu kritisieren oder in Frage zu stellen.

    16 GB Speicher AMD Ryzen 5 5600X 6-Core Nvidia GeForce RTX 3070

  • Werter Murkel,


    Ich stelle seine Einstellung oder seine jetzt anderweitigen Intressen nicht infrage oder kritisiere das.

    Ich persönlich nutze sowas einfach nicht mehr, wenn ich sehe das nach wichtigen Updates die Mods nicht angepasst werden.

    Es gibt natürlich auch Mods zu Mods die dann vllt den auch wieder für mich interesannt machen, immo ist dem nicht so.

    Es gibt ne gute Wahl gerade bei Gleismods.

  • In der UG-API-Referenz steht die Funktion, mit der die zusätzlichen Module erstellt werden. Demnach muss in der jeweiligen track.lua der Eintrag icon und an diesen wird dann _module bzw. _module_catenary dran gehängt.

    Wenn mich nicht alles täuscht, passiert das aber blöderweise nur dann, wenn es diesen Eintrag vorher schon in der track.lua gibt. Ist dieser nicht vorhanden, bekommt das Modul gar kein Icon.

    Kann es sein, dass es genügt, Kopien der UI-Texturen zu erstellen und jeweils "_module" und "_module_catenary" in die Dateinamen einzufügen?

    Bisher wurde in den track.luas kein Icon angegeben, daher wird das allein nicht reichen. Man muss zusätzlich entweder als Gleis-Modder direkt diesen Eintrag ergänzen oder als Mod-zur-Mod-Ersteller einen Modifier über die track.luas laufen lassen, der das erledigt.

  • In der postRunFn von UG steht:

    Code
    mod.description.icon = track.icon
    if mod.description.icon ~= "" then
       mod.description.icon = string.gsub(mod.description.icon, ".tga", "")
       mod.description.icon = mod.description.icon .. "_module" .. (catenary and "_catenary" or "") .. ".tga"
    end

    mod ist das spätere Modul, track ist der Inhalt der track.lua

    Üblicherweise gibt es eine default-Location und Benennung für die Icons

    Scheinbar taucht der Pfad für die default-Location nicht in den Daten auf, die die postRunFn bekommt. Sonst müsste es ja so schon mit den Standard-Icons funktionieren. Mir fallen zwei Möglichkeiten ein:


    1) track.icon ist nil, wenn die Funktion ausgeführt wird. Da nil ~= "" bekommt damit jedes der betroffenen Module das Icon "_module.tga" bzw. "_module_catenary.tga", die es zwar nicht gibt, aber auch nicht dem default-Pfad entsprechen. Wäre dem so, könnte man durch Erstellung der beiden genannten Dateien in res/textures/ui zumindest schon zwei verschiedene Icons für alle automatisch generierten Module erzeugen. Ohne Anpassung der track.lua werden aber keine unterschiedlichen Icons möglich.


    2) Wenn vor der postRunFn die track.luas geladen werden und aus irgendeinem Grund TPF2 schonmal alle Icon-Einträge mit nil durch den String "" ersetzt (sinnvoll? weiß nicht; möglich? schon), würden auch die betroffenen Module den String "" als Icon haben. In dem Fall müsste man die Icons in der default-Location der Modul-UIs platzieren und so benennen, wie die Module heißen. Dann ginge es ohne Modifier.


    Ich halte erstere Variante für wahrscheinlicher. Falls man sich also Icons wünscht, die nur eine Unterscheidung nach mit und ohne Oberleitung zulassen, ginge es ohne Modifier mit vergleichsweise kleinem Aufwand.

  • Ich habe mir mal was gebastelt. Ist noch nicht fertig. Nerviges Gefummel.

    Manche UI-Bildchen sind jetzt vertikal gespiegelt - obwohl es .tga sind und keine .dds (kann es sein, dass es an der fehlenden Transparenz der neuen .tga liegen kann?)

    Manche sind immer noch lila Quadrate... (evtl. die ganzen noch nicht genutzen .tga in rheingold_db_gleisset_mod_1 ?)


    Aber auf jeden Fall habe ich jetzt in der Mehrheit Bildchen - viele davon in Ordnung - und die Minderheit sind noch lila Quadrate.


    Update:

    In der aktuellen Version von KarlCharlon's Gleispaket sind keine offensichtlichen .module - Dateien, die tracks definieren. Alle anderen Module werden definiert.

    *am Kopf kratz* - so fällt es mir schwer, nachzusehen, was da denn nun genau geändert wurde.

    Einmal editiert, zuletzt von Gordon Dry ()

  • lennardo97 ich wiederhole mich nochmal: Es gibt eine default location, auch für die automatisiert generierten Module. Hier mal der Auszug der erwarteten Namen und Ordner für die Gleistypen aus einer britischen Gleismod:

    Es wurde dabei nichts extra angepasst. Es reicht also völlig, einfach die Bilderchen an der entsprechenden Stelle abzulegen.

  • Yoshi gut, überzeugt :thumbup: Dann funktioniert das mit der default-Location besser als ich erwartet hätte und es ist wirklich nur nerviges Gefummel alle Bilder zu erstellen.

  • alle Bilder zu erstellen

    Ich bin kein Modder und sage jetzt evtl. etwas sehr Dummes: das Problem mit den lila Quadraten ist doch nur beim Bahnhofsbau. Im normalen Gleisbaumenü sind doch alle Bilder da. Also müssten die TGAs doch irgendwo in einem Mod-Ordner sein. Zumindest nach meinem Verständnis...

  • Ja sind sie auch aber halt mit falschem Namen, die müssen dupliziert, verkleinert und umbenannt werden und dann hat man immer noch das problem das man noch welche mit catenary braucht.

  • Beim Laden wird intern der Standardpfad fürs icon erstellt: track.icon="ui/tracks/meingleis.tga"

    Daher sollte die if Bedingung immer erfüllt sein.


    Das Ug script fügt einfach "_module"/"_catenary" daran und erwartet, dass da die icons liegen, also in res\textures\ui\tracks\.

    Der Witz dabei ist, in dem Ordner liegen gar nicht die Vanilla-Module, die sind in ui\construction\station\rail\modular_station, warum auch immer.


    Wenn man eine schnelle Lösung will, könnte man auch folgendes testen:

    Die Zeilen in der funktion der base_mod einfach auskommentieren, sodass das icon gleich dem Gleisicon ist. Nachteil: catenary würde dann gleich aussehen.

    Code
    mod.description.icon = string.gsub(mod.description.icon, ".tga", "")
    mod.description.icon = mod.description.icon .. "_module" .. (catenary and "_catenary" or "") .. ".tga"
BlueBrixx