(svn r8800) -Fix

Simplify MoveGoodsToSation() under the assumption that 0 is less or equal than 0
replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
tron 18 years ago
parent 1ed8e7e04e
commit 352273a5b3

@ -2382,7 +2382,6 @@ int32 CmdRenameStation(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
uint MoveGoodsToStation(TileIndex tile, int w, int h, int type, uint amount) uint MoveGoodsToStation(TileIndex tile, int w, int h, int type, uint amount)
{ {
Station* around[8]; Station* around[8];
int rad = 0;
for (uint i = 0; i < lengthof(around); i++) around[i] = NULL; for (uint i = 0; i < lengthof(around); i++) around[i] = NULL;
@ -2417,9 +2416,6 @@ uint MoveGoodsToStation(TileIndex tile, int w, int h, int type, uint amount)
(!_patches.selectgoods || st->goods[type].last_speed > 0) && // if last_speed is 0, no vehicle has been there. (!_patches.selectgoods || st->goods[type].last_speed > 0) && // if last_speed is 0, no vehicle has been there.
((st->facilities & ~FACIL_BUS_STOP) != 0 || type == CT_PASSENGERS) && // if we have other fac. than a bus stop, or the cargo is passengers ((st->facilities & ~FACIL_BUS_STOP) != 0 || type == CT_PASSENGERS) && // if we have other fac. than a bus stop, or the cargo is passengers
((st->facilities & ~FACIL_TRUCK_STOP) != 0 || type != CT_PASSENGERS)) { // if we have other fac. than a cargo bay or the cargo is not passengers ((st->facilities & ~FACIL_TRUCK_STOP) != 0 || type != CT_PASSENGERS)) { // if we have other fac. than a cargo bay or the cargo is not passengers
int x_dist;
int y_dist;
if (_patches.modified_catchment) { if (_patches.modified_catchment) {
// min and max coordinates of the producer relative // min and max coordinates of the producer relative
const int x_min_prod = 9; const int x_min_prod = 9;
@ -2427,27 +2423,26 @@ uint MoveGoodsToStation(TileIndex tile, int w, int h, int type, uint amount)
const int y_min_prod = 9; const int y_min_prod = 9;
const int y_max_prod = 8 + h_prod; const int y_max_prod = 8 + h_prod;
rad = FindCatchmentRadius(st); int rad = FindCatchmentRadius(st);
x_dist = min(w_cur - x_min_prod, x_max_prod - w_cur); int x_dist = min(w_cur - x_min_prod, x_max_prod - w_cur);
if (w_cur < x_min_prod) { if (w_cur < x_min_prod) {
x_dist = x_min_prod - w_cur; x_dist = x_min_prod - w_cur;
} else if (w_cur > x_max_prod) { } else if (w_cur > x_max_prod) {
x_dist = w_cur - x_max_prod; x_dist = w_cur - x_max_prod;
} }
y_dist = min(h_cur - y_min_prod, y_max_prod - h_cur); int y_dist = min(h_cur - y_min_prod, y_max_prod - h_cur);
if (h_cur < y_min_prod) { if (h_cur < y_min_prod) {
y_dist = y_min_prod - h_cur; y_dist = y_min_prod - h_cur;
} else if (h_cur > y_max_prod) { } else if (h_cur > y_max_prod) {
y_dist = h_cur - y_max_prod; y_dist = h_cur - y_max_prod;
} }
} else {
x_dist = 0; if (x_dist > rad || y_dist > rad) break;
y_dist = 0;
} }
if (x_dist <= rad && y_dist <= rad) around[i] = st; around[i] = st;
} }
break; break;
} else if (around[i] == st) { } else if (around[i] == st) {

Loading…
Cancel
Save