equal
deleted
inserted
replaced
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 { |