Deutsches Simutransforum

Normale Version: Züge werden beim Wenden im Bahnhof versetzt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Die unterschiedliche Anordnung kommt durch das Zeichensytem. Fahrzeuge müssen immer die Kachel vor ihnen komplett freihalten, sonst gibt es Zeichenfehler. Das geht eigentlich nur bis Länge=8 immer gut und fällt bis Länge=10 kaum auf.

Daraus folgt sofort, dass ein Fahrzeug nach vorne links/rechts auf dem Anfang einer Kachel startet, während ein Fahrzeug nach hinten mit dem ganzen Wagen am norderen Rand der Kachel nicht überstehen darf => startet in der Mitte der Kachel. Richtet man die Fahrzeuge anders aus (pak128.japan) dann gibt es eben massive Grafikfehler auf Brücken, in Tunnels und auf Schrägen.
Zitat:Original von prissi
Nein, da die Bahnhöfe in zwei Richtungen sieben Schritte länger sind (schon seit Urzeiten übrigens). Damit der Zug optisch vorne im Bahnhof anhält.

Einleuchtender wäre es, wenn die Bahnhöfe nicht länger, sondern (für einen halten wollenden Zug) kürzer wären (man vergleiche mit Halt vor einem Signal in gleicher Richtung); wenn dann der Zug gewendet wird und es zusätzlich noch zu einer Art Rundungsfehler kommt (Fahrzeuglänge mit geradem Wert), hätte der Zug, wenn er beim Wenden "von hinten her" neu zusammengestellt wird, und dies nicht ganz vom Kachelende her, sondern von einer Position sieben Schritte weiter in der Mitte, vorne zuwenig Platz und muss auf das nächste Feld vor dem Bahnhof ausweichen (unter Missachtung sämtlicher Blockreservationen).

Man müsste die Bahnhofverkürzung beim Wenden also wieder irgendwie herausrechnen bzw. den Zug vor dem Wenden die verkürzte Strecke rechnerisch ohne Anzeige im Spiel abfahren lassen, damit der gewendete Zug wieder im Bahnhof Platz hat.
simconvoi.cc Zeile 1421 neu:
Code:
                train_length += fahr[anz_vehikel-1]->gib_besch()->get_length()-1; //-1 is needed to avoid first vehicle being placed outside the station

Wenn nichts dagegen spricht oder sich niemand vorgenommen hat, den ganzen Bereich neu zu programmieren, wäre ich dafür, dass diese Änderung in ein Nightly Aufnahme finden würde - wohlwissend, dass das auch nur Kosmetik ist. immerhin entfernt sie das Springen auf ein Feld ausserhalb des Bahnhofs.
Das führt bei mir mit korrekt ausgerichteten Fahrzeugen in pak64 zum Springen. Finde ich also nicht gut.
Zeile 1048 in simvehikel.cc gleichzeitig so ändern
Code:
            steps_next = steps_next*10/16;
dann konnte ich gar kein Springen mehr feststellen, es sei denn, die BR185 im pak64 sei nicht korrekt ausgerichtet. 10/16 ist die Strecke in Fahrzeuglängen, die auf der letzten Kachel zurückgelegt werden muss, damit die Züge optisch aber - dreidimensional gedacht - wirklich genau auf der Kachelkante halten.

Du testest auf Windows, prissi?
DIe 185 ist vermutlich nicht wirklich ausgerichtet. Ausgerichte sind der Schienebus, und alle anderen Fahrzeugen mit vier Ansichten. Weiß ich aber im Moment selber nicht, wie es um die 185 steht.

Und ich arbeite auf WIndows, aber das soltle egal sein.
Kein Springen auch mit dem Schienenbus und so verändertem Code.
Ich glaube, dass man das "Springen" beim Wenden im allgemeinen Fall nicht verhindern kann.


Betrachten wird den Fall, dass die Konvoi-Länge nicht ohne Rest durch 8 teilbar ist. Dann kann beim Wenden ohne Springen, die Lok nicht korrekt an einer Kachelkante oder -mitte gesetzt werden, ohne dass sich das Ende des Konvois verschiebt.

Ich bin mir nicht sicher, da ich den Programmcode nicht im Detail kenne, aber ich glaube im Moment wird davon ausgegangen, dass bei Start eines Konvois dessen Spitze an einer Kachelkante sitzt.

Vielleicht kann das prissi bestätigen (oder widerlegen).

PS:
m.E. ist das Wenden mit Versatz kein wirklicher Fehler, weil es ja so in Wirklichkeit kaum vorkommt. Bei Zügen müßte ja die Lok umgesetzt werden, wenn nicht Schiebebetrieb angesagt ist. Hier wird aber der ganze Konvoi gedreht (So etwas ist ja eigentlich nur in einer Wendeschleife möglich und nicht am Bahnsteig). Also lass ich meine Phantasie spielen und unterstelle, dass die "Umgesetzte Lok" am anderen Zugende steht. In so einem Fall ist auch in Realität ein "Versatz" festzustellen. Wink
So sieht es mit meinem Code unter Linux aus - es nähme mich schaurig wunder, wie mein Code unter Windows GDI aussieht.
(Stimmt die Schablone für die Ausrichtung dieses Fahrzeugs in E-W-Richtung wirklich?)
Und noch eine Frage, die mich nicht loslässt: Warum muss Richtung Süden die Anhaltestrecke nicht auch um 1 Fahrzeug-Längeneinheit (1/16 Kachel) verkürzt werden? Symmetrieüberlegungen würden dies eigentlich nötig machen...?
Seiten: 1 2