diff options
author | rubidium <rubidium@openttd.org> | 2009-07-22 23:39:35 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-07-22 23:39:35 +0000 |
commit | b04ba7dcea92039c2e04f6ce9280fa3d488ebc3f (patch) | |
tree | 5d956d8a7d930305f4630976732c0985cad07323 /src/build_vehicle_gui.cpp | |
parent | 9980af289835021ef605f9f452d1f289145c6314 (diff) | |
download | openttd-b04ba7dcea92039c2e04f6ce9280fa3d488ebc3f.tar.xz |
(svn r16922) -Codechange: unduplicate some vehicle CMD_*s and move the setting of the error message to a single place
Diffstat (limited to 'src/build_vehicle_gui.cpp')
-rw-r--r-- | src/build_vehicle_gui.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index d65d96b13..4e9e6483b 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1074,23 +1074,15 @@ struct BuildVehicleWindow : Window { case BUILD_VEHICLE_WIDGET_BUILD: { EngineID sel_eng = this->sel_engine; if (sel_eng != INVALID_ENGINE) { + CommandCallback *callback; switch (this->vehicle_type) { default: NOT_REACHED(); - case VEH_TRAIN: - DoCommandP(this->window_number, sel_eng, 0, - CMD_BUILD_RAIL_VEHICLE | CMD_MSG(STR_ERROR_CAN_T_BUILD_TRAIN), - (RailVehInfo(sel_eng)->railveh_type == RAILVEH_WAGON) ? CcBuildWagon : CcBuildLoco); - break; - case VEH_ROAD: - DoCommandP(this->window_number, sel_eng, 0, CMD_BUILD_ROAD_VEH | CMD_MSG(STR_ERROR_CAN_T_BUILD_ROAD_VEHICLE), CcBuildRoadVeh); - break; - case VEH_SHIP: - DoCommandP(this->window_number, sel_eng, 0, CMD_BUILD_SHIP | CMD_MSG(STR_ERROR_CAN_T_BUILD_SHIP), CcBuildShip); - break; - case VEH_AIRCRAFT: - DoCommandP(this->window_number, sel_eng, 0, CMD_BUILD_AIRCRAFT | CMD_MSG(STR_ERROR_CAN_T_BUILD_AIRCRAFT), CcBuildAircraft); - break; + case VEH_TRAIN: callback = (RailVehInfo(sel_eng)->railveh_type == RAILVEH_WAGON) ? CcBuildWagon : CcBuildLoco; break; + case VEH_ROAD: callback = CcBuildRoadVeh; break; + case VEH_SHIP: callback = CcBuildShip; break; + case VEH_AIRCRAFT: callback = CcBuildAircraft; break; } + DoCommandP(this->window_number, sel_eng, 0, GetCmdBuildVeh(this->vehicle_type), callback); } break; } |