@@ -3067,8 +3067,6 @@ int stadt_t::orient_city_building(const koord k, const building_desc_t *h, koord
30673067 }
30683068
30693069 // if we arrive here, we have an asymmetric multitile building
3070- int rotation = -1 ;
3071-
30723070 int max_layout = h->get_all_layouts ()-1 ;
30733071 if (max_layout) {
30743072
@@ -3219,12 +3217,13 @@ bool stadt_t::check_ground_tile_for_house(grund_t *gr, sint8 zpos) const
32193217gebaeude_t * stadt_t::build_city_house (koord3d base_pos, const building_desc_t * h, uint8 rotation, uint32 cl, vector_tpl<const building_desc_t *> *exclude_desc)
32203218{
32213219 bool recalc_foundations = false ;;
3222- gebaeude_t * org = NULL ;
32233220
32243221 koord min_size (0 , 0 );
32253222 sint16 level = 1 ;
32263223 grund_t * gr = welt->lookup_kartenboden_nocheck (base_pos.get_2d ());
3227- if (org = gr->find <gebaeude_t >()) {
3224+ gebaeude_t * org = gr->find <gebaeude_t >();
3225+
3226+ if (org) {
32283227 min_size = org->get_tile ()->get_desc ()->get_size (org->get_tile ()->get_layout ());
32293228 level = org->get_tile ()->get_desc ()->get_level ();
32303229 }
@@ -3240,6 +3239,7 @@ gebaeude_t* stadt_t::build_city_house(koord3d base_pos, const building_desc_t* h
32403239 case building_desc_t ::city_res: won -= oldgb->get_tile ()->get_desc ()->get_level () * 10 ; break ;
32413240 case building_desc_t ::city_com: arb -= oldgb->get_tile ()->get_desc ()->get_level () * 20 ; break ;
32423241 case building_desc_t ::city_ind: arb -= oldgb->get_tile ()->get_desc ()->get_level () * 20 ; break ;
3242+ default : assert (false ); break ;
32433243 }
32443244 // exchange building; try to face it to street in front
32453245 oldgb->mark_images_dirty ();
@@ -3268,6 +3268,7 @@ gebaeude_t* stadt_t::build_city_house(koord3d base_pos, const building_desc_t* h
32683268 case building_desc_t ::city_res: won += h->get_level () * 10 ; break ;
32693269 case building_desc_t ::city_com: arb += h->get_level () * 20 ; break ;
32703270 case building_desc_t ::city_ind: arb += h->get_level () * 20 ; break ;
3271+ default : assert (false ); break ;
32713272 }
32723273 }
32733274 }
@@ -3302,33 +3303,38 @@ gebaeude_t* stadt_t::build_city_house(koord3d base_pos, const building_desc_t* h
33023303 grund_t * gr = welt->lookup_kartenboden_nocheck (kpos);
33033304 gebaeude_t * oldgb = gr->find <gebaeude_t >();
33043305 const building_desc_t * hr = NULL ;
3306+
33053307 switch (oldgb->get_tile ()->get_desc ()->get_type ()) {
3306- case building_desc_t ::city_res:
3307- won -= level * 10 ;
3308- hr = hausbauer_t::get_residential (level, welt->get_timeline_year_month (), welt->get_climate (kpos), cl, 1 , 1 , exclude_desc);
3309- won += hr->get_level ();
3310- break ;
3311- case building_desc_t ::city_com:
3312- arb -= level * 20 ;
3313- hr = hausbauer_t::get_commercial (level, welt->get_timeline_year_month (), welt->get_climate (kpos), cl, 1 , 1 , exclude_desc);
3314- arb += hr->get_level () * 20 ;
3315- break ;
3316- case building_desc_t ::city_ind:
3317- arb -= level * 20 ;
3318- hr = hausbauer_t::get_industrial (level, welt->get_timeline_year_month (), welt->get_climate (kpos), cl, 1 , 1 , exclude_desc);
3319- arb += hr->get_level () * 20 ;
3320- break ;
3308+ case building_desc_t ::city_res:
3309+ won -= level * 10 ;
3310+ hr = hausbauer_t::get_residential (level, welt->get_timeline_year_month (), welt->get_climate (kpos), cl, 1 , 1 , exclude_desc);
3311+ won += hr->get_level ();
3312+ break ;
3313+ case building_desc_t ::city_com:
3314+ arb -= level * 20 ;
3315+ hr = hausbauer_t::get_commercial (level, welt->get_timeline_year_month (), welt->get_climate (kpos), cl, 1 , 1 , exclude_desc);
3316+ arb += hr->get_level () * 20 ;
3317+ break ;
3318+ case building_desc_t ::city_ind:
3319+ arb -= level * 20 ;
3320+ hr = hausbauer_t::get_industrial (level, welt->get_timeline_year_month (), welt->get_climate (kpos), cl, 1 , 1 , exclude_desc);
3321+ arb += hr->get_level () * 20 ;
3322+ break ;
3323+
3324+ default :
3325+ assert (false );
3326+ break ;
33213327 }
33223328 // for now we just remove it to avoid half buildings left
33233329 exclude_desc->append (hr);
33243330 oldgb->set_tile (hr->get_tile (0 ), true );
33253331 gr->calc_image ();
33263332 update_gebaeude_from_stadt (oldgb);
33273333 switch (hr->get_type ()) {
3328- case building_desc_t ::city_res: won += hr->get_level () * 10 ; break ;
3329- case building_desc_t ::city_com: arb += hr->get_level () * 20 ; break ;
3330- case building_desc_t ::city_ind: arb += hr->get_level () * 20 ; break ;
3331- default : break ;
3334+ case building_desc_t ::city_res: won += hr->get_level () * 10 ; break ;
3335+ case building_desc_t ::city_com: arb += hr->get_level () * 20 ; break ;
3336+ case building_desc_t ::city_ind: arb += hr->get_level () * 20 ; break ;
3337+ default : break ;
33323338 }
33333339 }
33343340 }
@@ -3447,7 +3453,6 @@ void stadt_t::renovate_city_building(gebaeude_t *gb)
34473453 }
34483454
34493455 const koord3d base_pos = gb->get_pos ();
3450- const koord min_size = gb_desc->get_size (gb->get_tile ()->get_layout ());
34513456
34523457 // Divide unemployed by 4, because it counts towards commercial and industrial,
34533458 // and both of those count 'double' for population relative to residential.
0 commit comments