summaryrefslogtreecommitdiff
path: root/src/build_vehicle_gui.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-07-22 23:39:35 +0000
committerrubidium <rubidium@openttd.org>2009-07-22 23:39:35 +0000
commitb04ba7dcea92039c2e04f6ce9280fa3d488ebc3f (patch)
tree5d956d8a7d930305f4630976732c0985cad07323 /src/build_vehicle_gui.cpp
parent9980af289835021ef605f9f452d1f289145c6314 (diff)
downloadopenttd-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.cpp20
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;
}