src/players.cpp
branchnoai
changeset 9625 3301b1b3889c
parent 9624 b71483f2330f
child 9626 79f2b5a0cdd7
equal deleted inserted replaced
9624:b71483f2330f 9625:3301b1b3889c
   470 
   470 
   471 	p->is_ai = is_ai;
   471 	p->is_ai = is_ai;
   472 	p->share_owners[0] = p->share_owners[1] = p->share_owners[2] = p->share_owners[3] = PLAYER_SPECTATOR;
   472 	p->share_owners[0] = p->share_owners[1] = p->share_owners[2] = p->share_owners[3] = PLAYER_SPECTATOR;
   473 
   473 
   474 	p->avail_railtypes = GetPlayerRailtypes(p->index);
   474 	p->avail_railtypes = GetPlayerRailtypes(p->index);
       
   475 	p->avail_roadtypes = GetPlayerRoadtypes(p->index);
   475 	p->inaugurated_year = _cur_year;
   476 	p->inaugurated_year = _cur_year;
   476 	p->face = ConvertFromOldPlayerFace(Random());
   477 	p->face = ConvertFromOldPlayerFace(Random());
   477 
   478 
   478 	/* Engine renewal settings */
   479 	/* Engine renewal settings */
   479 	p->engine_renew_list = NULL;
   480 	p->engine_renew_list = NULL;
   600 
   601 
   601 			if (rvi->railveh_type != RAILVEH_WAGON) {
   602 			if (rvi->railveh_type != RAILVEH_WAGON) {
   602 				assert(rvi->railtype < RAILTYPE_END);
   603 				assert(rvi->railtype < RAILTYPE_END);
   603 				SETBIT(rt, rvi->railtype);
   604 				SETBIT(rt, rvi->railtype);
   604 			}
   605 			}
       
   606 		}
       
   607 	}
       
   608 
       
   609 	return rt;
       
   610 }
       
   611 
       
   612 byte GetPlayerRoadtypes(PlayerID p)
       
   613 {
       
   614 	byte rt = 0;
       
   615 	EngineID i;
       
   616 
       
   617 	for (i = 0; i != TOTAL_NUM_ENGINES; i++) {
       
   618 		const Engine* e = GetEngine(i);
       
   619 		const EngineInfo *ei = EngInfo(i);
       
   620 
       
   621 		if (e->type == VEH_ROAD && HASBIT(ei->climates, _opt.landscape) &&
       
   622 				(HASBIT(e->player_avail, p) || _date >= e->intro_date + 365)) {
       
   623 			SETBIT(rt, HASBIT(ei->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD);
   605 		}
   624 		}
   606 	}
   625 	}
   607 
   626 
   608 	return rt;
   627 	return rt;
   609 }
   628 }
  1247 	for (i = 0; i < p->num_valid_stat_ent; i++) {
  1266 	for (i = 0; i < p->num_valid_stat_ent; i++) {
  1248 		SlObject(&p->old_economy[i], _player_economy_desc);
  1267 		SlObject(&p->old_economy[i], _player_economy_desc);
  1249 	}
  1268 	}
  1250 
  1269 
  1251 	/* Write each livery entry. */
  1270 	/* Write each livery entry. */
  1252 	for (i = 0; i < LS_END; i++) {
  1271 	int num_liveries = CheckSavegameVersion(63) ? LS_END - 2 : LS_END;
       
  1272 	for (i = 0; i < num_liveries; i++) {
  1253 		SlObject(&p->livery[i], _player_livery_desc);
  1273 		SlObject(&p->livery[i], _player_livery_desc);
       
  1274 	}
       
  1275 
       
  1276 	if (num_liveries == LS_END - 2) {
       
  1277 		/* Copy bus/truck liveries over to trams */
       
  1278 		p->livery[LS_PASSENGER_TRAM] = p->livery[LS_BUS];
       
  1279 		p->livery[LS_FREIGHT_TRAM]   = p->livery[LS_TRUCK];
  1254 	}
  1280 	}
  1255 }
  1281 }
  1256 
  1282 
  1257 static void Save_PLYR()
  1283 static void Save_PLYR()
  1258 {
  1284 {