diff options
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r-- | src/station_cmd.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 9c3529390..8085af255 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2940,10 +2940,8 @@ CommandCost CmdRenameStation(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, * * @return: Set of found stations */ -StationList FindStationsAroundTiles(TileIndex tile, int w_prod, int h_prod) +void FindStationsAroundTiles(TileIndex tile, int w_prod, int h_prod, StationList *stations) { - StationList stations; - /* area to search = producer plus station catchment radius */ int max_rad = (_settings_game.station.modified_catchment ? MAX_CATCHMENT : CA_UNMODIFIED); int w = w_prod + 2 * max_rad; @@ -2989,11 +2987,9 @@ StationList FindStationsAroundTiles(TileIndex tile, int w_prod, int h_prod) /* Insert the station in the set. This will fail if it has * already been added. */ - stations.Include(st); + stations->Include(st); END_TILE_LOOP(cur_tile, w, h, tile - TileDiffXY(max_rad, max_rad)) - - return stations; } uint MoveGoodsToStation(TileIndex tile, int w, int h, CargoID type, uint amount) @@ -3003,7 +2999,8 @@ uint MoveGoodsToStation(TileIndex tile, int w, int h, CargoID type, uint amount) uint best_rating1 = 0; // rating of st1 uint best_rating2 = 0; // rating of st2 - StationList all_stations = FindStationsAroundTiles(tile, w, h); + StationList all_stations; + FindStationsAroundTiles(tile, w, h, &all_stations); for (Station **st_iter = all_stations.Begin(); st_iter != all_stations.End(); ++st_iter) { Station *st = *st_iter; |