mirror of https://github.com/OpenTTD/OpenTTD
(svn r1301) -Codechange: _industries finally has FOR_ALL_INDUSTRIES too
parent
32c3fbd18e
commit
546fcfa3ec
12
ai.c
12
ai.c
|
@ -1416,7 +1416,7 @@ static void AiWantOilRigAircraftRoute(Player *p)
|
|||
t = AiFindRandomTown();
|
||||
if (t != NULL) {
|
||||
// Find a random oil rig industry
|
||||
in = DEREF_INDUSTRY(RandomRange(lengthof(_industries)));
|
||||
in = DEREF_INDUSTRY(RandomRange(_total_industries));
|
||||
if (in != NULL && in->type == IT_OIL_RIG) {
|
||||
if (GetTileDist(t->xy, in->xy) < 60)
|
||||
break;
|
||||
|
@ -2482,13 +2482,13 @@ static bool AiCheckRoadResources(TileIndex tile, const AiDefaultBlockData *p, by
|
|||
{
|
||||
uint values[NUM_CARGO];
|
||||
int rad;
|
||||
|
||||
|
||||
if (_patches.modified_catchment) {
|
||||
rad = CA_TRUCK; //Same as CA_BUS at the moment?
|
||||
rad = CA_TRUCK; //Same as CA_BUS at the moment?
|
||||
} else { //change that at some point?
|
||||
rad = 4;
|
||||
}
|
||||
|
||||
|
||||
for(;;p++) {
|
||||
if (p->mode == 4) {
|
||||
return true;
|
||||
|
@ -3354,9 +3354,9 @@ static bool AiCheckAirportResources(TileIndex tile, const AiDefaultBlockData *p,
|
|||
int w,h;
|
||||
uint tile2;
|
||||
int rad;
|
||||
|
||||
|
||||
if (_patches.modified_catchment) {
|
||||
rad = CA_AIR_LARGE; //I Have NFI what airport the
|
||||
rad = CA_AIR_LARGE; //I Have NFI what airport the
|
||||
} else { //AI is going to build here
|
||||
rad = 4;
|
||||
}
|
||||
|
|
|
@ -755,7 +755,9 @@ static void Disaster2_Init()
|
|||
Vehicle *v,*u;
|
||||
int x,y;
|
||||
|
||||
for(found=NULL,i=_industries; i != endof(_industries); i++) {
|
||||
found = NULL;
|
||||
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy != 0 &&
|
||||
i->type == IT_OIL_REFINERY &&
|
||||
(found==NULL || CHANCE16(1,2))) {
|
||||
|
@ -789,7 +791,9 @@ static void Disaster3_Init()
|
|||
Vehicle *v,*u,*w;
|
||||
int x,y;
|
||||
|
||||
for(found=NULL,i=_industries; i != endof(_industries); i++) {
|
||||
found = NULL;
|
||||
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy != 0 &&
|
||||
i->type == IT_FACTORY &&
|
||||
(found==NULL || CHANCE16(1,2))) {
|
||||
|
@ -896,7 +900,7 @@ static void Disaster7_Init()
|
|||
int index = Random() & 0xF;
|
||||
|
||||
do {
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy != 0 && i->type == IT_COAL_MINE && --index < 0) {
|
||||
|
||||
SetDParam(0, i->town->index);
|
||||
|
|
|
@ -1127,7 +1127,7 @@ static void DeliverGoodsToIndustry(TileIndex xy, byte cargo_type, int num_pieces
|
|||
* the cargo */
|
||||
best = NULL;
|
||||
u = _patches.station_spread + 8;
|
||||
for(ind = _industries; ind != endof(_industries); ind++) {
|
||||
FOR_ALL_INDUSTRIES(ind) {
|
||||
if (ind->xy != 0 && (cargo_type == ind->accepts_cargo[0] || cargo_type
|
||||
== ind->accepts_cargo[1] || cargo_type == ind->accepts_cargo[2]) &&
|
||||
ind->produced_cargo[0] != 0xFF &&
|
||||
|
|
|
@ -28,6 +28,7 @@ struct Industry {
|
|||
VARDEF int _total_industries; // For the AI: the amount of industries active
|
||||
VARDEF Industry _industries[90];
|
||||
#define DEREF_INDUSTRY(i) (&_industries[i])
|
||||
#define FOR_ALL_INDUSTRIES(i) for(i = _industries; i != endof(_industries); i++)
|
||||
VARDEF bool _industry_sort_dirty;
|
||||
void DeleteIndustry(Industry *is);
|
||||
|
||||
|
|
|
@ -1105,7 +1105,7 @@ void OnTick_Industry()
|
|||
if (_game_mode == GM_EDITOR)
|
||||
return;
|
||||
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy != 0)
|
||||
ProduceIndustryGoods(i);
|
||||
}
|
||||
|
@ -1233,7 +1233,7 @@ static Town *CheckMultipleIndustryInTown(uint tile, int type)
|
|||
if (_patches.multiple_industry_per_town)
|
||||
return t;
|
||||
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy != 0 &&
|
||||
i->type == (byte)type &&
|
||||
i->town == t) {
|
||||
|
@ -1366,7 +1366,7 @@ static bool CheckIfTooCloseToIndustry(uint tile, int type)
|
|||
if (_patches.same_industry_close && (spec->accepts_cargo[0] == 0xFF) )
|
||||
return true;
|
||||
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
// check if an industry that accepts the same goods is nearby
|
||||
if (i->xy != 0 &&
|
||||
(GetTileDist1D(tile, i->xy) <= 14) &&
|
||||
|
@ -1391,7 +1391,7 @@ static Industry *AllocateIndustry()
|
|||
{
|
||||
Industry *i;
|
||||
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy == 0) {
|
||||
int index = i - _industries;
|
||||
if (index > _total_industries) _total_industries = index;
|
||||
|
@ -1807,7 +1807,7 @@ void IndustryMonthlyLoop()
|
|||
byte old_player = _current_player;
|
||||
_current_player = OWNER_NONE;
|
||||
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy != 0)
|
||||
UpdateIndustryStatistics(i);
|
||||
}
|
||||
|
@ -1887,9 +1887,10 @@ static const byte _industry_desc[] = {
|
|||
static void Save_INDY()
|
||||
{
|
||||
Industry *ind;
|
||||
int i;
|
||||
int i = 0;
|
||||
// Write the vehicles
|
||||
for(ind=_industries,i=0; i!=lengthof(_industries); ind++,i++) {
|
||||
FOR_ALL_INDUSTRIES(ind) {
|
||||
i++;
|
||||
if (ind->xy != 0) {
|
||||
SlSetArrayIndex(i);
|
||||
SlObject(ind, _industry_desc);
|
||||
|
|
|
@ -458,7 +458,7 @@ static void MakeSortedIndustryList()
|
|||
Industry *i;
|
||||
int n = 0, index = 0;
|
||||
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if(i->xy)
|
||||
_industry_sort[n++] = index;
|
||||
|
||||
|
|
|
@ -1375,7 +1375,7 @@ void DeleteTown(Town *t)
|
|||
_town_sort_dirty = true;
|
||||
|
||||
// Delete all industries belonging to the town
|
||||
for(i=_industries; i != endof(_industries); i++) {
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
if (i->xy && i->town == t)
|
||||
DeleteIndustry(i);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue