Stadtwachstum Release vs Nightly R8788 - Druckversion +- Deutsches Simutransforum (https://simutrans-forum.de/mybb) +-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3) +--- Forum: Bugs und Probleme (https://simutrans-forum.de/mybb/forumdisplay.php?fid=11) +---- Forum: behobene Bugs (https://simutrans-forum.de/mybb/forumdisplay.php?fid=12) +---- Thema: Stadtwachstum Release vs Nightly R8788 (/showthread.php?tid=9029) |
Stadtwachstum Release vs Nightly R8788 - makie - 16-07-2019 Ich habe eine Stadt gebaut mit nur Level 1 Häuser. Wenn ich nun die Einwohnerzahl erhöhe, also die Stadt wachsen lasse werden neue Häuser gebaut oder die bestehenden renoviert. Im Release 120.4.1 werden die Häuser gegen Level 2 oder 3 getauscht. Im Nightly R8788 werden Häuser in den höchsten Levelstufen gebaut, in unserem Fall Level 45-58 Dieser Effekt tritt besonders ohne Epoche auf. RE: Stadtwachstum Release vs Nightly R8788 - Pumuckl999 - 16-07-2019 Genau das, was ich schon mal angesprochen hatte. Meine nightly ist aber eine andere. Glaub 8765 (im Büro kann ich gerade nicht zu Hause nachsehen ). Nach kurzer Zeit gibt´s dann fast nur noch Hochhäuser und die vielen Einwohner konzentrieren sich auf kleinster Fläche. RE: Stadtwachstum Release vs Nightly R8788 - makie - 16-07-2019 Deine Reklamation war Anlass für meinen Versuch das Problem einzukreisen. RE: Stadtwachstum Release vs Nightly R8788 - Leartin - 16-07-2019 Ich habe sowas auch schon beobachtet, auch mit Epochen. RE: Stadtwachstum Release vs Nightly R8788 - prissi - 17-07-2019 Das kann ich für pak64 nicht bestätgen. Gibt es vielleicht zuviel RES und zwenig COM oder vice versa, so dass der einzige Weg hohe COM oder RES leel sind? RE: Stadtwachstum Release vs Nightly R8788 - makie - 17-07-2019 Nein, es gibt reichlich aus allen Levelstufen und com, res und ind Das Verhalten der Programmversionen ist auch definitiv unterschiedlich. Aber möglicherweise muss mindestens ein Mehrkachelhaus vorhanden sein. Nein an den Mehrkachelhaus hängt es nicht. Im Pak64 das gleiche Verhalten, warum stehen in dem kleinen Dorf zwei res und ein com vom höchsten Level? RE: Stadtwachstum Release vs Nightly R8788 - Pumuckl999 - 17-07-2019 Wäre auch unlogisch - in der Vergangenheit gab es, mit weniger Stadtgebäuden in unserem Set, das Problem nicht. RE: Stadtwachstum Release vs Nightly R8788 - makie - 27-07-2019 Ich hab da etwas gefunden in bauer/hausbauer.cc Funktion get_city_building_from_list Zitat: if(thislevel>level) {Aus meiner Sicht ist das daneben. Weil die Abfrage findet in der FOR Schleife statt. Die Schleife sollte sich eigentlich durch alle Gebäude lesen und ein passendes suchen. Der If bricht die Schleife ab wenn etwas gefunden wurde oder erhöht den gesuchte Level wenn ein höherer gefunden wird. Das kann so nur funktionieren wenn die Gebäudeliste strikt nach Level sortiert ist. Die Routine ist alt und hat mit dem 3x3 Patch nichts zu tun. Die Frage ist warum das bisher einigermaßen funktioniert hat und jetzt entgleist. ok die Liste ist sortiert. trotzdem die Wahrscheinlichkeit ist groß das er nichts passendes findet und dann im Level hoch klettert. Eine Begrenzung auf maximal 6 Level Sprünge kann ich hier nicht sehen. Wenn er garnichts findet dann schlägt Zitat: if( desc->is_allowed_climate(cl) && desc->get_distribution_weight()>0 && desc->is_available(time) && desc->get_x()*desc->get_y()<=area && desc->get_x()*desc->get_y()>=minarea ) { zu. Das ist dann das letzte Gebäude in der Liste und damit weil sortiert immer das Level höchste. ------------------- Für was eigentlich die doppelt gemoppelte Abfrage also zuerst auf x*y prüfen und dann x und y einzeln? Zitat: if( desc->get_x()*desc->get_y()<=area && ( desc->get_x() <= maxsize.x || desc->get_y() <= maxsize.x ) ) {sollte das nicht if( desc->get_x()*desc->get_y()>=minarea heißen? ------- sollte das nicht Zitat:desc->get_y() <= maxsize.x nicht desc->get_y() <= maxsize.y heißen? RE: Stadtwachstum Release vs Nightly R8788 - makie - 28-07-2019 wenn man die ganze Routine so schreibt dann geht es Zitat:static const building_desc_t* get_city_building_from_list(const vector_tpl<const building_desc_t*>& list, int level, uint16 time, climate cl, uint32 clusters, koord minsize, koord maxsize ) aber ich bekomme schon wieder meine Allergie RE: Stadtwachstum Release vs Nightly R8788 - prissi - 28-07-2019 Das mit den Leveln sieht tatsächlich nach einem Fehler aus, der aber in den mesiten Paksets versteckt ist, weil dort die meisten Gebäude für alle Klimazonen sind, und daher immer was passendes gefunden wird. Der komische Test auf Größe liegt daher, dass es aszmmetrische Gebäude gibt, die nicht alle Rotationen haben, und asymmetrische Gebäude, die die falsche Rotation also Ausrichtung 0 haben, aber rotieren können. |