Beiträge von eis_os

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 schlimme ist halt, wenn man sich bestimmte Sachen in CommonAPI2 anschaut,

    die Entwicklungszeit zum Ziel absurd hoch ist (weil UG Sachen nicht Umsetzen möchte).


    Die Umsetzung dann gerade lächerlich klein ist.

    Und der Support Code an das Ziel zu kommen dann 99% der Arbeit ausmacht.


    Beispiel, ich hab ewig versucht mit Bordmitteln die Daten der Lane Configuration für geschlossene Lanes (Rotphase) in eine Konstruktion zu speichern,

    Im Endeffekt hab ich nun Code um Konstuktionsskripte .script auszuführen, das musste ich mir erst mühsam in 2 Monaten mit Vorwissen erarbeiten, wie das funktioniert...

    https://commonapi2.bytetransfe…?id=constructionextradesc



    ConstructionAddon hat dann gerade mal 1000 Zeilen, so ca. 200 Zeilen beschäftigten sich wirklich um ein Node auf gesperrt zuschalten, damit zum Beispiel die Klappbrücke funktioniert.

    Hätte ich Platz in einer eigenen Entity Komponente und Scripte aufrufen, oder ein bisl Platz im ConstructionBuilder, oweia wäre das Produktiv ...

    Da wären wir schon bei TPF4 oder einem Tram DLC...


    Bestimme Sachen liefen noch in TPF1, Animationen starten via API, das wurde aber fallen gelassen. (Es gibt triftige Gründe, aber CommonAPI2 baut was vergleichbares wieder ein)

    Ggf. hat man sogar weniger Optionen in nachfolgenden Versionen von TPF also...




    Um das mal mit dem Code zu veranschaulichen, sobald der Script Code mir die edges herauswirft, die den Verkehr der Brücke anhalten soll, wird der Code hier aufgerufen:



    Feature komplett, mit Modding Support...


    Der luaTPF::access_context::addKey Circus mache ich um brauchbare Fehlermeldungen zu erstellen,

    wenn ich das weglasse, könnte ich noch Code streichen...


    PS: Der Code ist auf meinem eigenen Mist in der Freizeit entstanden, Namen für APIs oder Klassen sind an TPF2 angelehnt, aber sind mein eigener Code der ggf. TPF2 Code aufruft.

    Ich habe meine eigenen C++ Header für den ganzen Kram, daher ist die Umsetzung quasi C++ Code ohne Klassen Support.



    Zurück zum Thema:

    Bessere API wünsche ich mir, brauchbare API Bindungen auch. Städte und Hausbau? Mindestens 20% des Proposal für Konstruktionen in TPF2 könnt Ihr gar nicht sehen...

    Für das Feature kann ich auch (O)TTD(Patch) spielen... Bzw. das hab ich vor 20 Jahren schon, und da waren Ölplattformen am besten mit Zug anzubinden, Schiffe waren erst mit meinen Kanal und Schiffshebewerken wirklich brauchbar... Und ja, Wasserwege und dann über Höhenstufen in Transport Tycoon sind eine Idee und Umsetzung von mir. *



    Und das mit den Trams, nun ja das ist ja keine Raketenwissenschaft. Auch wenn man den c++ Code hat, und nicht ne Assemblersuppe.

    Der Renderer für die ganzen Straßenfeatures fehlt halt, Rasengleise? Verschiedene Oberleitungsmodelle?

    Wobei UG hier viel mehr Möglichkeiten hätte und nicht wieder alles in einen Gleistyp zwängen müsste, aber mein Feedback geht ja nach /dev/null


    Und sagt mir nicht, das geht nicht. CommonAPI2 zeigt doch ganz genau, dass das alles möglich ist.



    Wenn man sich den Banner anschaut, sieht man nichts neues, das CommonAPI2 nicht schon für TPF2 anbietet.


    https://gamingbolt.com/wp-cont…nsport-fever-3-banner.jpg


    Ggf. sehen wir da halt ne Änderungen der Nodeverbindungen und Trams in der Mitte der Straße. Ganz Toll...


    Alles was in Trailern angedeutet wird, nehme ich nicht ernst, bevor ich das nicht selber ausprobieren kann.




    * Und einen Prototypen für Schiffskanäle in TPF2 hätte ich auch... Da andere Features auch nicht so doll angenommen werden, ist die Zeit nur nicht wirklich gut investiert und daher lasse ich es...

    Neue Version 20250625


    Hallo


    Seit der letzten stabile Version, gibt es für ConstructionAddon nun anhaltende Fahrzeuge für transportNetwork in Konstruktionen:

    Eine Modding Dokumentation findet Ihr unter https://commonapi2.bytetransfe…modding/ConstructionAddon

    Ihr könnt es in eure eigenen Mods einbauen.




    Es gab einen Bugfix bezüglich Speicherfreigabe beim entladen eine Spielstands bzw. GameState. Ich empfehle dringend ein Update zu machen


    Der Inspector kann nun auch terminal Nodes anzeigen, auch gibt es nun Einblick in transport::Runway (das UG wieder mal versäumt hat an LUA zu binden)

    Umgestellt sind die Anzeige der Markierungen auf CoLine. (Dies führt zu erheblich besseren Darstellung der Node Positionen)


    Viel Spaß



    New Version 20250625


    With ConstructionAddon it's now possible to have Constructions with stopping road traffic via lua in transportNetworks.

    A modding documentation can be found under unter https://commonapi2.bytetransfe…modding/ConstructionAddon


    There was an important bug fix, a memory leak when unloading a running gamestate. A upgrade is highly recommend.


    The inspect window now shows terminal nodes and transport::Runway.

    The display of map highlights are now managed via CoLine, this will result in better displaying of nodes)


    Have fun



    Changelog:

    1.9.20250625

    - inspect window: use available CoLine rendering (supports z height, smaller lines)

    - inspect window: show information for transport::Runway

    - inspect window: show information about station terminal nodes

    - add transport::Runway and lua interface

    - CoLine: CoLineManager: add mutex

    - CoLine: fix segment > 40.0f not drawn correctly

    - ConstructionAddon: set to default enabled

    - remove setting newanimations, replaced by ConstructionAddon

    - internal: fix several gcc warnings after toolchain update, set noexecstack


    1.9.20250606-dev

    - Bugfix: Fix missing call to GameState::Engine::Deconstructor in Hook, should fix memory problems when loading a additional savegames

    - FlexStreets: fix TramTrackData binding messed up in ug console after reload

    - NewCommands: rename src to CommonAPI2Cmd, use name for cmd type

    - internal: add access to ScriptRep .script files

    - ConstructionAddon: add @@ani2-closeopen variant

    - ConstructionAddon: for @@ani2-* state and timing support accessing construction parameter [a-zA-Z+] as source

    - ConstructionAddon: support boolean operation for state in @@ani2-*

    - ConstructionAddon: add ConstructionExtraRep and ConstructionExtraDesc

    - ConstructionAddon: new feature to lock/unlock transportNetwork ports (halting street vehicles) via ConstructionExtraDesc -> laneConfigFn

    - ConstructionAddon: CommonAPI2Cmd setConstructionParams now public api





    Da Antiviren Software gerade die DLL entfernt weil es das Spiel modifiziert (ja das ist ja Idee dahinter) gibt es nun ein Password:

    schlangenoel



    As antivirus do mark the DLL file as modifying games, well yes, that is the whole intention, there is now a password:

    schlangenoel




    Downloads:

    >>> CommonAPI2 Download

    >>> Streetpackage Download

    >>> Tram Tracks Download

    >>> Font pack

    Echte Stadtgebäude können nicht via Proposal noch via game.interface.upgradeConstruction geändert werden.


    parcel_util::BuildingDesc ist ein Teil von construction_builder_util::Proposal und ist aus der UG API nicht nutzbar...


    Darin ist die TownId, die Parcels (Grundstücksparzellen der Straße ) und weitere Daten, die für einen Umbau oder Neubau wichtig sind.

    Hat das Modell für die Lanes auch { "BUS", "TRUCK" } und nein zum Anschauen hab ich keine Zeit...

    Lanes haben keine Einbahnstraße, aber Autos können in der falschen Richtung spawnen..

    (Straßen haben eine Richtung, ggf falsch)


    Erstmal, eine Durchfahrt ohne Anhalten mit ggf. Waypoints provozieren. Funktioniert das?

    20250511 ist die erste mit Versionsnummer via Ressource Daten, welche Bedrohung soll es denn gefunden haben?

    Wenn es als Cheat Tool angezeigt wird, nunja, ja meine DLL ändert das Spiel, das ist der Sinn der ganzen Sache...

    Bitte benutze "Dateianhänge" und nicht die Zwischenablage. Sprich ich kann dein Problem nicht sehen.

    stdout.txt bitte auch anhängen..


    Eine Neuinstallation des Spiels via Steam ist nicht zielführend...

    Bitte beachtet, die Klappbrücke funktioniert in der jetzigen Form ohne CommonAPI2. PKWs halten dabei nicht an. Ein Depot und Schiff übernimmt die Animationssteuerung...


    Ich arbeite an einer Version, die dann mit CommonAPI2 Funktionen läuft. Sobald ich fertig bin, muss melectro noch mal drüber schauen und sein ok geben.

    CommonAPI2 20250606-dev


    Es gab ein Speicherleck beim beenden/neuladen eines Spielstands, dies ist nun behoben.

    Des weiteren hat der Animationssupport in ConstructionAddon nun die Möglichkeit erhalten, auf die Parameter der Konstruktion zuzugreifen.


    Mit einem weiteren neuen Feature CommonAPI2Cmd setConstructionParams ist es dann möglich diese Parameter via game_script zu ändern und damit erstmals in TPF2 freie Animationen in Konstruktionen zu steuern. Hierbei wird wirklich nur die Parameter geändert und es wird kein kompletter Neubau veranlasst.


    Darüber hinaus ist es nun erstmals möglich transport Edges von Modellen wie bei Bahnübergängen oder Ampeln zu sperren, so das Autos, Trams und Passagiere warten.


    Modder können sich damit Kreativ austoben, Beispiele wären: Brücken mit wartenden Verkehr, Baustellen mit funktionierenden Ampeln usw.

    Wenn Ihr eine Idee habt, lasst es mich wissen, ggf. kann ich die nötigen Scriptanpassung für eure Idee beisteuern.


    Eine technische Dokumentation findet Ihr in https://commonapi2.bytetransfe…modding/ConstructionAddon


    Eine Machbarkeitsstudie mit der Klappbrücke von melectro (Ohne Depot, mit haltenden Fahrzeugen)



    1.9.20250606-dev

    - Bugfix: Fix missing call to GameState::Engine::Deconstructor in Hook, should fix memory problems when loading additional savegames

    - FlexStreets: fix TramTrackData binding messed up in ug console after reload

    - NewCommands: rename src to CommonAPI2Cmd, use name for cmd type

    - internal: add access to ScriptRep .script files

    - ConstructionAddon: add @@ani2-closeopen variant

    - ConstructionAddon: for @@ani2-* state and timing support accessing construction parameter [a-zA-Z+] as source

    - ConstructionAddon: support boolean operation for state in @@ani2-*

    - ConstructionAddon: add ConstructionExtraRep and ConstructionExtraDesc

    - ConstructionAddon: new feature to lock/unlock transportNetwork ports (halting street vehicles) via ConstructionExtraDesc -> laneConfigFn

    - ConstructionAddon: CommonAPI2Cmd setConstructionParams now public api



    -edit-

    Wichtiger Hinweis: Die Dll geht davon aus das ConstructionAddon aus ist, daher müsst Ihr zwingend eine settings.lua im Fenster Einstellungen speichern.

    Note: The dll thinks ConstructionAddon is default disabled, the settings window doesn't, so it's important to save the settings once to write a settings.lua for CommonAPI2

    CommonAPI2 mal komplett entfernen und testen, da gibt es mehrere Probleme in anderen Mods, es kann dann irgendwann mal sein, das zu viel schiefgeht.
    Es könnte ggf. dann doch noch ein Crash Report mit mehr Informationen herauskommen.


    jag_trafohaeuser_1 scheint schon im init abzustürzen weil snowballs powerline mod nicht aktiv ist. Das könnte das Mod Management durcheinanderbringen.


    Welche Fehlermeldung wird angezeigt? An error occurred oder etwas anderes?

    Meinst du die Schranken Assets mit Animationen?


    Der AssetBuilder ist in der Con Datei, brauchst da die Tabelle nur erweitern, also noch einen Eintrag wie:


    Code: res/construction/asset/eis_os_streetpackage_asset_builder.con
        {
            name = "Crossing EU C half barrier large",
            {
                id = "railroad/crossing/eu_c_barrier_large.mdl",
                transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, },
            },
            anicon = true,
            animation = { "-1", "-1", "@@ani2-openclose" }
        },


    Wenn du selbst Konstruktionen erweitern möchtest,

    für das animierte Modell muss ein result.labelText gesetzt werden:
    result.labelText[  idxInResulModels ] = { "-1", "-1", "@@ani2-openclose" }


    Wenn CommonAPI2 bei einem labelText eines Modells ein { "-1", "-1", "@@ani2-openclose" } einen Eintrag findet, wird es versuchen einen Animationsstatus herauszufinden.


    Für die UI zur Auswahl ist die CommonAPI2 zuständig, diese wird erscheinen, wenn es einen UI Parameter mit key: _aniSRCSupport gibt

    Ich fürchte das der Cinematic Trailer leider zu viel "veranschaulicht" das gar nicht in das Spielsystem passt.

    Gerade die große Kreuzung (Effizienzsteigerung) mit Tramstreifen passt so überhaupt nicht in das TransportFever Engine System. (Anschneiden der Kurve, Ampel System, Fahrbahnmarkierung usw.)

    (Vergleicht man das mit TF3_as_06_4k.jpg aus dem Pressekit, kann das TPF2 mit CommonAPI2 auch schon und damit liegt TPF3 dann viel näher bei TPF2 als Evolution)


    TPF2 hat leider das interne Problem das Straßen keine unterschiedlichen Fahrbahnbreiten unterstützen (Die Schnittstelle dafür ist vorhanden, also hoffen kann man ja).

    Damit könnte man ggf. Fahrradwege und Fahrrad streifen anbieten, die könnten ähnlich wie Busspuren funktionieren, wenn nicht vorhanden, wird die normale Fahrbahn genutzt...


    Mal schauen, noch ein paar Tricks hab ich für TPF2 um daraus TPF2 1/3 zumachen ;)

    Ich kopiere mal den Lösungsvorschlag aus den Kommentaren nach hier:


    -Anfang-
    Gordon Dry
    26. Juni 202

    easybronko

    In RTP-Roads_2\res\config\street\05_spezial\05_busstrasse_vierspurig.lua in Zeile 67 wird verwiesen auf:

    Code

    Code
    name = "street/streetlane_beton.mtl",

    Ich denke, es sollte so sein:

    Code

    Code
    name = "street/rtp_streetlane_beton.mtl",


    -Ende-


    Du kannst auch einfach

    res/models/material/street/rtp_streetlane_beton.mtl

    nach

    res/models/material/street/streetlane_beton.mtl

    kopieren.


    Nicht sehr schön, aber die einfachste Variante ohne lua Dateien zu editieren...

    Wie Ihr schon bemerkt habt, ist im Font Paket nur die Alte DIN für alle Epochen eingetragen.


    Da ich angesprochen wurde, ja ich möchte da eigentlich auch die abgewandelten / modernen Varianten anbieten.

    Da wir ja hier sehr viele detailverbliebe Mitglieder haben, könnt Ihr vielleicht bei der Auswahl der passenden Schriften helfen.


    Etwas Lesestoff zum Thema:

    https://fontwerk.com/de/text/neue-din



    Gesucht wird also eine Schrift mit offener Lizenz (OFL) Also nichts von Adobe oder Linotype ...


    https://www.peter-wiegel.de/Din1451-H.html Hierbei handelt es sich nicht um die übliche Verkehrsschrift, (laut Seite)

    https://online-fonts.com/fonts/udin-1451-mittelschrift (Scheint eine Weiterentwicklung aus einer Wiegel Schrift zu sein)


    https://github.com/openstreetm…9/tree/master/fonts/D-Din bzw. https://github.com/playbeing/dinish/ könnte ein Kandidat sein...


    Die DB nutzt wohl auch Ihre eigene DIN Variante ||


    https://xkcd.com/927/


    Vielleicht hab Ihr eine Idee was ich also anbieten soll.