Changeset - r5004:d1b5839ffda2
[Not reviewed]
master
0 1 0
glx - 18 years ago 2006-10-31 17:13:12
glx@openttd.org
(svn r7020) -Fix r6047: AI tries to delete stations that are 'in use' because FOR_ALL_STATIONS skips invalid stations
1 file changed with 1 insertions and 4 deletions:
0 comments (0 inline, 0 general)
ai/default/default.c
Show inline comments
 
@@ -3555,7 +3555,6 @@ static void AiStateRemoveStation(Player 
 
{
 
	// Remove stations that aren't in use by any vehicle
 
	byte *in_use;
 
	const byte *used;
 
	const Order *ord;
 
	const Station *st;
 
	TileIndex tile;
 
@@ -3571,9 +3570,8 @@ static void AiStateRemoveStation(Player 
 
	}
 

	
 
	// Go through all stations and delete those that aren't in use
 
	used = in_use;
 
	FOR_ALL_STATIONS(st) {
 
		if (st->owner == _current_player && !*used &&
 
		if (st->owner == _current_player && !in_use[st->index] &&
 
				( (st->bus_stops != NULL && (tile = st->bus_stops->xy) != 0) ||
 
					(st->truck_stops != NULL && (tile = st->truck_stops->xy)) != 0 ||
 
					(tile = st->train_tile) != 0 ||
 
@@ -3581,7 +3579,6 @@ static void AiStateRemoveStation(Player 
 
					(tile = st->airport_tile) != 0)) {
 
			DoCommand(tile, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR);
 
		}
 
		used++;
 
	}
 

	
 
	free(in_use);
0 comments (0 inline, 0 general)