Dwachs / simutrans-scenarios

Repository for scenario development for simutrans.
2 stars 1 forks source link

missing is_crossing by tile_x #15

Closed Andarix closed 1 year ago

Andarix commented 1 year ago

classtile__x.html

Dwachs commented 1 year ago

Du willst abfragen, ob da ein Kreuzungsobjekt liegt? Brauchst du noch mehr Informationen ueber die Kreuzung (max-Geschwindigkeit) ?

Andarix commented 1 year ago

Die erweiterten Infos bekommt man ja über find_object.

Hier geht es nur darum, ob man auf dem Tile einen Abzweig bauen kann oder nicht. Also True und False reichen als Rückgabe. Ist ja bei den anderen Abfragen auch so.

if ( nexttile[i-way_len].get_slope() == 0 && !nexttile[i-way_len].is_bridge() && nexttile[i-way_len].find_object(mo_crossing) == null ) { Würde halt den Umweg über find_object ersparen.

PS

Ok, has_two_ways() liefert das ja.

Wobei 2 Wege nicht unbedingt heist, das sie sich rechtwinkelig kreuzen. Stolperstein Namensgebung.

Straße mit Straßenbahn bzw. Straße mit erhöhtem Weg jeweils in gleicher Ausrichtung.

Dwachs commented 1 year ago

wenn es nur um die Abfrage geht, ob gebaut werden darf, dann sollte das mit is_allowed_step schon moeglich sein.

Andarix commented 1 year ago

wenn es nur um die Abfrage geht, ob gebaut werden darf, dann sollte das mit is_allowed_step schon moeglich sein.

Das sieht nicht so aus, das ich das einfach so aufrufen kann.

An dieser Stelle kenne ich die Nachbarfelder noch nicht. Müsste also erst dazu gebaut werden.

Das andere ist, is_allowed_step ist dann true, wenn das passende Slope vorhanden ist. Das wäre aber Kontraproduktiv. Denn dann gebe es nur 3 Möglichkeiten für true (eben, Hang in Baurichtung hoch/runter).

Das nächste Problem wäre dann noch, wenn zufällig bereits ein Gleis des gleichen Spielers dort liegt. Dann geht das bauen auch, ist aber hier unerwünscht, weil es sich um das Startfeld einer Ausweichstelle handelt.

Dwachs commented 1 year ago

is_crossing ist jetzt implementiert:

https://github.com/aburch/simutrans/commit/e08462eed0c76f071fa39f6b7fb971c305c18a51

Andarix commented 1 year ago

danke