1
0
Fork 0

(svn r3939) -Fix: No longer assume that the number of slots is 2. It was not a problem up to now, but it's not The Right Thing (TM) to do either

release/0.5
celestar 2006-03-18 08:00:27 +00:00
parent 2bbcd41247
commit e54f1e1e2b
3 changed files with 8 additions and 4 deletions

View File

@ -109,7 +109,8 @@ DEF_CONSOLE_CMD(ConResetSlots)
} }
FOR_ALL_ROADSTOPS(rs) { FOR_ALL_ROADSTOPS(rs) {
rs->slot[0] = rs->slot[1] = INVALID_VEHICLE; int i;
for (i = 0; i < NUM_SLOTS; i++) rs->slot[i] = INVALID_VEHICLE;
} }
return true; return true;

View File

@ -356,6 +356,7 @@ static void FixOldTowns(void)
static void FixOldStations(void) static void FixOldStations(void)
{ {
Station *st; Station *st;
int i;
FOR_ALL_STATIONS(st) { FOR_ALL_STATIONS(st) {
/* Check if we need to swap width and height for the station */ /* Check if we need to swap width and height for the station */
@ -372,7 +373,7 @@ static void FixOldStations(void)
st->bus_stops->station = st->index; st->bus_stops->station = st->index;
st->bus_stops->next = NULL; st->bus_stops->next = NULL;
st->bus_stops->prev = NULL; st->bus_stops->prev = NULL;
st->bus_stops->slot[0] = st->bus_stops->slot[1] = INVALID_VEHICLE; for (i = 0; i < NUM_SLOTS; i++) st->bus_stops->slot[i] = INVALID_VEHICLE;
} }
if (st->lorry_tile_obsolete != 0) { if (st->lorry_tile_obsolete != 0) {
@ -383,7 +384,7 @@ static void FixOldStations(void)
st->truck_stops->station = st->index; st->truck_stops->station = st->index;
st->truck_stops->next = NULL; st->truck_stops->next = NULL;
st->truck_stops->prev = NULL; st->truck_stops->prev = NULL;
st->truck_stops->slot[0] = st->truck_stops->slot[1] = INVALID_VEHICLE; for (i = 0; i < NUM_SLOTS; i++) st->truck_stops->slot[i] = INVALID_VEHICLE;
} }
} }
} }

View File

@ -86,13 +86,15 @@ static void MarkStationDirty(const Station* st)
static void InitializeRoadStop(RoadStop *road_stop, RoadStop *previous, TileIndex tile, StationID index) static void InitializeRoadStop(RoadStop *road_stop, RoadStop *previous, TileIndex tile, StationID index)
{ {
int i;
road_stop->xy = tile; road_stop->xy = tile;
road_stop->used = true; road_stop->used = true;
road_stop->status = 3; //stop is free road_stop->status = 3; //stop is free
road_stop->slot[0] = road_stop->slot[1] = INVALID_VEHICLE;
road_stop->next = NULL; road_stop->next = NULL;
road_stop->prev = previous; road_stop->prev = previous;
road_stop->station = index; road_stop->station = index;
for (i = 0; i < NUM_SLOTS; i++) road_stop->slot[i] = INVALID_VEHICLE;
} }
RoadStop* GetPrimaryRoadStop(const Station* st, RoadStopType type) RoadStop* GetPrimaryRoadStop(const Station* st, RoadStopType type)