(svn r8800) -Fix

Simplify MoveGoodsToSation() under the assumption that 0 is less or equal than 0
This commit is contained in:
tron
2007-02-18 11:45:56 +00:00
parent 6c5b59b6ec
commit 8db5c84f67

View File

@@ -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) {