(svn r13250) -Codechange: Use VehicleList in SendAllVehiclesToDepot()

This commit is contained in:
peter1138 2008-05-25 17:36:49 +00:00
parent 31a266b5b3
commit 6ea832ec7c
1 changed files with 4 additions and 7 deletions

View File

@ -1462,14 +1462,13 @@ void GenerateVehicleSortList(VehicleList *list, VehicleType type, PlayerID owner
*/ */
CommandCost SendAllVehiclesToDepot(VehicleType type, uint32 flags, bool service, PlayerID owner, uint16 vlw_flag, uint32 id) CommandCost SendAllVehiclesToDepot(VehicleType type, uint32 flags, bool service, PlayerID owner, uint16 vlw_flag, uint32 id)
{ {
const Vehicle **sort_list = NULL; VehicleList list;
uint16 array_length = 0;
uint n = GenerateVehicleSortList(&sort_list, &array_length, type, owner, id, vlw_flag); GenerateVehicleSortList(&list, type, owner, id, vlw_flag);
/* Send all the vehicles to a depot */ /* Send all the vehicles to a depot */
for (uint i = 0; i < n; i++) { for (uint i = 0; i < list.Length(); i++) {
const Vehicle *v = sort_list[i]; const Vehicle *v = list[i];
CommandCost ret = DoCommand(v->tile, v->index, (service ? 1 : 0) | DEPOT_DONT_CANCEL, flags, GetCmdSendToDepot(type)); CommandCost ret = DoCommand(v->tile, v->index, (service ? 1 : 0) | DEPOT_DONT_CANCEL, flags, GetCmdSendToDepot(type));
/* Return 0 if DC_EXEC is not set this is a valid goto depot command) /* Return 0 if DC_EXEC is not set this is a valid goto depot command)
@ -1477,12 +1476,10 @@ CommandCost SendAllVehiclesToDepot(VehicleType type, uint32 flags, bool service,
* and we will issue the command. We can now safely quit the loop, knowing * and we will issue the command. We can now safely quit the loop, knowing
* it will succeed at least once. With DC_EXEC we really need to send them to the depot */ * it will succeed at least once. With DC_EXEC we really need to send them to the depot */
if (CmdSucceeded(ret) && !(flags & DC_EXEC)) { if (CmdSucceeded(ret) && !(flags & DC_EXEC)) {
free((void*)sort_list);
return CommandCost(); return CommandCost();
} }
} }
free((void*)sort_list);
return (flags & DC_EXEC) ? CommandCost() : CMD_ERROR; return (flags & DC_EXEC) ? CommandCost() : CMD_ERROR;
} }