Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
r9007 Stadtgenerierung
#1
Die letzte Änderung am Stadtbauer hat wohl einen Fehler.

Es werden bei neuen Karten nur noch Level 1 Gebäude erstellt. Egal wie viele Einwohner die Stadt hat. Das führt zu sehr großflächigen Städten.
________________________________________

Die simuconf.tab im SVN ( 30.01.2020 - 26.959 Byte ) scheint sich auch zu Unterscheiden zu der im Nigthly enthaltenen ( 03.02.2020 - 26.223 Byte ) hier vom Forumsserver.
Script-KI für Simutrans r9151+
Zitieren
#2
Es liegt an dem neuen Parameter "preservation_year"


simcity.cc Zeile 3186
Zitat:    if(  welt->get_timeline_year_month() > gb_desc->no_renovation_month()  ) {
                 DBG_MESSAGE("stadt_t::renovate_city_building()", "no_renovation_month %i,%i  ", welt->get_timeline_year_month() , gb_desc->no_renovation_month());
        // this is a historic city building (as defiend by the pak set author), so do not renovate
        return;
    }


gb_desc->no_renovation_month() gibt eine 1 zurück warum auch immer, damit wird kein Haus renoviert
Wenn man das auskommentiert dann geht es.

building_reader.cc am Ende

Zitat:    if( version < 10 ) {
        // can always replace
        desc->preservation_year_month = DEFAULT_RETIRE_DATE*12;
    }

    DBG_DEBUG("building_reader_t::read_node()",
        "version=%d,"
        " btyp=%d,"
        " type=%d,"
        " price=%d,"
        " maintenance=%d,"
        " capacity=%d,"
        " level=%d,"
        " extra_data=%d,"
        " size.x=%d,"
        " size.y=%d,"
        " layouts=%d,"
        " enables=%x,"
        " flags=%d,"
        " chance=%d,"
        " climates=%X,"
        " metro=%d,"
        " anim=%d,"
        " intro=%d/%d,"
        " retire=%d/%d,"
        " preservation=%d,",
        version,
        btyp,
        desc->type,
        desc->price,
        desc->maintenance,
        desc->capacity,
        desc->level,
        desc->extra_data,
        desc->size.x,
        desc->size.y,
        desc->layouts,
        desc->enables,
        desc->flags,
        desc->distribution_weight,
        desc->allowed_climates,
        desc->allow_underground,
        desc->animation_time,
        (desc->intro_date%12)+1,
        desc->intro_date/12,
        (desc->retire_date%12)+1,
        desc->retire_date/12,
        desc->preservation_year_month
    );
speichert preservation=35988,

Damit bin ich mit meinem Latein am Ende.
Ich liebe C++
Zitieren
#3
In building_desc.h Zeile 249 steht "bool no_renovation_month() const { return preservation_year_month; }" <-- kanns daran liegen, weil preservation_year_month uint16 ist, kein bool? Oder ist das nur eine Kurzschreibweise?
Zitieren
#4
Jaja, das ist es. Vom umbenennen der Funktion wird der Typ natürlich nicht geändert. Asche auf men Haupt. Sollte mit r9008 wieder gehen.
Zitieren
#5
r9012

Stadtgenerierung funktioniert auf den ersten Blick wieder
Script-KI für Simutrans r9151+
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste