From 33ca4f2b9950d98fed902962c847833667ccca9f Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Tue, 5 Oct 2021 22:02:27 +0200 Subject: Codechange: Let the compile generate the master command table out of templated command traits. This is using a non-intrusive type-traits like templated system, which allows compile-time validation that the command table and the command enum match up. --- src/vehicle_cmd.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/vehicle_cmd.cpp') diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index a36abb59d..472d10459 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -30,6 +30,11 @@ #include "newgrf.h" #include "company_base.h" #include "core/random_func.hpp" +#include "vehicle_cmd.h" +#include "aircraft_cmd.h" +#include "roadveh_cmd.h" +#include "train_cmd.h" +#include "ship_cmd.h" #include #include @@ -67,13 +72,6 @@ const StringID _send_to_depot_msg_table[] = { }; -CommandCost CmdBuildRailVehicle(TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v); -CommandCost CmdBuildRoadVehicle(TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v); -CommandCost CmdBuildShip (TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v); -CommandCost CmdBuildAircraft (TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v); - -CommandCost CmdRefitVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const std::string &text); - /** * Build a vehicle. * @param tile tile of depot where the vehicle is built @@ -192,8 +190,6 @@ CommandCost CmdBuildVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint return value; } -CommandCost CmdSellRailWagon(DoCommandFlag flags, Vehicle *v, uint16 data, uint32 user); - /** * Sell a vehicle. * @param tile unused. -- cgit v1.2.3-54-g00ecf