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


    OT:

    MacOS, dafür braucht man einen Apple System + Xcode + Dev Account usw.

    Hätte Apple kompatible Hardware zugelassen, sehe die Welt vielleicht heute anders aus. (Solche Ideen gab es ja mal)


    Auch beruflich - Apple torpediert Reparaturen - ist für mich das Thema durch. Ich mach das schon sehr lange... hab selbst auch schon Apple Hardware genutzt, G3 Notebooks, hab es mit x86 nochmals versucht. Hab dafür Service angeboten...


    Mein Tooling ist auf Linux und Windows ausgerichtet, wenn es ein Problem gibt, kann ich dann auch helfen.


    Um alles also noch zeitlich in einem Rahmen zu halten, bleibt es bei Applikationen für Linux und Windows.


    Beachte CommonAPI2 Linux und Windows haben 99% die selben Features, aber im Endeffekt sind es zwei Entwicklungen, und ich portiere da Sachen immer hin und her. Die Grundidee ist die selbe, der Ablauf auch, die Patches sind unterschiedlich... für dreimal Arbeit fehlt mir die Zeit... (und wenn, würde ich das trotzdem nicht mehr machen, noch nicht mal wenn du mir das Bezahlen wolltest)

    Es gibt zwei Möglichkeiten, erstens "Schließen" des Menüs, dann kannst du mit AltGr-C wieder öffnen.

    Zweite Möglichkeit, rendermode steht auf 2. Dieses unterbindet die Änderung des Tastaturhooks und die Änderungen beim Rendern, dies kann durch Ändern der Einstellungen via API Knopf oder FailbackUI im Hauptmenü des Spiels geändert werden (speichern nicht vergessen und neu starten). Dann ist das Menü aber auch nicht im Ladebildschirm vorhanden.


    There are two ways to disable the menu. First one is closing it. Then you can use AltGr (right alt)-C to open it.

    The second way, changing rendermode to 2, this disables any changes on the rendering and won't install any keyboard hook. The only way is to go to settings (either via api button or failbackui), changing rendermode to 1, restarting the whole game. With rendermode 2 you won't see the commonapi menu at game main screen...

    CommonAPI2 beinhaltet einen ModManager!?!


    CommonAPI2 macht das übergreifend für die Modwerkstatt und hier für das Forum.


    Und archiviert auch vorherige Versionen vor der Installation, erlaubt einem die Wahl welche Version man installiert, kann Abhängigkeiten anzeigen und läuft auf Linux und Windows...


    CommonAPI2 liest JSON Daten, es steht jedem frei eine URL anzubieten damit Nutzer Mods herunterladen können.


    Sorry aber langsam wird es Absurd...

    Nur weil Ihr die CommonAPI2 nicht gut findet, wird sie komplett ignoriert.


    Ich hab da einen nicht unerheblichen Teil Zeit investiert damit das funktioniert...


    Und ob ein ModManager in einer DLL steckt oder als exe Datei ausgeliefert wird ist auch wurscht...


    Des weiteren hab ich die Forumsoftware erweitert und es gibt eine Liste von aktualisierten Einträgen:


    https://www.transportfever.net/filebase/updated-entry-list/


    -edit-


    Wenn Ihr so scharf auf eine externe Anwendung seit, ich kann den ModManager der CommonAPI2 auch in eine eigenständige Applikation überführen.

    Da das wieder Zeit und noch mehr Supportanfragen bedeuten würde, wäre ich dann aber geneigt diese Entwicklung vergüten zu lassen... Sprich mit Lizenz und dann auch EMail Support...

    Die Karte bleibt ladbar.

    Alle Gleise werden leider als nicht elektrifiziert erkannt.


    UG hat an 3 Codestellen leider

    etram = (tramTrackType == 2) drin.


    CommonAPI ändert das in ein größer gleich Test, damit bleiben dann aber im Gegensatz zu Nodes die Einstellungen im Spielstand erhalten und ich brauch keine Overlays.


    -edit2-

    Technisch könnte man sich ein Script schreiben alle Street Edges abklappern und nach >=2 suchen und diese einmal Neubauen...


    -edit3-

    Technisch sind Con Dateien mit eigenen Lanes keine Hauptstraßenverbindungen und es werden auch keine echten Stadtgebäude dran gebaut.

    Ja, es wird halt möglich dann TramTracks zu laden, eine config Datei sieht dann in etwa so aus:


    - Abschnitte ohne Oberleitung (intern ist es aber elektrifiziert, dann kann man mit ATS ggf. seine Leitungen bauen)

    - Abschnitte mit Oberleitung ohne Gleise ( O Bus Linie )

    - Abschnitte mit Oberleitung ohne Masten

    - Für alle Straßentypen, ohne explosion von Straßentypen


    Wendehammer funktionieren mittlerweile auch richtig.

    Das dedizierte Oberleitungstool hat nun mittlerweile auch die Liste mit Tram Gleisen, aber alle Versuche das Gleis zum richtigen Typ zu wechseln scheitern. || Irgendwo hat da UG noch was eingebaut...
    (Der Zauberstab zum ändern von Straßen funktioniert)

    Da ja hier nicht wirklich was neues in der letzten Zeit war,

    das ist so ne Sache die auch Zeit frisst:


    Eigene ladbare TramTracks.



    Ich hoffe WernerK nimmt mir es nicht übel, das ich zum testen mir ein paar Normalspur Texturen geborgt habe :)

    Dieses Feature hat in den letzten 14 Tagen große Fortschritte gemacht und eigentlich fehlen da "nur" noch die Sackgassen, viel testen und feinschliff.


    Und ja, man kann bis zu 30 TramTracks aus eigene config Dateien laden. :)


    Fehlende Sachen:

    - Sackgassen

    - Sortierung bei Kreuzungen. Da wird wohl noch ein Integer Wert kommen.

    - Konstruktionen -> keine Ahnung wie ich das ermögliche. Eigentlich sollte es möglich sein...

    - Tool zum Elektrifizieren kann nur ja/nein, sollte aber auch die TramTracks erlauben

    -


    Nicht möglich:

    Eine Kreuzung mit verschiedenen Typen. Vielleicht baut uns ja jemand ein Dreischienen bzw. Vierschienen Gleis.

    Auch wenn ich mittlerweile sehr viele Teile des Straßencodes geändert habe, hab ich den Rendercode für Kreuzungen kaum angepasst. (Es werden nur die Texturen anders angesprochen und der Oberleitungscode abgeschaltet und dann später durch CommonAPI2 aufgerufen



    Bekannte Probleme:

    - Die UI muss auf tt]experimentalTunnelAndBridgeMinHeight[/tt] gesetzt werden, Der UI Code besteht aus einer Tonnen von Callback Objekten, das war mit das schwierigste.
    Eine UI reicht mir zu bearbeiten :)

    Well, CommonAPI2 can't find the right byte code in the exe / memory of your game, that is very odd.

    Did you do some system restore or mod management lately?


    Please ensure to have no TPF2 version remaining in Taskmanager and then reinstall CommonAPI2 1.8.20240129:


    Backup eis_os_commonapi2_1 folder. Unzip the new version, copy settings.lua from backup to eis_os_commonapi2_1.

    Please follow this exactly so we know you have a fresh copy of CommonAPI2Native.dll and not some old version.


    Ensure you have no old CommonAPI2Native.dll somewhere in TPF2 Folders.

    Da das Straßenpaket auch als Rückfallebene dienen soll möchte ich so wenig extra Zeugs rein packen. Default Masten als Assets zu setzen bringt aber keine schönen Ergebnisse.


    Das UG keine großen Antrieb hat, den Code zu ändern, kann ich verstehen.

    Es ist für mich immer noch eine Blackbox. Versuche die Mast Positionscode von außen zu ändern scheitern. (Ich will eigentlich einen Doppelausleger in die Mitte meiner Grünstreifen haben).


    Das Asset Feature wäre eigentlich Interessant wenn man das auch randomisieren könnte und sagen wir mal zufällig einen Einspeisepunkt oder ähnliches dran pappen könnte. Aber an der Stelle des Code gibt es keinen direkten Zugriff auf Daten der Straße.


    Irgendwann wird mir das vielleicht auch zu blöde und Bau uns da eine LUA Interface ein, so das bei der Mesh Erstellung LUA Code für das Mast setzen genutzt wird. Sprich man bekommt die Straße und kann dann ne Mdl Liste und eine Liste für die Linen zurückgeben. Dann kann sich jeder austoben und hat ggf auch bessere Ideen als ich oder UG ;)

    Schön wäre es da natürlich auch endlich Oberleitungstyp und Straßentyp zu trennen. Da war ich bis jetzt bei Gleisen aber noch nicht so sehr erfolgreich.


    Anderseits, dann kommt UG mit TPF3 um die Ecke das absolut nicht kompatibel ist. Das ist mir ja bei Animationscode bei TPF1 zu TPF2 passiert... ;(


    Da stehe ich wieder mit mit meinem Ideen und bin geneigt mich in einem eigenen Spiel auszutoben...

    Entferne mal "adding archive C:/Program Files (x86)/Steam/userdata/1539006311/1066780/local/mods/kaleut_br_1440_1/strings.lua.zip"

    Sonst mal ohne CommonAPI2 probieren, erklären kann ich mir nicht das der Texturspeicher voll sein soll... Ggf. mal mit weniger Mods probieren...

    Du kannst den Namen der Gruppe frei setzen (a-zA-Z0-9_), und Modelle deiner Wahl verwenden.


    Code
    assetsCommonAPI = {   
         ["simrolle_baueme"] = {  ...  },
         ["simrolle_moebel"] = {  ...  },


    Sprich dir steht es frei jedes MDL zu nutzen, nur mit halt einer Menge weiteren Optionen gegenüber UGs Methode.
    Der Unterschied ist, das es sich random ein Teil aus der entries Liste heraussucht.
    Damit wird es dann halt möglich zu sagen, an der exakten Position gibt es einen Baum aus der Liste dieser Bäume. Damit meine Straßen nicht so total eintönig aussehen, kann man halt die mdls auch noch in der Größe ändern, und verschieben lassen. So Straßenbäume sind ja nicht alle gleichförmig...



    Beschreibung:

    https://commonapi2.bytetransfe…treets?id=assetscommonapi

    Ja, nein, vielleicht. Ein paar Builds der CommonAPI können die Masten abschalten. Bei der Linux Version ist das nicht möglich und wie Werner mir gesagt hat, würde es auch mit Unsichtbaren Masten gut funktionieren. Masten ändern geht via catenary Block von UG sowieso.


    Leider fehlt der Teil in der Inhaltsangabe im UG WIKI rechts, kommt aber unter dem Material Block:

    Suche einfach nach asset/tram_pole.mdl


    https://www.transportfever2.co…cksstreets#base_materials

    UG verschweigt, das man dann noch assets dran basteln kann. Auch da gibt is irgendwo in den config Dateien ein Beispiel, das sieht dann so aus:

    poleDoubleCrossbar = {

    name = "asset/tram_pole_double_crossbar.mdl",

    assets = { "asset/tram_pole_light.mdl" }

    },


    Man kann die Testerei meinerseits sogar auskommentiert in der Datei "eisos_town_medium_parking_tram.lua" sehen.

    Dort gibt es dann catenaryFlagsCommonAPI disableCatenaryPoles bzw. catpole1 und catpole2 als Asset als Ersatz. Richtig schön war das Ergebnis aber nie.


    Ich müsste dann aber selber eigene Poles bauen und ich mag definitiv keine 3D Modelling.

    ch hab das schon 20 Jahre versucht und es war immer nur eine unliebsame träge Tätigkeit , da skizziere ich lieber nen Mast auf einen echten Stück Papier mit Bleistift und Lineal bevor ich ein 3D Programm starte ;)


    Und zum Thema eigenes Spiel, bringt mich da bitte nicht auf dumme Gedanken....


    Mir schwirren da schon seit geraumer Zeit ein paar Ideen durch den Kopf. Ohne schöne Modelle würde es nicht sehr toll aussehen.

    TrainFever->TransportFever2 ist da Fluch und Segen zu gleich, ich kann mit meinen Mitteln da Sachen einbauen die die Entwickler nicht wollen.

    Sprich hab dann halt Zugriff auf ein fertiges Spiel mit Modellen zum erweitern.

    Sachen wie die Limitierung der Engine an ein paar Stellen, sind halt <X Auch kann ich zwar vielen Code lesen, aber nicht alle wieder in sinnvoll zurückübersetzten.


    Mittlerweile ist es mir möglich echte Stadtgebäude zu bauen, aber dafür ne UI zu bauen ist ein Albtraum.

    Nun kann ich ne Industriekonstruktionscursor aktivieren mit eigenen Daten, aber kurioserweise kann ich damit keinen Bus oder Bahn Stationen bauen, und Stadtgebäude sind versetzt zur Cursorposition. Das war dann ne Sackgasse bei der Entwicklung der CommonAPI. Idealerweise wäre da auch ein copy&paste Cursor daraus entstanden... (Ja, ja, ich kenne den vorhandenen Mod)


    Auf meiner Todolist ist für das Straßenpaket halt ne Stadtstraße mit ungerade Anzahl von Fahrstreifen für Linksabbieger. Bis jetzt finde ich aber die Verbindungen zwischen Straßen nicht schön genug...

    Da sind noch so ungelöste Probleme, wie ungerade Anzahl Lanes verbinden, verschiedene Straßen usw...

    Technisch kann zwar TPF2 verschiedene Breite Fahrstreifen definieren, dies ist aber später im Code nicht vorgesehen. D.h. Lanes würden sich bei Kreuzungen nicht verbinden und andere Probleme. Eine Stadtstraße mit schmalen Grünstreifen ist auf meiner Todoliste

    Zusätzlich habe ich mich mit der Performance auseinandergesetzt. So werden aktuell nur noch Züge, welche sich in einem gewissen Radius vom Spieler befinden, ausgewertet. Das hat der Performance schon spürbar geholfen. Jedoch funktioniert das aktuell auch nur in der Hauptansicht. Heisst Züge, welche man sich durch extra Fenster einblenden lässt und sich ausserhalb des Radius befinden, werden aktuell nicht von der Signalauswertung erfasst. Werde schauen, dass ich dafür aber auch noch eine Lösung finde.

    Hmm, du müsstest ein BoundingBox Punkt eines Zuges bzw. des ersten Fahrzeugs zu rate ziehen können ob ein Zug in der Nähe des Signals ist? Warum ist das UI Abhängig? :/

    Könnt Ihr mal bitte aufhören an jeder Ecke alles schlecht zu machen, und den Wiki Eintrag mal komplett durchlesen, da steht es doch drin:

    2.1 Eigene Fahrzeugmodelle nachrüsten (Beispiel Code):

    Sobald LINE_DESTINATION eingeschaltet ist, funktioniert in labelList type = "LINE_DESTINATION", ohne CommonAPI2 gibt es einen Ladefehler, daher müsst Ihr eine Code Weiche einbauen:


    Siehe dazu auch: https://www.transportfever2.co…ourcetypes:mdl#label_list


    In eurer mdl Datei direkt hinter function data() einfügen:

    Code

    Code
    local labelType = "NEXT_STOP"
    if (commonapi ~= nil and commonapi.supports and commonapi.supports("LINE_DESTINATION")) then labelType = "LINE_DESTINATION"
    end

    Danach könnt Ihr in der labelList

    Code

    Code
    type = "LINE_NAME",

    durch

    Code

    Code
    type = labelType,

    ersetzten.


    Code ist da, steht direkt darunter inkl Anleitung...


    Alternative Mods zum automatischen Ändern der Fahrzeuge gibt es auch, es gibt auch noch das Ganze als Englische Anleitung hier:

    https://commonapi2.bytetransfer.de/#/modding/LabelTypes


    Und es wird auch in der Doku auch nach

    Verbesserte Linienbezeichnungen  verlinkt...