CommonAPI2

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the Transport-Fever Community

  • Hallo,


    eine neue Testversion, trotz intensiver Suche nach einer Möglichkeit gibt es leider immer noch keinen Fortschritt, zumindest sollte das getTextRes Problem nun nicht mehr auftauchen.



    Hello
    There is a new testversion, I did invest a lot of time but there is still no progress. Atleast the getTextRes Bug should be fixed.
    To all users, if you post stdout.txt, please use the board attachment function, adding stdout.txt. Please don't post it in the normal text, or only the relevant part. Thank you.



    1.1.20191215-dev
    - native: add syncing data between lua states code via lua-marshal
    - replace translate2 with own version checking if getTextRes exists
    - add syncing between repositories (currently not working)
    - disable hooking (crashes game)
    - don't try to load CommonAPI2Native.so (unfinished)


    CommonAPI2

  • https://www.transportfever.net/index.php/User/36029-Drei69/
    This is causing the game to crash when I start the game up:


    error: error: res/scripts/mod.lua:148: attempt to call global 'getTextRes' (a boolean value)
    stack traceback:
    [C](-1): getTextRes
    res/scripts/mod.lua(148): ?
    ...commonapi2_1/res/scripts/commonapi2\ui\ModListWindow.lua(17): ?
    [C](-1): require
    ...s_commonapi2_1/res/scripts/commonapi2\ui\modsettings.lua(9): ?
    [C](-1): require
    mods/eis_os_commonapi2_1/res/scripts/commonapi2\init.lua(209): _init
    mods/eis_os_commonapi2_1/strings.lua(126): ?

  • Hallo an alle da draußen,


    ich bitte euch Urban Games nicht mit Fehlerdumps zu nerven, die CommonAPI2 Fehler enthalten.


    Es bringt auch nichts wenn CommonAPI2 ein Fragment nicht findet, sich bei Urban Games zu beschweren.
    Das Ende wird sein, das Sie technische Maßnahmen gegen die CommonAPI2 einbauen müssen, damit Ihr Support Kanal nicht durcheinander kommt.


    Ich entschuldige mich hier öffentlich bei Urban Games und @tomdotio für etwaige Mehrarbeit oder Probleme.


  • Neue CommonAPI2 20191221

    • Modlisten Import & Export
    • Weniger Debug Output
    • settings.lua von Mods editieren
    • funktioniert mit Windows Steam Version 27954
    • Neue Fehlermeldung mit mehr Infos wenn ein Fragment Probleme macht. (UG nicht nerven, Abbildung zeigt Linux Variante)


    CommonAPI2:
    CommonAPI2


    Gleise:
    Gleispaket mit 750mm 1000mm für TPF2


    Bahnhof Adapter:
    CommonAPI2 - Modulare Bahnhofsadapter



    ----
    Bekannte Bugs:

    • Abhängigkeiten werden beim Laden falsch sortiert. Daher Fehlermeldungen zur Ladereihenfolge (wird mit 20191222 behoben)
  • Hallo,


    nun gibt es die 20191223 Version.


    Mit 27600 Steam Windows getestet. Technisch sollte das Problem mit der Modlisten Abhängigkeitenbehoben sein.


    Des weiteren gibt es nun auch wieder den CrashDebugger:
    Ihr habt einen Crash von einem Mod, wisst aber leider die Datei nicht?


    TPF2 starten -> CommonAPI -> Einstellungen -> Install CrashDebug. (muss bei jedem starten neu aktiviert werden)
    Dann einfach euer Savegame laden und warten bis sich das Spiel beendet.


    Ihr bekommt in der stdout.txt bei einem Crash mit Assert Fehler nun die letzten 20 Dateien von der CommonAPI ausgegeben.


    commonapi.uiparameter und preloading gehen nicht. Aber die Modliste wird nun durch CommonAPI2Native.dll an alle Threads weitergeben...


    Die Linux Version crasht leider immer noch zu 25%, daher leider immer noch keine Version. Ich tippe auf einen Thread Race...



    Was gibt es noch neues? Die Modlisten Fenster ist nun etwas größer...


    1.1.20191223-dev

    • don't run ui code in TPF lua states
    • use native shared data to find currently loaded mods
    • resize ModListWindow, split column settings and deps
    • uiparameter.modify*, don't replace ui element if selectionlist is passed and result would be empty
    • fix native: CGame::CGame Hook needs to fake modlist state variable so sorting will work correctly and deps can be resolved correct
    • native: give shared data own locking, should fix deadlocks
    • native: CrashDebugger: port file tracing and enable menu CrashDebugger again
    • native: Update Dear ImGui to 1.73


    -edit-
    Bekannte Bugs:
    Fehlt ein Mod, kommt es zu einem Absturz mit einer ModRep Fehlermeldung...

  • Ich hoffe, das ist okay, das ich das hier auch her stelle. Denke mal, hier wird mehr gelesen. Wenn nicht, bitte löschen.


    Ansonsten wollt ich hier allen, die es sonst noch nicht gesehen haben, mal mitteilen, dass alle 4 meiner Gleis-/Oberleitungssets nun Gleismodule für Bahnhöfe bekommen haben, zu finden natürlich in meiner Webdisk.


    An dieser Stelle möchte ich mich nochmal bei eis_os für seinen unermüdlichen Einsatz, seine harte Arbeit und die CommonAPI2 bedanken, ohne diese dies im Moment nicht möglich wäre.


    Vielen Dank!


    Und allen noch weiter schöne Feiertage und viel Spaß.


    Grüße, Alex

  • Version 20191225


    Der Fehler mit nicht vorhanden SteamMods, die zu einem Crash führen sollte behoben sein.
    commonapi.uiparameter funktioniert wieder. Es werden wieder alle Gleise vorgeladen. Zurzeit hängt dieses zwingend an nativen Teil.


    Getestet ist es mit der GOG und Steam Windows Version.



    Des weiteren gibt es nun den passenden Depot Adapter.



    1.1.20191225-dev
    - add new syncing code using native, sync repositories
    - do preloading via native ui code until lua only variant is found
    - enable uiparameter module, use combobox for entries
    - native: fix crash with not found mod in modlist code (ModRep::GetModDir crash)




    CommonAPI2:
    CommonAPI2



    Gleise:
    Gleispaket mit 750mm 1000mm für TPF2



    Bahnhof Adapter:
    CommonAPI2 - Modulare Bahnhofsadapter


    Depot Adapter
    CommonAPI2 - Train depot adapter


    Frohe Festtage und viel Spaß

  • Files

    • stdout.txt

      (797.38 kB, downloaded 13 times, last: )

    Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 128 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GF100GL [Quadro 6000] (6GB GDDR5, 384 bit), SAS Hardware RAID Level 1
    Linux version 4.12.14-lp151.28.36-default ([email protected]) (gcc version 7.4.1 20190905 [gcc-7-branch revision 275407] (SUSE Linux) ) #1 SMP Fri Dec 6 13:50:27 UTC 2019 (8f4a495)

  • Guten Morgen, ich hätte da einen Bug gefunden.
    Bei den Einstellungen werden die Übersetzungen aus der strings.lua nicht angezeigt. Es stehen nur die Variablen da. Mit dem TPFMM wird alles korrekt angezeigt, die mod.lua stimmt also.


    Edit: Hat sich erledigt.
    Das nimmt er:
    name = _("vehicle_mc_geac6000_up_ba_name"),
    Wenn man nur
    name = ("vehicle_mc_geac6000_up_ba_name"),
    schreibt erkennt die commonapi es nicht. Dem TPFMM ist der _ egal er übersetzt es trotzdem. Hat das was mit lua zu tun?

  • @tsilaicosneknurd


    Da es noch keine native so gibt (crasht leider zu oft), da es auch sonst seitens UG keine Infos gibt, funktioniert preloaden noch nicht. Ich hoffe das wird sich bald ändern. Danke für den Report. Bei jedem dritten Start crasht mir noch die Modliste und es fehlen immer noch Fragmente. ;( Technisch sollte es aber keinen Crash mehr geben...


    @MaikC
    Die Funktion heißt _. () alleine ist jedenfalls keine Übersetzungsfunktion. Wenn das TPFMM auch akzeptiert, nunja richtig ist es eben nicht. (Es ist valider LUA Code, aber eben ohne echte Funktion). Kannst das gerne auch in der LUA Console ausprobieren...

  • Das Fenster kann mehr, zum Beispiel Abhängigkeiten anzeigen und auch darüber TPFMM starten bzw. Steam Link ... (Damit kann man testen ob alle Einträge korrekt sind)


    Wenn du in der UG Modliste ein anderes Savegame auswählst und dann die Mod Einstellungen (neu)öffnest, sind nur die im diesem Savegame geladenen Mods in der Liste.
    Es gibt aber keinen Autorefresh. (das wird wohl in der nächsten Release geändert, inkl. order für Einstellungen)


    Ich gebe zu, der Code ist nicht elegant, es ist sehr schwer überhaupt an UGs Daten zu kommen.
    CommonAPI2 errechnet bei jedem Frame einen Quersumme der List und vergleicht diese, um überhaupt ne Idee zu haben ob ein Spieler da ein Mod aktiviert oder deaktiviert hat


    Siehe dazu auch das Bild in CommonAPI2

  • Ja, ich arbeite auch 2020 noch an der CommonAPI2:


    Mal ein Zwischenstand:



    CommonAPI2 hat nun ein FileDialog. Zukünftig werden die Modlisten im Benutzerdatenverzeichnis von TPF2 abgelegt. Dies kann man nun auch über das Menü erreichen (Explorer wird gestartet)


    Die nächste Version wird auch direkt auch Funktionen manipulieren, damit der railroadCrossing Filter mods nicht mehr filtert. Auch wird der laneutils Fehler direkt beseitigt wenn es nötig ist.
    Preloading von Modulen wird es auch bald geben, so das der Modulare Adapter auch direkt zum Beispiel Schmalspur Stationen oder Stationen mit geringer Geschwindigkeit bauen kann.


    Weil es dazu schon Fragen gibt:


    Sponsoring von Funktionalitäten


    Ihr werdet bald die Möglichkeit erhalten, Arbeitsleistung gegen Spenden zu erhalten.
    (Meinen Unmut über die jetzige Situation habe ich schon in anderen Forenteilen kund getan)


    Die meisten Funktionen für TPF1 sind auf eigenen Wunsch entstanden, oder weil ich über etwas interessantes gestolpert bin.
    Unter anderem steht auf meiner Liste zur Zeit zur Auswahl:

    • Funktion um Gleistypenlisten anzulegen und zu verwalten,
      die CommonAPI2 als Filter nutzt für Gleisparameter in Konstruktionen:

      • Es gibt Fenster mit allen geladenen Gleisen/Gleismodulen,
        dir ihr einzeln zuschalten könnt.
      • Kategorien für Konstruktionsgleisparameter




    • Screenshots ohne CommonAPI2 Menü
    • Steigung und Gleisradien beeinflussen wie in TPF1
    • Modulare Bahnhöfe abspeichern in einer Datei und per Modularen Bahnhofsadapter neu bauen

    Wie das Sponsoring im Detail funktionieren soll, bin ich ehrlicherweise noch am Überlegen.




    Ich weiß das wir gerne alles frei und kostenlos haben wollen,aber der Support für Spielfehler Debugging meinerseits übersteigt zeitlich bei weiten meine eigentliche Bastelzeit für die CommonAPI2. Auch werden immer wieder Spielfehler der CommonAPI2 angekreidet, ein kleiner Nutzer Test hätte genügt um dieses auszuschließen (Abschalten der CommonAPI2) aber meine Arbeit wird immer unter Generalverdacht gestellt.

  • Mit unendlicher Steigung würde eine Seilbahn, Zahnradbahnen etc ermöglicht werden und hätte damit einen gameplaytechnischen Aspekt und nicht nur Komfort.


    Ich finde es generell auch schwierig mit der Anerkennung, da die API nicht für Nutzer sondern Modder ist. Die Modder müssten da auch etwas versuchen die Leistung der CommonAPI hervorzuheben.


    Gewisse Trolle motzen unter jedem erdenklichen Webdiskeintrag dass der Mod ja nicht nutzbar wäre und sich der Sinn nicht erschließen würde, da muss man auch drüber hinweg sehen.


    Ich denke die Modder wissen deine Leistung auf jeden Fall zu schätzen :)



    Schade dass Ug das nicht tut.




    Ich denke es wäre sinnvoll eine Umfrage unter Moddern + Nutzern zu machen ob diese die Funktionen überhaupt nutzen würden.
    Wenn es nämlich keiner einbindet oder nutzt ist auch blöd. Die Gleismodule nutzen nämlich einige Modder aber leider Nutzer weniger als gedacht :|

  • Modulare Bahnhöfe abspeichern in einer Datei und per Modularen Bahnhofsadapter neu bauen

    wieviel spende dafür und für eine funktionierende linuxversion, auch kompatible mit etwas älterer glibc ;-) ?

    Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 128 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GF100GL [Quadro 6000] (6GB GDDR5, 384 bit), SAS Hardware RAID Level 1
    Linux version 4.12.14-lp151.28.36-default ([email protected]) (gcc version 7.4.1 20190905 [gcc-7-branch revision 275407] (SUSE Linux) ) #1 SMP Fri Dec 6 13:50:27 UTC 2019 (8f4a495)