Index: simcity.cc =================================================================== --- simcity.cc (リビジョン 3199) +++ simcity.cc (作業コピー) @@ -1123,7 +1123,10 @@ slist_iterator_tpl fab_iter(welt->get_fab_list()); arbeiterziele.clear(); while (fab_iter.next()) { - add_factory_arbeiterziel(fab_iter.get_current()); + fabrik_t* fab = fab_iter.get_current(); + if( (fab->get_arbeiterziele().get_count() < welt->get_einstellungen()->get_factory_worker_minimum_towns() || koord_distance( fab->get_pos(), this->get_pos() ) < welt->get_einstellungen()->get_factory_worker_radius()) && fab->get_arbeiterziele().get_count()get_einstellungen()->get_factory_worker_maximum_towns() ) { + add_factory_arbeiterziel(fab); + } } DBG_MESSAGE("stadt_t::verbinde_fabriken()", "is connected with %i factories (sum_weight=%i).", arbeiterziele.get_count(), arbeiterziele.get_sum_weight()); } Index: simworld.cc =================================================================== --- simworld.cc (リビジョン 3199) +++ simworld.cc (作業コピー) @@ -4214,7 +4214,10 @@ for (weighted_vector_tpl::const_iterator i = stadt.begin(), end = stadt.end(); i != end; ++i) { // old versions did not save factory connections if(file->get_version()<99014) { + sint32 temp = get_einstellungen()->get_factory_worker_minimum_towns(); + get_einstellungen()->set_factory_worker_minimum_towns(0); (*i)->verbinde_fabriken(); + get_einstellungen()->set_factory_worker_minimum_towns(temp); } display_progress(x++, get_groesse_y() + 256 + stadt.get_count()); }