diff options
Diffstat (limited to 'src/vehicle_cmd.cpp')
-rw-r--r-- | src/vehicle_cmd.cpp | 44 |
1 files changed, 19 insertions, 25 deletions
diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 6bc2fde7a..3fcb06034 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -25,30 +25,32 @@ /* Tables used in vehicle.h to find the right command for a certain vehicle type */ const uint32 _veh_build_proc_table[] = { - CMD_BUILD_RAIL_VEHICLE, - CMD_BUILD_ROAD_VEH, - CMD_BUILD_SHIP, - CMD_BUILD_AIRCRAFT, + CMD_BUILD_RAIL_VEHICLE | CMD_MSG(STR_ERROR_CAN_T_BUILD_TRAIN), + CMD_BUILD_ROAD_VEH | CMD_MSG(STR_ERROR_CAN_T_BUILD_ROAD_VEHICLE), + CMD_BUILD_SHIP | CMD_MSG(STR_ERROR_CAN_T_BUILD_SHIP), + CMD_BUILD_AIRCRAFT | CMD_MSG(STR_ERROR_CAN_T_BUILD_AIRCRAFT), }; + const uint32 _veh_sell_proc_table[] = { - CMD_SELL_RAIL_WAGON, - CMD_SELL_ROAD_VEH, - CMD_SELL_SHIP, - CMD_SELL_AIRCRAFT, + CMD_SELL_RAIL_WAGON | CMD_MSG(STR_ERROR_CAN_T_SELL_TRAIN), + CMD_SELL_ROAD_VEH | CMD_MSG(STR_ERROR_CAN_T_SELL_ROAD_VEHICLE), + CMD_SELL_SHIP | CMD_MSG(STR_ERROR_CAN_T_SELL_SHIP), + CMD_SELL_AIRCRAFT | CMD_MSG(STR_ERROR_CAN_T_SELL_AIRCRAFT), }; const uint32 _veh_refit_proc_table[] = { - CMD_REFIT_RAIL_VEHICLE, - CMD_REFIT_ROAD_VEH, - CMD_REFIT_SHIP, - CMD_REFIT_AIRCRAFT, + CMD_REFIT_RAIL_VEHICLE | CMD_MSG(STR_ERROR_CAN_T_REFIT_TRAIN), + CMD_REFIT_ROAD_VEH | CMD_MSG(STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE), + CMD_REFIT_SHIP | CMD_MSG(STR_ERROR_CAN_T_REFIT_SHIP), + CMD_REFIT_AIRCRAFT | CMD_MSG(STR_ERROR_CAN_T_REFIT_AIRCRAFT), }; const uint32 _send_to_depot_proc_table[] = { - CMD_SEND_TRAIN_TO_DEPOT, - CMD_SEND_ROADVEH_TO_DEPOT, - CMD_SEND_SHIP_TO_DEPOT, - CMD_SEND_AIRCRAFT_TO_HANGAR, + /* TrainGotoDepot has a nice randomizer in the pathfinder, which causes desyncs... */ + CMD_SEND_TRAIN_TO_DEPOT | CMD_MSG(STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT) | CMD_NO_TEST_IF_IN_NETWORK, + CMD_SEND_ROADVEH_TO_DEPOT | CMD_MSG(STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT), + CMD_SEND_SHIP_TO_DEPOT | CMD_MSG(STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT), + CMD_SEND_AIRCRAFT_TO_HANGAR | CMD_MSG(STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR), }; /** Start/Stop a vehicle @@ -169,16 +171,8 @@ CommandCost CmdDepotSellAllVehicles(TileIndex tile, DoCommandFlag flags, uint32 VehicleList list; CommandCost cost(EXPENSES_NEW_VEHICLES); - uint sell_command; VehicleType vehicle_type = (VehicleType)GB(p1, 0, 8); - - switch (vehicle_type) { - case VEH_TRAIN: sell_command = CMD_SELL_RAIL_WAGON; break; - case VEH_ROAD: sell_command = CMD_SELL_ROAD_VEH; break; - case VEH_SHIP: sell_command = CMD_SELL_SHIP; break; - case VEH_AIRCRAFT: sell_command = CMD_SELL_AIRCRAFT; break; - default: return CMD_ERROR; - } + uint sell_command = GetCmdSendToDepot(vehicle_type);; /* Get the list of vehicles in the depot */ BuildDepotVehicleList(vehicle_type, tile, &list, &list); |