CommonAPI2 Entwicklungsdiskussion, Fragen & Antworten

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


  • Das werden wir sehen sobald eine testing Version von Urban Games freigegeben wird.

    Zumindest werde ich wohl diesmal nicht ein komplettes Renderbackend schreiben müssen. (Vulkan) Aber es gibt leider ja immer noch genügend andere Baustellen...

    Da der MS C++ meistens nicht so viel beim kompilieren gleichen Codes ändert, sollte es hoffentlich im vertretbaren Rahmen bleiben für die Windows Version.


    Alle Anfragen bezüglich eines Failback Paths für gewisse Altfunktionen bzw. Daten zwischen Lade Threads auszutauschen scheiterten bis jetzt aber. Auch Dateisystem Funktionen werden es wohl auch nicht geben. Ergo bleibt es wohl weiterhin bei der Nutzung der DLL und SO Library auch für Sachen wie die Modliste.

  • Hallo,

    leider ist mal wieder viel Zeit für kreative Workarounds drauf gegangen.


    Eine echte Hilfe oder Funktionen, die eine stabilere CommonAPI2 ermöglicht habe ich UG trotz aller Versuche nicht abringen können.


    Bestes Beispiel ist die UI Nutzung im Hauptmenü crasht das Spiel, ich habe nun den Fehler gefunden: LUA wird vor der UI entladen und das führt zum Crash.

    Mit kreativer LUA Metatable Programmierung entferne ich nun die UI Elemente. Das scheint bei mir nun sehr stabil zu laufen. Keine Crashs mehr in der Linux Version beim beenden!


    Auch habe ich ganz einfache Sachen wie game.config schreibar in postRunFn zu machen angefragt, aber auch so etwas ist nicht gewollt.


    Version 20210516 ist da


    Wenn die DLL oder SO Library nicht geladen wurde (native code funktioniert nicht) benutzt CommonAPI2 nun mehrere Dateien um Daten zwischen den LUA States zu transportieren,

    daher ist es nicht sinnvoll das Spiel mehrmals zu starten! Wenn die DLL läuft, wird das alles im Programmspeicher abgewickelt.


    Gleislisten werden nun sehr spät in der postRunFn nochmals übernommen und alle Parameter der Konstruktionen ggf. verändert.
    commonapi.uiparameter.modifyTrackCatenary verändert nun die uiliste teils dynamisch. (Man sieht es an einem (c) im ersten Eintrag)


    Damit sollte der ganze Krempel nun mit dynamischen Gleisen funktionieren, wenn jemand ein Mod kennt, das Gleise via postRunFn ändert oder hinzufügt, bitte ich um Tests.

    Den Ringlokschuppen mit Fix habe ich nun mit und ohne Dll, mit und ohne Debug Modus getestet und alles hat funktioniert.



    Ich bitte um Tests, da ich bald wieder Steam und reguläre Versionen anbieten möchte.

  • Halo.

    Ich habe mir deine Mod wieder hier geladen.

    Jetzt funktioniert sie einwandfrei.

    Ich kann sogar Updates durchführen, was mir vorher, warum auch immer, nicht gelang.

    Dazu mal eine Frage:

    Ich sehe die Mod schon beim Laden ins Hauptmenü und auch in diesem und im Spiel.

    Muss ich jetzt die Common API noch explizit im Modverzeichnis des Spielstandes auswählen, oder funktioniert sie Spiele übergreifend?

    Vorsorglich habe ich sie aktiviert.

    Ein Computer ist dazu da, die Probleme effizient und schnell zu lösen, die man ohne ihn gar nicht hätte.

  • Um Funktionen wie Gleis- und Strassenlisten oder Zugzielanzeigen zu nutzen, muss CommonAPI2 auch in Spielstand aktiv sein.


    Das Problem mit Mod Updates wegen unabhängigen Dateisystemen ( Laufwerksbuchstaben in Windows ) sollte mit der Version 20210425 beseitigt sein.(Fehler access denied)

  • Neue Version 20210607


    Bitte beachtet den Hinweis bei Einstellungen bezüglich Line Destination


    Download unter:

    CommonAPI2 - Neue Versionen und wichtige Informationen


    ---

    Das entfernen vom weißen Layer/Overlay bei Gleisgeschwindigkeiten funktioniert technisch nur mit der Ausnutzung einem Fehler des Spiels (man konnte das auch schon vorher erreichen mit X Klicks bzw. Umwegen).

    Daher ist es mir zurzeit nicht möglich das genauso zu Handhaben wir beim Fahrzeug und Linienmanager und eine Auswahl zu speichern.

    Einfach auf den rot hinterlegten Farbeimer klicken sollte aber trotzdem erheblich schneller gehen.

  • Beim Erstellen einer neuen Linie kann ich die Linienfarbe nicht ändern, das UI-Element fehlt jetzt:

    Im Linieneditor geht es.


    Vielleicht liegt es daran, dass ich nach Umstellen von layerview auf '2' erst mal Tpf2 neu starten muss - X/ - oder vielleicht auch nicht...


    Edit:

    Nach Neustart von Tpf2 - und Erscheinen der layerview buttons - fehlt immer noch das UI-Element für die Linienfarbe im Linienmanager.

    Einmal editiert, zuletzt von Gordon Dry ()

  • NEW_EVENTS:

    LKWs früher zurückfahren zu lassen, wenn diese ab einer Station leer sind.

    Siehe Warnung in der vorherigen Version:

    CommonAPI2 Entwicklungsdiskussion, Fragen & Antworten

    Ich arbeite da an neuen Events, es hat sich aber gezeigt, das ein zurücksetzen des Fahrzeugs in einer Linie auf die erste Haltestelle zumindest unter Linux zu einem Crash führen kann. Dafür war und ist das UI Addon der Dropdown Box um ein leeres Fahrzeug zur ersten Station schicken zu können.

    Ein Einfügen einer Dropdown Box führt zu einem Problem mit der Farbauswahl im Gegensatz zu einer Textbox und einer Checkbox für LINE_DESTINATION. Frag UG warum.


    Ich habe bei der letzten Version dazu um Feedback gefragt um herauszufinden ob es ein Linux oder ein allgemeines Problem ist. Da ich keine näheren Informationen bekommen habe, ist das setzen auf Anfang einer Linie im C++ Teil ausgeschaltet, aber restliche Teile für etwaige Entwicklungen noch vorhanden.

  • Mal Was zum aufmuntern:

    Bei mir läuft die neue Version einfach super.

    Vielen Dank dafür.

    Ein Computer ist dazu da, die Probleme effizient und schnell zu lösen, die man ohne ihn gar nicht hätte.

  • Ich scheine unter Linux ein kleines Problem mit der aktuellen Version zu haben:



    Der Crash passiert mehr oder weniger "zufällig" nach ca. 1/2 Stunde Spiel. Im stdout ist auch nix weiter als was im Dialog steht.

    Interessanterweise passiert dies nur, wen ich auf einer tropischen Karte Spiele, gemäßigte Karten machen kein Problem. Wüste hab ich (noch) nicht getestet.

  • Ich benötige eine stdout.txt nach so einem Crash bitte.


    Interessanter Fehler, denn das Buffer Resize scheint noch zu klappen, aber das binden via vkMapMemory geht nicht.

    Ist das Device vielleicht schon abhanden gekommen wegen zu wenig Arbeitsspeicher/Videospeicher?


    Weil ich kann mir eigentlich nicht vorstellen, das die Vertex Daten aus Imgui nicht mehr gemappt werden können, weil sie zu groß werden.



    Ich arbeite zwischenzeitlich auch noch an einer alternative, sprich es wird über kurz oder lang auch eine Möglichkeit geben CommonAPI2 ohne Render Hook zu benutzen.

    Aber UGs UI API macht mich einfach Wahnsinnig...

  • Ich benötige eine stdout.txt nach so einem Crash bitte.

    Kein Problem, lässt sich ja zuverlässig reproduzieren :) - https://gist.github.com/jinks/…f35eace8de3f0897e1bb3b21f


    Ist das Device vielleicht schon abhanden gekommen wegen zu wenig Arbeitsspeicher/Videospeicher?

    PC RAM ist 32GB und ca halb voll, VRAM ist 8GB, keine Ahnung wie der ausgelastet ist.


    Wie gesagt, mit den exakt gleichen settings und mods habe ich eine Temperate map (Huge/Experimental) für Stunden am Stück gespielt ohne Probleme, Tropic geht ca. 20-30 Minuten.

  • Hallo eis_os wollte gerade eine neue Folge aufnehmen und schon beim Start bekam ich 3 Fehlermeldungen! Gestern ging noch alles und habe auch keine anderen Mods in der Zeit hinzugefügt.


    Grafik-API ist Vulkan und habe Version 20210607 Spielversion 32019


    stdout: stdout.txt


    Ich habe gerade beim Steam-Client testing deaktiviert! Mit Version 31994 funktioniert es.

  • Hast du irgendwie eine alte Build von TPF2 und/oder CommonAPI2 gestartet?

    Das sieht aus als würde die Version überhaupt nicht passen zumindest findet CommonAPI2 verhältnismäßig einfache Dinge in der exe nicht mehr.


    Es kann sein, das es äußere Faktoren gibt, die verhindern das CommonAPI2 Speicherbereiche findet. Sollte es nochmals Auftreten, mal Windows komplett neu starten.

    (Shift Neustart klicken -> Windows starten um etwaiges Windows Schnellstart zu umgehen)

    Damit wird ASLR neu durchgeführt.


    Es muss aber schon am Fehlerpunkt ein Userprofil & LUA im Speicher gefunden haben, so ganz verstehe ich das dann ehrlich nicht, oder es gab schon vorherige Fehlermeldungen.

BlueBrixx