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


    Angehängt ist eine Windows Development Version:


    Erstmal ist eine ganze Menge noch nicht wirklich genutzter Code zu CommonAPI2 dazugekommen;


    Die Idee ist, anstatt X Gleistypen zu erstellen um X Oberleitungen zu haben, das man das CommonAPI2 Regionen nutzen kann um die Oberleitung in dieser Region durch neue Oberleitungen zu ersetzen.

    Mit flexstreetstracks lädt dann neue Oberleitungstypen unter res\capi_config\catenarytrack, funktioniert daher analog zu anderen TPF2 configs. Es gibt sogar volle api.res Unterstützung.


    Eigentlich sollte das Feature schon längst fertig sein. Alle Vorplanung und Test zum trotz erhält der Renderer von Gleisen leider keine Daten aus der Edge sondern Daten aus BaseParallelStripe.

    Darin dann die Daten zu verfrachten, ist leider sehr schwer. Außerdem hab ich noch nicht herausgefunden wie TPF2 da die parallelen Gleise wirklich errechnet.

    Sprich es sucht sich den schnellsten Gleistypen, um zum Beispiel die Abstände der Masten zu errechnen.


    Kann sein daher das dieses Feature auch nicht final in eine stabile CommonAPI2 Version schafft..



    Ein weiteres Feature was ich heute komplettiert habe ist der neue labelType STOP_LINES. (Siehe meinen Beitrag vom 18.2.2024 weiter oben)

    Damit kann kann man nun die Namen einer Linie bei Station anzeigen lassen.




    Via params kann nun auch die terminalId angeben werden. Sprich dieses ermöglicht die Auswahl des Terminals in einer Konstruktionen. Ihr könnt euren Sims nun Wegweiser zu den Abfahrtsstellen spendieren... Vielleicht verlaufen sie sich dann weniger und fragen weniger bei Simoggle nach dem Weg ;)


    Da ich keine Stationen mit passenden labelList Texte dafür zum Testen habe, tja ohne Test.


    Es gibt dafür natürlich auch ne Dokumentation:

    https://commonapi2.bytetransfe…/LabelTypes?id=stop_lines


    Und ja alle drei Funktionen müssen in der CommonAPI2 eingeschaltet werden.


    Auf der Todo Liste steht da auch noch den Text in Linienfarbe anzuzeigen, das ist aber ein anderes Thema. Mit viel Arbeit wäre das wohl auch möglich...

    Technisch sind auch noch Fahrgastinformationssystem auf den Plan. Ohne Konstruktionen neu zu bauen bzw. den Namen ständig zu ändern.


    STATION_NAME ist auch in der Dokumentationen, da streetTerminals keine Stationsnamen in meinen Test angezeigt haben, mit FlexStreets geht es nun aber..


    1.8.20240303-dev

    - Windows only dev version

    - LabelSystem: add terminalId to labelType STOP_LINES

    - FlexStreets: add setting flexstreetstracks to toggle train track catenary patches, track region and CatenaryTrackRep code

    - add note about experimental status of flexstreetstracks

    - remove note about experimental status of simperson patch


    1.8.20240222-dev

    - Windows only dev version

    - nodedata: fix playerOwned lost when using region and nodedata editor

    - inspect window: add copy function for eventtrace

    - LabelSystem: add STOP_LINES support (requires linedestination, flexstreets and newevents)

    - FlexStreets: set streetTerminals ModelInstanceList transformer to ConstructionTransformator (14), to support STATION_NAME

    - add commonapi.supports("STOP_LINES")

    - add new internal code to support CatenaryTrack Repositories (currently mostly disabled)

    - add api.res.commonapi.catenaryTrackRep interface

    - internal: Simplify Region_ConnectorContext_Data, store catenaryTypeId

    Nun gibt es eine neue stabile Version in der Webdisk:


    1.60
    - add new stop with sign 224, secondary lane (eis_os_bustramstop_zeichen224_halt3)
    - change strings in eis_os_bustramstop_zeichen224*



    Es gibt nun eine neue Haltestelle, diese könnt Ihr nutzen für Straßen mit Parkstreifen:

    There is a new street stop to support streets with parking lane:

    Wie immer gibt der gelbe Punkt die relative Lage des Haltepunktes an.

    As with the other stops, the yellow dot shows the vehicle stop position.


    Wer der Entwicklung nicht gefolgt ist, es gibt nun Straßen in verschiedenen Breiten Spuren (3,2m 3,5m und 4m) und auch Straßen mit Parkstreifen.

    Diese gibt es nun auch nur Einseitig, mit Straßenbahngleisen und auch in 2 Fahrstreifen pro Richtung...


    Download wie immer unter: (Download here:)

    eis_os Strassenpaket - Strassen mit Rasengleis & Mitteltram -



    Wenn Ihr keine zwei Haltestellen hintereinander bauen möchtet um die inneren Gleise und einen Bus zu bedienen, gibt es von melectro: noch Haltestellen Konstruktionen:

    Bus/Tram Haltestelle "Tram in der Mitte"

    Jubordo

    Please add commonapi2 to the mod list of your savegame. Check if FlexStreets is enabled.

    Technical there is some fundamental problem in your savegame. Did it crash while building a construction?


    WARNING: eis_os_streetpackage: Failback mode active, is commonapi2 not loaded or FlexStreets disabled?


    melectro Did you test your station construction with CommonAPI2 disabled too?

    Note: I am not responsible for the station construction, so my testing covered only the streetpackage


    EMP:


    Das musst du mir genauer erklären. Durchgehender Asphalt gibt es in 3,2m als Connector in der Allee Kategorie:

    Ich werde da keine weiteren Straßenbreiten anbieten, es sind jetzt schon ein Anzahl von Breiten die ich gerne hätte vermieden...

    Im Straßenpaket gibt es eine normale Haltestelle nur für die Mitte zum selbst dekorieren. (Besteht nur aus einem Haltestellen Schild und einem Fahrkartenautomaten, damit man was zu klicken hat)



    Wenn es um die Bodentextur geht, du kannst dafür die Variante mit Asphalt nehmen (Allee Connector).

    Nun gibt es auch Straßenbahngleise für die große Straße mit Parkstreifen.

    Bitte beachten: Ihr könnt zurzeit keine Haltestelle für diese Straße bauen .

    Please note: It's not possible to create a stop for these streets.


    1.57

    - add eisos_town_large35_parking_tram and eisos_town_large35_parkingoneside_tram

    - change all middle tram curbs to have same size

    - add eisos_town_large35_parking* strings

    - change config type for all streets


    ---


    -edit-

    Gleich gibt es ne neue Version...

    Große c++ Projekte außerhalb bestehenden APIs sind auch nicht besser.


    LUA ist aber im Gegensatz zu anderen Sprachen extra kompakt und einfach aufgebaut.


    Zu beachten gilt noch, bzw. Stolpersteine von anderen Sprachen:

    LUA Array Index beginnt bei 1.

    Da TPF2 aber in C++ geschrieben ist, nutzt es halt 0, zum Beispiel bei API aufrufen oder wenn du zum Beispiel terminals baust.


    LUA Tabellen sind immer Referenzen. (ggf. bei komplexen Code wichtig, in seltenen Fällen braucht man ein deepcopy)


    Man muss sich entscheiden, wenn eine Tabelle ein Array sein soll, müssen die Keys 1..x fortlaufend sein. (ipairs läuft sonst nicht!)

    Man kann beides in eine LUA Tabelle stecken, da rate ich aber von ab.


    Dateinamen Plattformunabhängig gestalten:

    Daher keine Unicodezeichen oder Umlaute in Dateinamen verwenden und Groß und Kleinschreibung beachten. Linux, Mac Nutzer werden es dir danken.


    Um die Fehlersuche zu erleichtern, Dateinamen so gestalten, das man dich als Entwickler wieder finden kann. Damit vermeidet man dann auch Probleme von gleichen Dateinamen in verschiedenen Mods.

    Wer ein bisl Zeit investieren kann, hier ist eine neue Version des Straßenpakets:


    1.55

    - fix: sporadic crash with eisos_town_y_avenue*_middle_tram_connector, need to use already used mtl for laneConfigEndCapCommonAPI

    - add new eisos_town_y_large_avenue40* with laneWidth 4m

    - small German translation fixes because of laneWidths


    1.50

    - fix: eisos_town_large_trambus lane config

    - add new 4 lane parking street, eisos_town_large35_parking, laneWidth 3.5m

    - add new 4 lane one side parking street, eisos_town_large35_parking, laneWidth 3.5m

    - add new eisos_town_medium_parkingoneside, street with only one side parking

    - add new eisos_town_y_avenue35* with laneWidth 3.5m

    - add new eisos_town_y_avenue40* with laneWidth 4m

    - add new eisos_town_y_avenue*_middle_tram_connector asphalt street

    - add new eisos_town_y_large_avenue_middle_tram_connector asphalt street

    - show lane widths in icons


    Neue Straßen mit Parkplatz (auch nur an einer Seite) Zurzeit leider ohne Straßenbahn...



    Es gibt nun einen Connector: Sprich ne Straße mit Asphalt die an die Allee Straßen andocken. Kann man auch nutzen um Haltebereiche zu erstellen.


    Gibt es auch noch als Breite Variante, also mit 2 Fahrbahnen:


    Des weitere gibt es die Allee Straßen nun in 3,5m Breite und 4m Breite. Die Bürgersteige sind 3,8m damit TPF2 einen schönen Spurwechsel erzeugt.

    Auch haben die Straßen nun eine Breitenangabe. Also man kann sich nun die Breite aussuchen.


    Wegen akutem Zeitmangels bitte ich um reichlich Testen und Feedback damit ich die Version dann in der Webdisk hier hochladen kann.

    Ein paar Sachen haben es leider nicht in die Release geschafft. Sprich eine Straße mit Busspur anstatt des Parkstreifens gibt es leider (noch) nicht.


    Auch sind Straßen mit einer geraden und ungeraden Anzahl von Fahrstreifen zwar in Planung, aber noch nicht mal gestartet...

    flo12

    Nur nochmal zum Verständnis. Du willst 2 Fahrspuren pro Seite an den Enden, und die Haltestelle hat dann auch 2 Fahrspuren?

    Oder 2 Fahrspuren gehen in die Konstruktion, und der Haltestellenbereich hat dann 3 Fahrspuren pro Seite:


    Variante A:

    [2 Fahrspuren + Baumreihe + 2 Gleise + Baumreihe + 2 Fahrspuren] -> [2 Fahrspuren mit Haltepunkt + Baumreihe + 2 Gleise + Baumreihe + 2 Fahrspuren mit Haltepunkt] -> [2 Fahrspuren + Baumreihe + 2 Gleise + Baumreihe + 2 Fahrspuren]


    oder


    Variante B:

    [2 Fahrspuren + Baumreihe + 2 Gleise + Baumreihe + 2 Fahrspuren] -> [3 Fahrspuren mit Haltepunkt + Baumreihe + 2 Gleise + Baumreihe + 3 Fahrspuren mit Haltepunkt] -> [2 Fahrspuren + Baumreihe + 2 Gleise + Baumreihe + 2 Fahrspuren]

    Nunja, es gib da mehrere mögliche größen:

    eis_os_streetpackage/eisos_town_medium_p2.lua lanesize:4

    eis_os_streetpackage/eisos_town_medium_tram.lua lanesize:4

    eis_os_streetpackage/eisos_town_x_large_tram1.lua lanesize:4

    eis_os_streetpackage/eisos_town_x_large_tram1bus.lua lanesize:4

    eis_os_streetpackage/eisos_town_x_large_tram2.lua lanesize:4

    eis_os_streetpackage/eisos_town_x_large_tram2bus.lua lanesize:4

    eis_os_streetpackage/eisos_town_x_large_tram2bus.lua lanesize:4

    eis_os_streetpackage/eisos_town_y_avenue_middle_empty.lua lanesize:3.2000000476837

    eis_os_streetpackage/eisos_town_y_avenue_middle_tram.lua lanesize:3.2000000476837

    eis_os_streetpackage/eisos_town_y_avenue_middle_tram_halt.lua lanesize:3.2000000476837

    eis_os_streetpackage/eisos_town_y_avenue_middle_tram_side1.lua lanesize:3.2000000476837

    eis_os_streetpackage/eisos_town_y_large_avenue_middle_tram.lua lanesize:3.5

    eis_os_streetpackage/eisos_town_y_large_avenue_middle_tram_halt.lua lanesize:3.5

    eis_os_streetpackage/eisos_town_medium_parking.lua lanesize:3

    eis_os_streetpackage/eisos_town_medium_parking_tram.lua lanesize:3


    Sprich 3,2m 3,5m 4m und die parking haben gar 3m...

    Technisch wäre es mir lieber, das ich ne Breite y_avenue Variante anbiete. Da kann dann auch die B80 Stadtbahn besser durch.


    Was wollt Ihr denn lieber? Ne breitere Allee als jetzt, oder schmälere Straßen?

    Die Änderung des Edgesplit Code würde trotzdem für Mods keinen Unterschied machen. UG hat das mit der Einführung von Waypoints für alle Straßen Lanes dies schon mal geändert, deswegen musste kein Haltestellen Mod geändert werden.


    Und ich denke, ich kann mit guten Gewissen sagen, das ich einen sehr guten Überblick habe, wie das Straßensystem intern funktioniert. Die Ausnahme hierbei ist der Oberleitungsbau. 3D Vektor Mathe in XMM (SSE) Registern ist schwer zu dekodieren.


    Würde ich nicht auf Rückwärtskompatibilität achten, d.h. ohne CommonAPI2 ein Savegame laden wäre mir sogar ganz andere Sachen möglich


    Deswegen werden NodeDaten, RegionDaten oder ein TrackCatenaryRep als LUA Daten gespeichert und nicht im Binärteil mit einer neuen Savegame Version.


    Sprich es sieht vielleicht Doof aus, funktioniert nicht tolle, aber eure Savegames sind weiterhin Nutzbar.


    Es gibt ggf. manche Modder die Beratungsresistent sind oder die Auswirkungen unterschätzen. Bei jedem Feature gibt es eine Riskoanalyse. Im Zweifel werden Features nicht eingebaut oder sogar während der Entwicklung sogar wieder entfernt. (Falschfahrt beim NodeEditor)

    Nein, es gibt sehr viele Codestellen in UGs Code, die erwarten, das es genau zwei lanes mit transportMode = Person gibt und diese müssen sich auch außen befinden.


    Zum Beispiel

    - Berechnung der Straßenbreite

    - Fahrbahnmarkierungen

    - Darstellung der Bügersteige

    - Fahrtrichtungszuweisung der Lanes beim Laden.

    Straßen für Flugzeuge (Landebahnen usw.) sind ein Spezialfall.


    Der automatische Edgesplit und das Einfügen der Nodes an Haltestellen ist auch nicht einfach zu ändern. Daher kann man auch keine zwei Haltestellen und oder Wegpunkte auf einem Straßenstück kombinieren.

    Es ist nicht möglich zwei vehicleNodes an ein personNode zu hängen, also muss man die Straße trennen und zwei Haltestellen bauen.


    It is not possible to bind two vehicleNodes to a single personNode, so you have to create two Stops.