diff options
author | rubidium <rubidium@openttd.org> | 2007-09-01 08:04:08 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-09-01 08:04:08 +0000 |
commit | 0df355bbda0e97edb0c642188db663620dd2e4f6 (patch) | |
tree | 537bc6b71caed3b98d3d887fd5a2ef1a1d954b5a /src/station_cmd.cpp | |
parent | 1f7f4f6f6265b7c3f40e01501974ec9810c946d2 (diff) | |
download | openttd-0df355bbda0e97edb0c642188db663620dd2e4f6.tar.xz |
(svn r11030) -Revert r11016, Fix [FS#1178]: the way to determine whether a station should get goods was not done properly.
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r-- | src/station_cmd.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index fd2442ef2..19d838b0c 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2532,6 +2532,7 @@ void ModifyStationRatingAround(TileIndex tile, PlayerID owner, int amount, uint static void UpdateStationWaiting(Station *st, CargoID type, uint amount) { st->goods[type].cargo.Append(new CargoPacket(st->index, amount)); + SETBIT(st->goods[type].acceptance_pickup, GoodsEntry::PICKUP); InvalidateWindow(WC_STATION_VIEW, st->index); st->MarkTilesDirty(true); @@ -2619,7 +2620,7 @@ uint MoveGoodsToStation(TileIndex tile, int w, int h, CargoID type, uint amount) if (!st->IsBuoy() && (st->town->exclusive_counter == 0 || st->town->exclusivity == st->owner) && // check exclusive transport rights st->goods[type].rating != 0 && // when you've got the lowest rating you can get, it's better not to give cargo anymore - (!_patches.selectgoods || HASBIT(st->goods[type].acceptance_pickup, GoodsEntry::PICKUP)) && // we are servicing the station (or cargo is dumped on all stations) + (!_patches.selectgoods || st->goods[type].last_speed != 0) && // we are servicing the station (or cargo is dumped on all stations) ((st->facilities & ~FACIL_BUS_STOP) != 0 || IsCargoInClass(type, CC_PASSENGERS)) && // if we have other fac. than a bus stop, or the cargo is passengers ((st->facilities & ~FACIL_TRUCK_STOP) != 0 || !IsCargoInClass(type, CC_PASSENGERS))) { // if we have other fac. than a cargo bay or the cargo is not passengers if (_patches.modified_catchment) { |