(svn r9992) -Codechange: Remove some hardcoded references to Industry IDs.

A few more to go
This commit is contained in:
belugas 2007-05-30 20:20:58 +00:00
parent 1e371a99d2
commit 06bc9866aa
3 changed files with 6 additions and 5 deletions

View File

@ -1481,7 +1481,7 @@ int32 CmdBuildIndustry(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
indspec->accepts_cargo[0] == CT_INVALID && indspec->accepts_cargo[0] == CT_INVALID &&
indspec->accepts_cargo[1] == CT_INVALID && indspec->accepts_cargo[1] == CT_INVALID &&
indspec->accepts_cargo[2] == CT_INVALID && indspec->accepts_cargo[2] == CT_INVALID &&
p1 != IT_LUMBER_MILL) { !(ind_spc->behaviour & INDUSTRYBEH_CUT_TREES) {
return CMD_ERROR; return CMD_ERROR;
} }
@ -1522,9 +1522,10 @@ static const byte _numof_industry_table[5][12] = {
static void PlaceInitialIndustry(IndustryType type, int amount) static void PlaceInitialIndustry(IndustryType type, int amount)
{ {
int num = _numof_industry_table[_opt.diff.number_industries][amount]; int num = _numof_industry_table[_opt.diff.number_industries][amount];
const IndustrySpec *ind_spc = GetIndustrySpec(type);
/* These are always placed next to the coastline, so we scale by the perimeter instead. */ /* These are always placed next to the coastline, so we scale by the perimeter instead. */
num = (type == IT_OIL_REFINERY || type == IT_OIL_RIG) ? ScaleByMapSize1D(num) : ScaleByMapSize(num); num = (ind_spc->check_proc == CHECK_REFINERY || ind_spc->check_proc == CHECK_OIL_RIG) ? ScaleByMapSize1D(num) : ScaleByMapSize(num);
if (_opt.diff.number_industries != 0) { if (_opt.diff.number_industries != 0) {
PlayerID old_player = _current_player; PlayerID old_player = _current_player;
@ -1567,7 +1568,7 @@ void GenerateIndustries()
int num = _numof_industry_table[_opt.diff.number_industries][chance]; int num = _numof_industry_table[_opt.diff.number_industries][chance];
/* These are always placed next to the coastline, so we scale by the perimeter instead. */ /* These are always placed next to the coastline, so we scale by the perimeter instead. */
num = (it == IT_OIL_REFINERY || it == IT_OIL_RIG) ? ScaleByMapSize1D(num) : ScaleByMapSize(num); num = (ind_spc->check_proc == CHECK_REFINERY || ind_spc->check_proc == CHECK_OIL_RIG) ? ScaleByMapSize1D(num) : ScaleByMapSize(num);
i += num; i += num;
} }
} }

View File

@ -1781,7 +1781,7 @@ bool AfterLoadGame()
FOR_ALL_INDUSTRIES(i) { FOR_ALL_INDUSTRIES(i) {
uint j; uint j;
if (i->type == IT_FARM || i->type == IT_FARM_2) { if (GetIndustrySpec(i->type)->behaviour & INDUSTRYBEH_PLANT_ON_BUILT) {
for (j = 0; j != 50; j++) PlantRandomFarmField(i); for (j = 0; j != 50; j++) PlantRandomFarmField(i);
} }
} }

View File

@ -430,7 +430,7 @@ static inline uint32 GetSmallMapVegetationPixels(TileIndex tile)
break; break;
case MP_INDUSTRY: case MP_INDUSTRY:
bits = GetIndustryType(tile) == IT_FOREST ? MKCOLOR(0xD0D0D0D0) : MKCOLOR(0xB5B5B5B5); bits = GetIndustrySpec(GetIndustryByTile(tile)->type)->check_proc == CHECK_FOREST ? MKCOLOR(0xD0D0D0D0) : MKCOLOR(0xB5B5B5B5);
break; break;
case MP_TREES: case MP_TREES: