(svn r6696) -Codechange: changed all comparision for refit cargo in orders against CT_NO_REFIT to checks for valid cargo IDs

This should prevent any bugs made by mixing up CT_NO_REFIT and CT_INVALID
This commit is contained in:
bjarni 2006-10-08 21:10:00 +00:00
parent fa3afe220e
commit ec809c5d71
2 changed files with 5 additions and 5 deletions

View File

@ -170,11 +170,11 @@ static void DrawOrdersWindow(Window *w)
if (order->flags & OF_FULL_LOAD) s++; /* service at */
SetDParam(1, s);
if (order->refit_cargo == CT_NO_REFIT) {
SetDParam(3, STR_EMPTY);
} else {
if (order->refit_cargo < NUM_CARGO) {
SetDParam(3, STR_REFIT_ORDER);
SetDParam(4, _cargoc.names_s[order->refit_cargo]);
} else {
SetDParam(3, STR_EMPTY);
}
break;
}

View File

@ -1901,7 +1901,7 @@ static bool VerifyAutoreplaceRefitForOrders(const Vehicle *v, const EngineID eng
}
FOR_VEHICLE_ORDERS(u, o) {
if (o->refit_cargo == CT_NO_REFIT) continue;
if (!(o->refit_cargo < NUM_CARGO)) continue;
if (!CanRefitTo(v->engine_type, o->refit_cargo)) continue;
if (!CanRefitTo(engine_type, o->refit_cargo)) return false;
}
@ -2530,7 +2530,7 @@ void VehicleEnterDepot(Vehicle *v)
v->current_order.type = OT_DUMMY;
v->current_order.flags = 0;
if (t.refit_cargo != CT_NO_REFIT) {
if (t.refit_cargo < NUM_CARGO) {
int32 cost;
_current_player = v->owner;