mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-30 02:43:38 +00:00
(svn r2031) -Fix: Station #256 now gets cargo delivered as well
This commit is contained in:
parent
f41be0b25a
commit
f179dc7acc
@ -2671,7 +2671,7 @@ int32 CmdRenameStation(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
|||||||
uint MoveGoodsToStation(uint tile, int w, int h, int type, uint amount)
|
uint MoveGoodsToStation(uint tile, int w, int h, int type, uint amount)
|
||||||
{
|
{
|
||||||
Station *around_ptr[8];
|
Station *around_ptr[8];
|
||||||
byte around[8];
|
uint16 around[8];
|
||||||
uint16 st_index;
|
uint16 st_index;
|
||||||
int i;
|
int i;
|
||||||
Station *st;
|
Station *st;
|
||||||
@ -2706,7 +2706,7 @@ uint MoveGoodsToStation(uint tile, int w, int h, int type, uint amount)
|
|||||||
if (IsTileType(cur_tile, MP_STATION)) {
|
if (IsTileType(cur_tile, MP_STATION)) {
|
||||||
st_index = _map2[cur_tile];
|
st_index = _map2[cur_tile];
|
||||||
for(i=0; i!=8; i++) {
|
for(i=0; i!=8; i++) {
|
||||||
if (around[i] == 0xFF) {
|
if (around[i] == INVALID_STATION) {
|
||||||
st = GetStation(st_index);
|
st = GetStation(st_index);
|
||||||
if ((st->had_vehicle_of_type & HVOT_BUOY) == 0 &&
|
if ((st->had_vehicle_of_type & HVOT_BUOY) == 0 &&
|
||||||
( !st->town->exclusive_counter || (st->town->exclusivity == st->owner) ) && // check exclusive transport rights
|
( !st->town->exclusive_counter || (st->town->exclusivity == st->owner) ) && // check exclusive transport rights
|
||||||
@ -2753,10 +2753,10 @@ uint MoveGoodsToStation(uint tile, int w, int h, int type, uint amount)
|
|||||||
END_TILE_LOOP(cur_tile, w, h, tile - TILE_XY(max_rad, max_rad))
|
END_TILE_LOOP(cur_tile, w, h, tile - TILE_XY(max_rad, max_rad))
|
||||||
|
|
||||||
/* no stations around at all? */
|
/* no stations around at all? */
|
||||||
if (around[0] == 0xFF)
|
if (around[0] == INVALID_STATION)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (around[1] == 0xFF) {
|
if (around[1] == INVALID_STATION) {
|
||||||
/* only one station around */
|
/* only one station around */
|
||||||
moved = (amount * around_ptr[0]->goods[type].rating >> 8) + 1;
|
moved = (amount * around_ptr[0]->goods[type].rating >> 8) + 1;
|
||||||
UpdateStationWaiting(around_ptr[0], type, moved);
|
UpdateStationWaiting(around_ptr[0], type, moved);
|
||||||
@ -2767,7 +2767,7 @@ uint MoveGoodsToStation(uint tile, int w, int h, int type, uint amount)
|
|||||||
st2 = st1 = NULL;
|
st2 = st1 = NULL;
|
||||||
best_rating = best_rating2 = 0;
|
best_rating = best_rating2 = 0;
|
||||||
|
|
||||||
for( i = 0; i != 8 && around[i] != 0xFF; i++) {
|
for( i = 0; i != 8 && around[i] != INVALID_STATION; i++) {
|
||||||
if (around_ptr[i]->goods[type].rating >= best_rating) {
|
if (around_ptr[i]->goods[type].rating >= best_rating) {
|
||||||
best_rating2 = best_rating;
|
best_rating2 = best_rating;
|
||||||
st2 = st1;
|
st2 = st1;
|
||||||
|
Loading…
Reference in New Issue
Block a user