(svn r9917) -Codechange: prepare some more areas for more road types.

This commit is contained in:
rubidium
2007-05-25 08:13:01 +00:00
parent a507341089
commit 21546a66f3
9 changed files with 42 additions and 12 deletions

View File

@@ -472,6 +472,7 @@ Player *DoStartupNewPlayer(bool is_ai)
p->share_owners[0] = p->share_owners[1] = p->share_owners[2] = p->share_owners[3] = PLAYER_SPECTATOR;
p->avail_railtypes = GetPlayerRailtypes(p->index);
p->avail_roadtypes = GetPlayerRoadtypes(p->index);
p->inaugurated_year = _cur_year;
p->face = ConvertFromOldPlayerFace(Random());
@@ -609,6 +610,24 @@ byte GetPlayerRailtypes(PlayerID p)
return rt;
}
byte GetPlayerRoadtypes(PlayerID p)
{
byte rt = 0;
EngineID i;
for (i = 0; i != TOTAL_NUM_ENGINES; i++) {
const Engine* e = GetEngine(i);
const EngineInfo *ei = EngInfo(i);
if (e->type == VEH_ROAD && HASBIT(ei->climates, _opt.landscape) &&
(HASBIT(e->player_avail, p) || _date >= e->intro_date + 365)) {
SETBIT(rt, HASBIT(ei->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD);
}
}
return rt;
}
static void DeletePlayerStuff(PlayerID pi)
{
Player *p;