mirror of https://github.com/OpenTTD/OpenTTD.git
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.
This commit is contained in:
parent
5ddfdc8516
commit
33ca4f2b99
|
@ -38,6 +38,7 @@ endif()
|
||||||
add_files(
|
add_files(
|
||||||
aircraft.h
|
aircraft.h
|
||||||
aircraft_cmd.cpp
|
aircraft_cmd.cpp
|
||||||
|
aircraft_cmd.h
|
||||||
aircraft_gui.cpp
|
aircraft_gui.cpp
|
||||||
airport.cpp
|
airport.cpp
|
||||||
airport.h
|
airport.h
|
||||||
|
@ -49,6 +50,7 @@ add_files(
|
||||||
autoreplace.cpp
|
autoreplace.cpp
|
||||||
autoreplace_base.h
|
autoreplace_base.h
|
||||||
autoreplace_cmd.cpp
|
autoreplace_cmd.cpp
|
||||||
|
autoreplace_cmd.h
|
||||||
autoreplace_func.h
|
autoreplace_func.h
|
||||||
autoreplace_gui.cpp
|
autoreplace_gui.cpp
|
||||||
autoreplace_gui.h
|
autoreplace_gui.h
|
||||||
|
@ -90,6 +92,7 @@ add_files(
|
||||||
command_type.h
|
command_type.h
|
||||||
company_base.h
|
company_base.h
|
||||||
company_cmd.cpp
|
company_cmd.cpp
|
||||||
|
company_cmd.h
|
||||||
company_func.h
|
company_func.h
|
||||||
company_gui.cpp
|
company_gui.cpp
|
||||||
company_gui.h
|
company_gui.h
|
||||||
|
@ -119,6 +122,7 @@ add_files(
|
||||||
depot.cpp
|
depot.cpp
|
||||||
depot_base.h
|
depot_base.h
|
||||||
depot_cmd.cpp
|
depot_cmd.cpp
|
||||||
|
depot_cmd.h
|
||||||
depot_func.h
|
depot_func.h
|
||||||
depot_gui.cpp
|
depot_gui.cpp
|
||||||
depot_map.h
|
depot_map.h
|
||||||
|
@ -132,6 +136,7 @@ add_files(
|
||||||
driver.h
|
driver.h
|
||||||
economy.cpp
|
economy.cpp
|
||||||
economy_base.h
|
economy_base.h
|
||||||
|
economy_cmd.h
|
||||||
economy_func.h
|
economy_func.h
|
||||||
economy_type.h
|
economy_type.h
|
||||||
effectvehicle.cpp
|
effectvehicle.cpp
|
||||||
|
@ -141,6 +146,7 @@ add_files(
|
||||||
elrail_func.h
|
elrail_func.h
|
||||||
engine.cpp
|
engine.cpp
|
||||||
engine_base.h
|
engine_base.h
|
||||||
|
engine_cmd.h
|
||||||
engine_func.h
|
engine_func.h
|
||||||
engine_gui.cpp
|
engine_gui.cpp
|
||||||
engine_gui.h
|
engine_gui.h
|
||||||
|
@ -174,6 +180,7 @@ add_files(
|
||||||
gfxinit.h
|
gfxinit.h
|
||||||
goal.cpp
|
goal.cpp
|
||||||
goal_base.h
|
goal_base.h
|
||||||
|
goal_cmd.h
|
||||||
goal_gui.cpp
|
goal_gui.cpp
|
||||||
goal_type.h
|
goal_type.h
|
||||||
graph_gui.cpp
|
graph_gui.cpp
|
||||||
|
@ -182,6 +189,7 @@ add_files(
|
||||||
ground_vehicle.hpp
|
ground_vehicle.hpp
|
||||||
group.h
|
group.h
|
||||||
group_cmd.cpp
|
group_cmd.cpp
|
||||||
|
group_cmd.h
|
||||||
group_gui.cpp
|
group_gui.cpp
|
||||||
group_gui.h
|
group_gui.h
|
||||||
group_type.h
|
group_type.h
|
||||||
|
@ -198,6 +206,7 @@ add_files(
|
||||||
house_type.h
|
house_type.h
|
||||||
industry.h
|
industry.h
|
||||||
industry_cmd.cpp
|
industry_cmd.cpp
|
||||||
|
industry_cmd.h
|
||||||
industry_gui.cpp
|
industry_gui.cpp
|
||||||
industry_map.h
|
industry_map.h
|
||||||
industry_type.h
|
industry_type.h
|
||||||
|
@ -208,6 +217,7 @@ add_files(
|
||||||
intro_gui.cpp
|
intro_gui.cpp
|
||||||
landscape.cpp
|
landscape.cpp
|
||||||
landscape.h
|
landscape.h
|
||||||
|
landscape_cmd.h
|
||||||
landscape_type.h
|
landscape_type.h
|
||||||
language.h
|
language.h
|
||||||
livery.h
|
livery.h
|
||||||
|
@ -217,6 +227,7 @@ add_files(
|
||||||
map_type.h
|
map_type.h
|
||||||
misc.cpp
|
misc.cpp
|
||||||
misc_cmd.cpp
|
misc_cmd.cpp
|
||||||
|
misc_cmd.h
|
||||||
misc_gui.cpp
|
misc_gui.cpp
|
||||||
mixer.cpp
|
mixer.cpp
|
||||||
mixer.h
|
mixer.h
|
||||||
|
@ -277,6 +288,7 @@ add_files(
|
||||||
newgrf_town.h
|
newgrf_town.h
|
||||||
newgrf_townname.cpp
|
newgrf_townname.cpp
|
||||||
newgrf_townname.h
|
newgrf_townname.h
|
||||||
|
news_cmd.h
|
||||||
news_func.h
|
news_func.h
|
||||||
news_gui.cpp
|
news_gui.cpp
|
||||||
news_gui.h
|
news_gui.h
|
||||||
|
@ -284,6 +296,7 @@ add_files(
|
||||||
object.h
|
object.h
|
||||||
object_base.h
|
object_base.h
|
||||||
object_cmd.cpp
|
object_cmd.cpp
|
||||||
|
object_cmd.h
|
||||||
object_gui.cpp
|
object_gui.cpp
|
||||||
object_map.h
|
object_map.h
|
||||||
object_type.h
|
object_type.h
|
||||||
|
@ -293,6 +306,7 @@ add_files(
|
||||||
order_backup.h
|
order_backup.h
|
||||||
order_base.h
|
order_base.h
|
||||||
order_cmd.cpp
|
order_cmd.cpp
|
||||||
|
order_cmd.h
|
||||||
order_func.h
|
order_func.h
|
||||||
order_gui.cpp
|
order_gui.cpp
|
||||||
order_type.h
|
order_type.h
|
||||||
|
@ -305,6 +319,7 @@ add_files(
|
||||||
rail.cpp
|
rail.cpp
|
||||||
rail.h
|
rail.h
|
||||||
rail_cmd.cpp
|
rail_cmd.cpp
|
||||||
|
rail_cmd.h
|
||||||
rail_gui.cpp
|
rail_gui.cpp
|
||||||
rail_gui.h
|
rail_gui.h
|
||||||
rail_map.h
|
rail_map.h
|
||||||
|
@ -327,6 +342,7 @@ add_files(
|
||||||
roadstop_base.h
|
roadstop_base.h
|
||||||
roadveh.h
|
roadveh.h
|
||||||
roadveh_cmd.cpp
|
roadveh_cmd.cpp
|
||||||
|
roadveh_cmd.h
|
||||||
roadveh_gui.cpp
|
roadveh_gui.cpp
|
||||||
safeguards.h
|
safeguards.h
|
||||||
screenshot_gui.cpp
|
screenshot_gui.cpp
|
||||||
|
@ -334,6 +350,7 @@ add_files(
|
||||||
screenshot.cpp
|
screenshot.cpp
|
||||||
screenshot.h
|
screenshot.h
|
||||||
settings.cpp
|
settings.cpp
|
||||||
|
settings_cmd.h
|
||||||
settings_func.h
|
settings_func.h
|
||||||
settings_gui.cpp
|
settings_gui.cpp
|
||||||
settings_gui.h
|
settings_gui.h
|
||||||
|
@ -343,6 +360,7 @@ add_files(
|
||||||
settings_type.h
|
settings_type.h
|
||||||
ship.h
|
ship.h
|
||||||
ship_cmd.cpp
|
ship_cmd.cpp
|
||||||
|
ship_cmd.h
|
||||||
ship_gui.cpp
|
ship_gui.cpp
|
||||||
signal.cpp
|
signal.cpp
|
||||||
signal_func.h
|
signal_func.h
|
||||||
|
@ -350,6 +368,7 @@ add_files(
|
||||||
signs.cpp
|
signs.cpp
|
||||||
signs_base.h
|
signs_base.h
|
||||||
signs_cmd.cpp
|
signs_cmd.cpp
|
||||||
|
signs_cmd.h
|
||||||
signs_func.h
|
signs_func.h
|
||||||
signs_gui.cpp
|
signs_gui.cpp
|
||||||
signs_type.h
|
signs_type.h
|
||||||
|
@ -368,6 +387,7 @@ add_files(
|
||||||
station.cpp
|
station.cpp
|
||||||
station_base.h
|
station_base.h
|
||||||
station_cmd.cpp
|
station_cmd.cpp
|
||||||
|
station_cmd.h
|
||||||
station_func.h
|
station_func.h
|
||||||
station_gui.cpp
|
station_gui.cpp
|
||||||
station_gui.h
|
station_gui.h
|
||||||
|
@ -379,6 +399,7 @@ add_files(
|
||||||
stdafx.h
|
stdafx.h
|
||||||
story.cpp
|
story.cpp
|
||||||
story_base.h
|
story_base.h
|
||||||
|
story_cmd.h
|
||||||
story_gui.cpp
|
story_gui.cpp
|
||||||
story_type.h
|
story_type.h
|
||||||
strgen/strgen.h
|
strgen/strgen.h
|
||||||
|
@ -393,11 +414,13 @@ add_files(
|
||||||
strings_type.h
|
strings_type.h
|
||||||
subsidy.cpp
|
subsidy.cpp
|
||||||
subsidy_base.h
|
subsidy_base.h
|
||||||
|
subsidy_cmd.h
|
||||||
subsidy_func.h
|
subsidy_func.h
|
||||||
subsidy_gui.cpp
|
subsidy_gui.cpp
|
||||||
subsidy_type.h
|
subsidy_type.h
|
||||||
tar_type.h
|
tar_type.h
|
||||||
terraform_cmd.cpp
|
terraform_cmd.cpp
|
||||||
|
terraform_cmd.h
|
||||||
terraform_gui.cpp
|
terraform_gui.cpp
|
||||||
terraform_gui.h
|
terraform_gui.h
|
||||||
textbuf.cpp
|
textbuf.cpp
|
||||||
|
@ -422,11 +445,13 @@ add_files(
|
||||||
tilematrix_type.hpp
|
tilematrix_type.hpp
|
||||||
timetable.h
|
timetable.h
|
||||||
timetable_cmd.cpp
|
timetable_cmd.cpp
|
||||||
|
timetable_cmd.h
|
||||||
timetable_gui.cpp
|
timetable_gui.cpp
|
||||||
toolbar_gui.cpp
|
toolbar_gui.cpp
|
||||||
toolbar_gui.h
|
toolbar_gui.h
|
||||||
town.h
|
town.h
|
||||||
town_cmd.cpp
|
town_cmd.cpp
|
||||||
|
town_cmd.h
|
||||||
town_gui.cpp
|
town_gui.cpp
|
||||||
town_kdtree.h
|
town_kdtree.h
|
||||||
town_map.h
|
town_map.h
|
||||||
|
@ -438,22 +463,26 @@ add_files(
|
||||||
track_type.h
|
track_type.h
|
||||||
train.h
|
train.h
|
||||||
train_cmd.cpp
|
train_cmd.cpp
|
||||||
|
train_cmd.h
|
||||||
train_gui.cpp
|
train_gui.cpp
|
||||||
transparency.h
|
transparency.h
|
||||||
transparency_gui.cpp
|
transparency_gui.cpp
|
||||||
transparency_gui.h
|
transparency_gui.h
|
||||||
transport_type.h
|
transport_type.h
|
||||||
tree_cmd.cpp
|
tree_cmd.cpp
|
||||||
|
tree_cmd.h
|
||||||
tree_gui.cpp
|
tree_gui.cpp
|
||||||
tree_map.h
|
tree_map.h
|
||||||
tunnel_map.cpp
|
tunnel_map.cpp
|
||||||
tunnel_map.h
|
tunnel_map.h
|
||||||
tunnelbridge.h
|
tunnelbridge.h
|
||||||
tunnelbridge_cmd.cpp
|
tunnelbridge_cmd.cpp
|
||||||
|
tunnelbridge_cmd.h
|
||||||
tunnelbridge_map.h
|
tunnelbridge_map.h
|
||||||
vehicle.cpp
|
vehicle.cpp
|
||||||
vehicle_base.h
|
vehicle_base.h
|
||||||
vehicle_cmd.cpp
|
vehicle_cmd.cpp
|
||||||
|
vehicle_cmd.h
|
||||||
vehicle_func.h
|
vehicle_func.h
|
||||||
vehicle_gui.cpp
|
vehicle_gui.cpp
|
||||||
vehicle_gui.h
|
vehicle_gui.h
|
||||||
|
@ -462,6 +491,7 @@ add_files(
|
||||||
vehiclelist.cpp
|
vehiclelist.cpp
|
||||||
vehiclelist.h
|
vehiclelist.h
|
||||||
viewport.cpp
|
viewport.cpp
|
||||||
|
viewport_cmd.h
|
||||||
viewport_func.h
|
viewport_func.h
|
||||||
viewport_gui.cpp
|
viewport_gui.cpp
|
||||||
viewport_kdtree.h
|
viewport_kdtree.h
|
||||||
|
@ -472,10 +502,12 @@ add_files(
|
||||||
walltime_func.h
|
walltime_func.h
|
||||||
water.h
|
water.h
|
||||||
water_cmd.cpp
|
water_cmd.cpp
|
||||||
|
water_cmd.h
|
||||||
water_map.h
|
water_map.h
|
||||||
waypoint.cpp
|
waypoint.cpp
|
||||||
waypoint_base.h
|
waypoint_base.h
|
||||||
waypoint_cmd.cpp
|
waypoint_cmd.cpp
|
||||||
|
waypoint_cmd.h
|
||||||
waypoint_func.h
|
waypoint_func.h
|
||||||
waypoint_gui.cpp
|
waypoint_gui.cpp
|
||||||
widget.cpp
|
widget.cpp
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "disaster_vehicle.h"
|
#include "disaster_vehicle.h"
|
||||||
#include "newgrf_airporttiles.h"
|
#include "newgrf_airporttiles.h"
|
||||||
#include "framerate_type.h"
|
#include "framerate_type.h"
|
||||||
|
#include "aircraft_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file aircraft_cmd.h Command definitions related to aircraft. */
|
||||||
|
|
||||||
|
#ifndef AIRCRAFT_CMD_H
|
||||||
|
#define AIRCRAFT_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
#include "engine_type.h"
|
||||||
|
#include "vehicle_type.h"
|
||||||
|
|
||||||
|
CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v);
|
||||||
|
|
||||||
|
#endif /* AIRCRAFT_CMD_H */
|
|
@ -22,6 +22,7 @@
|
||||||
#include "ai/ai.hpp"
|
#include "ai/ai.hpp"
|
||||||
#include "news_func.h"
|
#include "news_func.h"
|
||||||
#include "strings_func.h"
|
#include "strings_func.h"
|
||||||
|
#include "autoreplace_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file autoreplace_cmd.h Command definitions related to autoreplace. */
|
||||||
|
|
||||||
|
#ifndef AUTOREPLACE_CMD_H
|
||||||
|
#define AUTOREPLACE_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdAutoreplaceVehicle;
|
||||||
|
CommandProc CmdSetAutoReplace;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_AUTOREPLACE_VEHICLE, CmdAutoreplaceVehicle, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_AUTOREPLACE, CmdSetAutoReplace, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* AUTOREPLACE_CMD_H */
|
389
src/command.cpp
389
src/command.cpp
|
@ -24,187 +24,66 @@
|
||||||
#include "signal_func.h"
|
#include "signal_func.h"
|
||||||
#include "core/backup_type.hpp"
|
#include "core/backup_type.hpp"
|
||||||
#include "object_base.h"
|
#include "object_base.h"
|
||||||
|
#include "autoreplace_cmd.h"
|
||||||
|
#include "company_cmd.h"
|
||||||
|
#include "depot_cmd.h"
|
||||||
|
#include "economy_cmd.h"
|
||||||
|
#include "engine_cmd.h"
|
||||||
|
#include "goal_cmd.h"
|
||||||
|
#include "group_cmd.h"
|
||||||
|
#include "industry_cmd.h"
|
||||||
|
#include "landscape_cmd.h"
|
||||||
|
#include "misc_cmd.h"
|
||||||
|
#include "news_cmd.h"
|
||||||
|
#include "object_cmd.h"
|
||||||
|
#include "order_cmd.h"
|
||||||
|
#include "rail_cmd.h"
|
||||||
|
#include "road_cmd.h"
|
||||||
|
#include "roadveh_cmd.h"
|
||||||
|
#include "settings_cmd.h"
|
||||||
|
#include "signs_cmd.h"
|
||||||
|
#include "station_cmd.h"
|
||||||
|
#include "story_cmd.h"
|
||||||
|
#include "subsidy_cmd.h"
|
||||||
|
#include "terraform_cmd.h"
|
||||||
|
#include "timetable_cmd.h"
|
||||||
|
#include "town_cmd.h"
|
||||||
|
#include "train_cmd.h"
|
||||||
|
#include "tree_cmd.h"
|
||||||
|
#include "tunnelbridge_cmd.h"
|
||||||
|
#include "vehicle_cmd.h"
|
||||||
|
#include "viewport_cmd.h"
|
||||||
|
#include "water_cmd.h"
|
||||||
|
#include "waypoint_cmd.h"
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
CommandProc CmdBuildRailroadTrack;
|
|
||||||
CommandProc CmdRemoveRailroadTrack;
|
|
||||||
CommandProc CmdBuildSingleRail;
|
|
||||||
CommandProc CmdRemoveSingleRail;
|
|
||||||
|
|
||||||
CommandProc CmdLandscapeClear;
|
/**
|
||||||
|
* Define a command with the flags which belongs to it.
|
||||||
|
*
|
||||||
|
* This struct connects a command handler function with the flags created with
|
||||||
|
* the #CMD_AUTO, #CMD_OFFLINE and #CMD_SERVER values.
|
||||||
|
*/
|
||||||
|
struct CommandInfo {
|
||||||
|
CommandProc *proc; ///< The procedure to actually executing
|
||||||
|
const char *name; ///< A human readable name for the procedure
|
||||||
|
CommandFlags flags; ///< The (command) flags to that apply to this command
|
||||||
|
CommandType type; ///< The type of command.
|
||||||
|
};
|
||||||
|
/* Helpers to generate the master command table from the command traits. */
|
||||||
|
|
||||||
CommandProc CmdBuildBridge;
|
template <typename T>
|
||||||
|
inline constexpr CommandInfo CommandFromTrait() noexcept { return { T::proc, T::name, T::flags, T::type }; };
|
||||||
|
|
||||||
CommandProc CmdBuildRailStation;
|
template<typename T, T... i>
|
||||||
CommandProc CmdRemoveFromRailStation;
|
inline constexpr auto MakeCommandsFromTraits(std::integer_sequence<T, i...>) noexcept {
|
||||||
CommandProc CmdConvertRail;
|
return std::array<CommandInfo, sizeof...(i)>{{ CommandFromTrait<CommandTraits<static_cast<Commands>(i)>>()... }};
|
||||||
|
}
|
||||||
CommandProc CmdBuildSingleSignal;
|
|
||||||
CommandProc CmdRemoveSingleSignal;
|
|
||||||
|
|
||||||
CommandProc CmdTerraformLand;
|
|
||||||
|
|
||||||
CommandProc CmdBuildObject;
|
|
||||||
CommandProc CmdSellLandArea;
|
|
||||||
|
|
||||||
CommandProc CmdBuildTunnel;
|
|
||||||
|
|
||||||
CommandProc CmdBuildTrainDepot;
|
|
||||||
CommandProc CmdBuildRailWaypoint;
|
|
||||||
CommandProc CmdRenameWaypoint;
|
|
||||||
CommandProc CmdRemoveFromRailWaypoint;
|
|
||||||
|
|
||||||
CommandProc CmdBuildRoadStop;
|
|
||||||
CommandProc CmdRemoveRoadStop;
|
|
||||||
|
|
||||||
CommandProc CmdBuildLongRoad;
|
|
||||||
CommandProc CmdRemoveLongRoad;
|
|
||||||
CommandProc CmdBuildRoad;
|
|
||||||
|
|
||||||
CommandProc CmdBuildRoadDepot;
|
|
||||||
|
|
||||||
CommandProc CmdConvertRoad;
|
|
||||||
|
|
||||||
CommandProc CmdBuildAirport;
|
|
||||||
|
|
||||||
CommandProc CmdBuildDock;
|
|
||||||
|
|
||||||
CommandProc CmdBuildShipDepot;
|
|
||||||
|
|
||||||
CommandProc CmdBuildBuoy;
|
|
||||||
|
|
||||||
CommandProc CmdPlantTree;
|
|
||||||
|
|
||||||
CommandProc CmdMoveRailVehicle;
|
|
||||||
|
|
||||||
CommandProc CmdBuildVehicle;
|
|
||||||
CommandProc CmdSellVehicle;
|
|
||||||
CommandProc CmdRefitVehicle;
|
|
||||||
CommandProc CmdSendVehicleToDepot;
|
|
||||||
CommandProc CmdSetVehicleVisibility;
|
|
||||||
|
|
||||||
CommandProc CmdForceTrainProceed;
|
|
||||||
CommandProc CmdReverseTrainDirection;
|
|
||||||
|
|
||||||
CommandProc CmdClearOrderBackup;
|
|
||||||
CommandProc CmdModifyOrder;
|
|
||||||
CommandProc CmdSkipToOrder;
|
|
||||||
CommandProc CmdDeleteOrder;
|
|
||||||
CommandProc CmdInsertOrder;
|
|
||||||
CommandProc CmdChangeServiceInt;
|
|
||||||
|
|
||||||
CommandProc CmdBuildIndustry;
|
|
||||||
CommandProc CmdIndustryCtrl;
|
|
||||||
|
|
||||||
CommandProc CmdSetCompanyManagerFace;
|
|
||||||
CommandProc CmdSetCompanyColour;
|
|
||||||
|
|
||||||
CommandProc CmdIncreaseLoan;
|
|
||||||
CommandProc CmdDecreaseLoan;
|
|
||||||
|
|
||||||
CommandProc CmdWantEnginePreview;
|
|
||||||
CommandProc CmdEngineCtrl;
|
|
||||||
|
|
||||||
CommandProc CmdRenameVehicle;
|
|
||||||
CommandProc CmdRenameEngine;
|
|
||||||
|
|
||||||
CommandProc CmdRenameCompany;
|
|
||||||
CommandProc CmdRenamePresident;
|
|
||||||
|
|
||||||
CommandProc CmdRenameStation;
|
|
||||||
CommandProc CmdRenameDepot;
|
|
||||||
|
|
||||||
CommandProc CmdPlaceSign;
|
|
||||||
CommandProc CmdRenameSign;
|
|
||||||
|
|
||||||
CommandProc CmdTurnRoadVeh;
|
|
||||||
|
|
||||||
CommandProc CmdPause;
|
|
||||||
|
|
||||||
CommandProc CmdBuyShareInCompany;
|
|
||||||
CommandProc CmdSellShareInCompany;
|
|
||||||
CommandProc CmdBuyCompany;
|
|
||||||
|
|
||||||
CommandProc CmdFoundTown;
|
|
||||||
CommandProc CmdRenameTown;
|
|
||||||
CommandProc CmdDoTownAction;
|
|
||||||
CommandProc CmdTownGrowthRate;
|
|
||||||
CommandProc CmdTownRating;
|
|
||||||
CommandProc CmdTownCargoGoal;
|
|
||||||
CommandProc CmdTownSetText;
|
|
||||||
CommandProc CmdExpandTown;
|
|
||||||
CommandProc CmdDeleteTown;
|
|
||||||
|
|
||||||
CommandProc CmdChangeSetting;
|
|
||||||
CommandProc CmdChangeCompanySetting;
|
|
||||||
|
|
||||||
CommandProc CmdOrderRefit;
|
|
||||||
CommandProc CmdCloneOrder;
|
|
||||||
|
|
||||||
CommandProc CmdClearArea;
|
|
||||||
|
|
||||||
CommandProc CmdGiveMoney;
|
|
||||||
CommandProc CmdMoneyCheat;
|
|
||||||
CommandProc CmdChangeBankBalance;
|
|
||||||
CommandProc CmdBuildCanal;
|
|
||||||
CommandProc CmdBuildLock;
|
|
||||||
|
|
||||||
CommandProc CmdCreateSubsidy;
|
|
||||||
CommandProc CmdCompanyCtrl;
|
|
||||||
CommandProc CmdCustomNewsItem;
|
|
||||||
CommandProc CmdCreateGoal;
|
|
||||||
CommandProc CmdRemoveGoal;
|
|
||||||
CommandProc CmdSetGoalText;
|
|
||||||
CommandProc CmdSetGoalProgress;
|
|
||||||
CommandProc CmdSetGoalCompleted;
|
|
||||||
CommandProc CmdGoalQuestion;
|
|
||||||
CommandProc CmdGoalQuestionAnswer;
|
|
||||||
CommandProc CmdCreateStoryPage;
|
|
||||||
CommandProc CmdCreateStoryPageElement;
|
|
||||||
CommandProc CmdUpdateStoryPageElement;
|
|
||||||
CommandProc CmdSetStoryPageTitle;
|
|
||||||
CommandProc CmdSetStoryPageDate;
|
|
||||||
CommandProc CmdShowStoryPage;
|
|
||||||
CommandProc CmdRemoveStoryPage;
|
|
||||||
CommandProc CmdRemoveStoryPageElement;
|
|
||||||
CommandProc CmdScrollViewport;
|
|
||||||
CommandProc CmdStoryPageButton;
|
|
||||||
|
|
||||||
CommandProc CmdLevelLand;
|
|
||||||
|
|
||||||
CommandProc CmdBuildSignalTrack;
|
|
||||||
CommandProc CmdRemoveSignalTrack;
|
|
||||||
|
|
||||||
CommandProc CmdSetAutoReplace;
|
|
||||||
|
|
||||||
CommandProc CmdCloneVehicle;
|
|
||||||
CommandProc CmdStartStopVehicle;
|
|
||||||
CommandProc CmdMassStartStopVehicle;
|
|
||||||
CommandProc CmdAutoreplaceVehicle;
|
|
||||||
CommandProc CmdDepotSellAllVehicles;
|
|
||||||
CommandProc CmdDepotMassAutoReplace;
|
|
||||||
|
|
||||||
CommandProc CmdCreateGroup;
|
|
||||||
CommandProc CmdAlterGroup;
|
|
||||||
CommandProc CmdDeleteGroup;
|
|
||||||
CommandProc CmdAddVehicleGroup;
|
|
||||||
CommandProc CmdAddSharedVehicleGroup;
|
|
||||||
CommandProc CmdRemoveAllVehiclesGroup;
|
|
||||||
CommandProc CmdSetGroupFlag;
|
|
||||||
CommandProc CmdSetGroupLivery;
|
|
||||||
|
|
||||||
CommandProc CmdMoveOrder;
|
|
||||||
CommandProc CmdChangeTimetable;
|
|
||||||
CommandProc CmdSetVehicleOnTime;
|
|
||||||
CommandProc CmdAutofillTimetable;
|
|
||||||
CommandProc CmdSetTimetableStart;
|
|
||||||
|
|
||||||
CommandProc CmdOpenCloseAirport;
|
|
||||||
|
|
||||||
#define DEF_CMD(proc, flags, type) {proc, #proc, (CommandFlags)flags, type}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The master command table
|
* The master command table
|
||||||
|
@ -213,162 +92,8 @@ CommandProc CmdOpenCloseAirport;
|
||||||
* the flags which belongs to it. The indices are the same
|
* the flags which belongs to it. The indices are the same
|
||||||
* as the value from the CMD_* enums.
|
* as the value from the CMD_* enums.
|
||||||
*/
|
*/
|
||||||
static const Command _command_proc_table[] = {
|
static constexpr auto _command_proc_table = MakeCommandsFromTraits(std::make_integer_sequence<std::underlying_type_t<Commands>, CMD_END>{});
|
||||||
DEF_CMD(CmdBuildRailroadTrack, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_RAILROAD_TRACK
|
|
||||||
DEF_CMD(CmdRemoveRailroadTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_RAILROAD_TRACK
|
|
||||||
DEF_CMD(CmdBuildSingleRail, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_SINGLE_RAIL
|
|
||||||
DEF_CMD(CmdRemoveSingleRail, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_SINGLE_RAIL
|
|
||||||
DEF_CMD(CmdLandscapeClear, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_LANDSCAPE_CLEAR
|
|
||||||
DEF_CMD(CmdBuildBridge, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_BRIDGE
|
|
||||||
DEF_CMD(CmdBuildRailStation, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_RAIL_STATION
|
|
||||||
DEF_CMD(CmdBuildTrainDepot, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_TRAIN_DEPOT
|
|
||||||
DEF_CMD(CmdBuildSingleSignal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_SIGNALS
|
|
||||||
DEF_CMD(CmdRemoveSingleSignal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_SIGNALS
|
|
||||||
DEF_CMD(CmdTerraformLand, CMD_ALL_TILES | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_TERRAFORM_LAND
|
|
||||||
DEF_CMD(CmdBuildObject, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_OBJECT
|
|
||||||
DEF_CMD(CmdBuildTunnel, CMD_DEITY | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_TUNNEL
|
|
||||||
DEF_CMD(CmdRemoveFromRailStation, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_FROM_RAIL_STATION
|
|
||||||
DEF_CMD(CmdConvertRail, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_CONVERT_RAILD
|
|
||||||
DEF_CMD(CmdBuildRailWaypoint, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_RAIL_WAYPOINT
|
|
||||||
DEF_CMD(CmdRenameWaypoint, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_WAYPOINT
|
|
||||||
DEF_CMD(CmdRemoveFromRailWaypoint, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_FROM_RAIL_WAYPOINT
|
|
||||||
|
|
||||||
DEF_CMD(CmdBuildRoadStop, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_ROAD_STOP
|
|
||||||
DEF_CMD(CmdRemoveRoadStop, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_ROAD_STOP
|
|
||||||
DEF_CMD(CmdBuildLongRoad,CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_LONG_ROAD
|
|
||||||
DEF_CMD(CmdRemoveLongRoad, CMD_NO_TEST | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_LONG_ROAD; towns may disallow removing road bits (as they are connected) in test, but in exec they're removed and thus removing is allowed.
|
|
||||||
DEF_CMD(CmdBuildRoad, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_ROAD
|
|
||||||
DEF_CMD(CmdBuildRoadDepot, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_ROAD_DEPOT
|
|
||||||
DEF_CMD(CmdConvertRoad, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_CONVERT_ROAD
|
|
||||||
|
|
||||||
DEF_CMD(CmdBuildAirport, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_AIRPORT
|
|
||||||
DEF_CMD(CmdBuildDock, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_DOCK
|
|
||||||
DEF_CMD(CmdBuildShipDepot, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_SHIP_DEPOT
|
|
||||||
DEF_CMD(CmdBuildBuoy, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_BUOY
|
|
||||||
DEF_CMD(CmdPlantTree, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_PLANT_TREE
|
|
||||||
|
|
||||||
DEF_CMD(CmdBuildVehicle, CMD_CLIENT_ID, CMDT_VEHICLE_CONSTRUCTION ), // CMD_BUILD_VEHICLE
|
|
||||||
DEF_CMD(CmdSellVehicle, CMD_CLIENT_ID, CMDT_VEHICLE_CONSTRUCTION ), // CMD_SELL_VEHICLE
|
|
||||||
DEF_CMD(CmdRefitVehicle, 0, CMDT_VEHICLE_CONSTRUCTION ), // CMD_REFIT_VEHICLE
|
|
||||||
DEF_CMD(CmdSendVehicleToDepot, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_SEND_VEHICLE_TO_DEPOT
|
|
||||||
DEF_CMD(CmdSetVehicleVisibility, 0, CMDT_COMPANY_SETTING ), // CMD_SET_VEHICLE_VISIBILITY
|
|
||||||
|
|
||||||
DEF_CMD(CmdMoveRailVehicle, 0, CMDT_VEHICLE_CONSTRUCTION ), // CMD_MOVE_RAIL_VEHICLE
|
|
||||||
DEF_CMD(CmdForceTrainProceed, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_FORCE_TRAIN_PROCEED
|
|
||||||
DEF_CMD(CmdReverseTrainDirection, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_REVERSE_TRAIN_DIRECTION
|
|
||||||
|
|
||||||
DEF_CMD(CmdClearOrderBackup, CMD_CLIENT_ID, CMDT_SERVER_SETTING ), // CMD_CLEAR_ORDER_BACKUP
|
|
||||||
DEF_CMD(CmdModifyOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_MODIFY_ORDER
|
|
||||||
DEF_CMD(CmdSkipToOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_SKIP_TO_ORDER
|
|
||||||
DEF_CMD(CmdDeleteOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_DELETE_ORDER
|
|
||||||
DEF_CMD(CmdInsertOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_INSERT_ORDER
|
|
||||||
|
|
||||||
DEF_CMD(CmdChangeServiceInt, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_CHANGE_SERVICE_INT
|
|
||||||
|
|
||||||
DEF_CMD(CmdBuildIndustry, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_INDUSTRY
|
|
||||||
DEF_CMD(CmdIndustryCtrl, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_INDUSTRY_CTRL
|
|
||||||
|
|
||||||
DEF_CMD(CmdSetCompanyManagerFace, 0, CMDT_OTHER_MANAGEMENT ), // CMD_SET_COMPANY_MANAGER_FACE
|
|
||||||
DEF_CMD(CmdSetCompanyColour, 0, CMDT_OTHER_MANAGEMENT ), // CMD_SET_COMPANY_COLOUR
|
|
||||||
|
|
||||||
DEF_CMD(CmdIncreaseLoan, 0, CMDT_MONEY_MANAGEMENT ), // CMD_INCREASE_LOAN
|
|
||||||
DEF_CMD(CmdDecreaseLoan, 0, CMDT_MONEY_MANAGEMENT ), // CMD_DECREASE_LOAN
|
|
||||||
|
|
||||||
DEF_CMD(CmdWantEnginePreview, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_WANT_ENGINE_PREVIEW
|
|
||||||
DEF_CMD(CmdEngineCtrl, CMD_DEITY, CMDT_VEHICLE_MANAGEMENT ), // CMD_ENGINE_CTRL
|
|
||||||
|
|
||||||
DEF_CMD(CmdRenameVehicle, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_VEHICLE
|
|
||||||
DEF_CMD(CmdRenameEngine, CMD_SERVER, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_ENGINE
|
|
||||||
|
|
||||||
DEF_CMD(CmdRenameCompany, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_COMPANY
|
|
||||||
DEF_CMD(CmdRenamePresident, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_PRESIDENT
|
|
||||||
|
|
||||||
DEF_CMD(CmdRenameStation, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_STATION
|
|
||||||
DEF_CMD(CmdRenameDepot, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_DEPOT
|
|
||||||
|
|
||||||
DEF_CMD(CmdPlaceSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_PLACE_SIGN
|
|
||||||
DEF_CMD(CmdRenameSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_SIGN
|
|
||||||
|
|
||||||
DEF_CMD(CmdTurnRoadVeh, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_TURN_ROADVEH
|
|
||||||
|
|
||||||
DEF_CMD(CmdPause, CMD_SERVER | CMD_NO_EST, CMDT_SERVER_SETTING ), // CMD_PAUSE
|
|
||||||
|
|
||||||
DEF_CMD(CmdBuyShareInCompany, 0, CMDT_MONEY_MANAGEMENT ), // CMD_BUY_SHARE_IN_COMPANY
|
|
||||||
DEF_CMD(CmdSellShareInCompany, 0, CMDT_MONEY_MANAGEMENT ), // CMD_SELL_SHARE_IN_COMPANY
|
|
||||||
DEF_CMD(CmdBuyCompany, 0, CMDT_MONEY_MANAGEMENT ), // CMD_BUY_COMANY
|
|
||||||
|
|
||||||
DEF_CMD(CmdFoundTown, CMD_DEITY | CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_FOUND_TOWN; founding random town can fail only in exec run
|
|
||||||
DEF_CMD(CmdRenameTown, CMD_DEITY | CMD_SERVER, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_TOWN
|
|
||||||
DEF_CMD(CmdDoTownAction, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DO_TOWN_ACTION
|
|
||||||
DEF_CMD(CmdTownCargoGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_CARGO_GOAL
|
|
||||||
DEF_CMD(CmdTownGrowthRate, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_GROWTH_RATE
|
|
||||||
DEF_CMD(CmdTownRating, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_RATING
|
|
||||||
DEF_CMD(CmdTownSetText, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_SET_TEXT
|
|
||||||
DEF_CMD(CmdExpandTown, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_EXPAND_TOWN
|
|
||||||
DEF_CMD(CmdDeleteTown, CMD_OFFLINE, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DELETE_TOWN
|
|
||||||
|
|
||||||
DEF_CMD(CmdOrderRefit, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_ORDER_REFIT
|
|
||||||
DEF_CMD(CmdCloneOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_CLONE_ORDER
|
|
||||||
|
|
||||||
DEF_CMD(CmdClearArea, CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_CLEAR_AREA; destroying multi-tile houses makes town rating differ between test and execution
|
|
||||||
|
|
||||||
DEF_CMD(CmdMoneyCheat, CMD_OFFLINE, CMDT_CHEAT ), // CMD_MONEY_CHEAT
|
|
||||||
DEF_CMD(CmdChangeBankBalance, CMD_DEITY, CMDT_MONEY_MANAGEMENT ), // CMD_CHANGE_BANK_BALANCE
|
|
||||||
DEF_CMD(CmdBuildCanal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_CANAL
|
|
||||||
DEF_CMD(CmdCreateSubsidy, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CREATE_SUBSIDY
|
|
||||||
DEF_CMD(CmdCompanyCtrl, CMD_SPECTATOR | CMD_CLIENT_ID | CMD_NO_EST, CMDT_SERVER_SETTING ), // CMD_COMPANY_CTRL
|
|
||||||
DEF_CMD(CmdCustomNewsItem, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CUSTOM_NEWS_ITEM
|
|
||||||
DEF_CMD(CmdCreateGoal, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CREATE_GOAL
|
|
||||||
DEF_CMD(CmdRemoveGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_GOAL
|
|
||||||
DEF_CMD(CmdSetGoalText, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SET_GOAL_TEXT
|
|
||||||
DEF_CMD(CmdSetGoalProgress, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SET_GOAL_PROGRESS
|
|
||||||
DEF_CMD(CmdSetGoalCompleted, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SET_GOAL_COMPLETED
|
|
||||||
DEF_CMD(CmdGoalQuestion, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_GOAL_QUESTION
|
|
||||||
DEF_CMD(CmdGoalQuestionAnswer, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_GOAL_QUESTION_ANSWER
|
|
||||||
DEF_CMD(CmdCreateStoryPage, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CREATE_STORY_PAGE
|
|
||||||
DEF_CMD(CmdCreateStoryPageElement, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CREATE_STORY_PAGE_ELEMENT
|
|
||||||
DEF_CMD(CmdUpdateStoryPageElement, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_UPDATE_STORY_PAGE_ELEMENT
|
|
||||||
DEF_CMD(CmdSetStoryPageTitle, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SET_STORY_PAGE_TITLE
|
|
||||||
DEF_CMD(CmdSetStoryPageDate, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SET_STORY_PAGE_DATE
|
|
||||||
DEF_CMD(CmdShowStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SHOW_STORY_PAGE
|
|
||||||
DEF_CMD(CmdRemoveStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_STORY_PAGE
|
|
||||||
DEF_CMD(CmdRemoveStoryPageElement, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_STORY_ELEMENT_PAGE
|
|
||||||
DEF_CMD(CmdScrollViewport, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SCROLL_VIEWPORT
|
|
||||||
DEF_CMD(CmdStoryPageButton, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_STORY_PAGE_BUTTON
|
|
||||||
|
|
||||||
DEF_CMD(CmdLevelLand, CMD_ALL_TILES | CMD_NO_TEST | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_LEVEL_LAND; test run might clear tiles multiple times, in execution that only happens once
|
|
||||||
|
|
||||||
DEF_CMD(CmdBuildLock, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_LOCK
|
|
||||||
|
|
||||||
DEF_CMD(CmdBuildSignalTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_SIGNAL_TRACK
|
|
||||||
DEF_CMD(CmdRemoveSignalTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_SIGNAL_TRACK
|
|
||||||
|
|
||||||
DEF_CMD(CmdGiveMoney, 0, CMDT_MONEY_MANAGEMENT ), // CMD_GIVE_MONEY
|
|
||||||
DEF_CMD(CmdChangeSetting, CMD_SERVER, CMDT_SERVER_SETTING ), // CMD_CHANGE_SETTING
|
|
||||||
DEF_CMD(CmdChangeCompanySetting, 0, CMDT_COMPANY_SETTING ), // CMD_CHANGE_COMPANY_SETTING
|
|
||||||
DEF_CMD(CmdSetAutoReplace, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_SET_AUTOREPLACE
|
|
||||||
DEF_CMD(CmdCloneVehicle, CMD_NO_TEST, CMDT_VEHICLE_CONSTRUCTION ), // CMD_CLONE_VEHICLE; NewGRF callbacks influence building and refitting making it impossible to correctly estimate the cost
|
|
||||||
DEF_CMD(CmdStartStopVehicle, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_START_STOP_VEHICLE
|
|
||||||
DEF_CMD(CmdMassStartStopVehicle, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_MASS_START_STOP
|
|
||||||
DEF_CMD(CmdAutoreplaceVehicle, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_AUTOREPLACE_VEHICLE
|
|
||||||
DEF_CMD(CmdDepotSellAllVehicles, 0, CMDT_VEHICLE_CONSTRUCTION ), // CMD_DEPOT_SELL_ALL_VEHICLES
|
|
||||||
DEF_CMD(CmdDepotMassAutoReplace, 0, CMDT_VEHICLE_CONSTRUCTION ), // CMD_DEPOT_MASS_AUTOREPLACE
|
|
||||||
DEF_CMD(CmdCreateGroup, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_CREATE_GROUP
|
|
||||||
DEF_CMD(CmdDeleteGroup, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_DELETE_GROUP
|
|
||||||
DEF_CMD(CmdAlterGroup, 0, CMDT_OTHER_MANAGEMENT ), // CMD_ALTER_GROUP
|
|
||||||
DEF_CMD(CmdAddVehicleGroup, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_ADD_VEHICLE_GROUP
|
|
||||||
DEF_CMD(CmdAddSharedVehicleGroup, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_ADD_SHARE_VEHICLE_GROUP
|
|
||||||
DEF_CMD(CmdRemoveAllVehiclesGroup, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_REMOVE_ALL_VEHICLES_GROUP
|
|
||||||
DEF_CMD(CmdSetGroupFlag, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_SET_GROUP_FLAG
|
|
||||||
DEF_CMD(CmdSetGroupLivery, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_SET_GROUP_LIVERY
|
|
||||||
DEF_CMD(CmdMoveOrder, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_MOVE_ORDER
|
|
||||||
DEF_CMD(CmdChangeTimetable, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_CHANGE_TIMETABLE
|
|
||||||
DEF_CMD(CmdSetVehicleOnTime, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_SET_VEHICLE_ON_TIME
|
|
||||||
DEF_CMD(CmdAutofillTimetable, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_AUTOFILL_TIMETABLE
|
|
||||||
DEF_CMD(CmdSetTimetableStart, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_SET_TIMETABLE_START
|
|
||||||
|
|
||||||
DEF_CMD(CmdOpenCloseAirport, 0, CMDT_ROUTE_MANAGEMENT ), // CMD_OPEN_CLOSE_AIRPORT
|
|
||||||
};
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* This function range-checks a cmd, and checks if the cmd is not nullptr
|
* This function range-checks a cmd, and checks if the cmd is not nullptr
|
||||||
|
@ -376,9 +101,9 @@ static const Command _command_proc_table[] = {
|
||||||
* @param cmd The integer value of a command
|
* @param cmd The integer value of a command
|
||||||
* @return true if the command is valid (and got a CommandProc function)
|
* @return true if the command is valid (and got a CommandProc function)
|
||||||
*/
|
*/
|
||||||
bool IsValidCommand(uint32 cmd)
|
bool IsValidCommand(Commands cmd)
|
||||||
{
|
{
|
||||||
return cmd < lengthof(_command_proc_table) && _command_proc_table[cmd].proc != nullptr;
|
return cmd < _command_proc_table.size() && _command_proc_table[cmd].proc != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -414,7 +139,7 @@ const char *GetCommandName(Commands cmd)
|
||||||
* @param cmd The command to check.
|
* @param cmd The command to check.
|
||||||
* @return True if the command is allowed while paused, false otherwise.
|
* @return True if the command is allowed while paused, false otherwise.
|
||||||
*/
|
*/
|
||||||
bool IsCommandAllowedWhilePaused(uint32 cmd)
|
bool IsCommandAllowedWhilePaused(Commands cmd)
|
||||||
{
|
{
|
||||||
/* Lookup table for the command types that are allowed for a given pause level setting. */
|
/* Lookup table for the command types that are allowed for a given pause level setting. */
|
||||||
static const int command_type_lookup[] = {
|
static const int command_type_lookup[] = {
|
||||||
|
@ -704,7 +429,7 @@ CommandCost DoCommandPInternal(Commands cmd, StringID err_message, CommandCallba
|
||||||
_additional_cash_required = 0;
|
_additional_cash_required = 0;
|
||||||
|
|
||||||
/* Get pointer to command handler */
|
/* Get pointer to command handler */
|
||||||
assert(cmd < lengthof(_command_proc_table));
|
assert(cmd < _command_proc_table.size());
|
||||||
CommandProc *proc = _command_proc_table[cmd].proc;
|
CommandProc *proc = _command_proc_table[cmd].proc;
|
||||||
/* Shouldn't happen, but you never know when someone adds
|
/* Shouldn't happen, but you never know when someone adds
|
||||||
* NULLs to the _command_proc_table. */
|
* NULLs to the _command_proc_table. */
|
||||||
|
|
|
@ -47,11 +47,11 @@ void NetworkSendCommand(Commands cmd, StringID err_message, CommandCallback *cal
|
||||||
|
|
||||||
extern Money _additional_cash_required;
|
extern Money _additional_cash_required;
|
||||||
|
|
||||||
bool IsValidCommand(uint32 cmd);
|
bool IsValidCommand(Commands cmd);
|
||||||
CommandFlags GetCommandFlags(Commands cmd);
|
CommandFlags GetCommandFlags(Commands cmd);
|
||||||
const char *GetCommandName(Commands cmd);
|
const char *GetCommandName(Commands cmd);
|
||||||
Money GetAvailableMoneyForCommand();
|
Money GetAvailableMoneyForCommand();
|
||||||
bool IsCommandAllowedWhilePaused(uint32 cmd);
|
bool IsCommandAllowedWhilePaused(Commands cmd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extracts the DC flags needed for DoCommand from the flags returned by GetCommandFlags
|
* Extracts the DC flags needed for DoCommand from the flags returned by GetCommandFlags
|
||||||
|
|
|
@ -423,18 +423,17 @@ enum CommandPauseLevel {
|
||||||
*/
|
*/
|
||||||
typedef CommandCost CommandProc(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const std::string &text);
|
typedef CommandCost CommandProc(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const std::string &text);
|
||||||
|
|
||||||
/**
|
|
||||||
* Define a command with the flags which belongs to it.
|
/** Defines the traits of a command. */
|
||||||
*
|
template <Commands Tcmd> struct CommandTraits;
|
||||||
* This struct connect a command handler function with the flags created with
|
|
||||||
* the #CMD_AUTO, #CMD_OFFLINE and #CMD_SERVER values.
|
#define DEF_CMD_TRAIT(cmd_, proc_, flags_, type_) \
|
||||||
*/
|
template<> struct CommandTraits<cmd_> { \
|
||||||
struct Command {
|
static constexpr auto &proc = proc_; \
|
||||||
CommandProc *proc; ///< The procedure to actually executing
|
static constexpr CommandFlags flags = (CommandFlags)(flags_); \
|
||||||
const char *name; ///< A human readable name for the procedure
|
static constexpr CommandType type = type_; \
|
||||||
CommandFlags flags; ///< The (command) flags to that apply to this command
|
static inline constexpr const char *name = #proc_; \
|
||||||
CommandType type; ///< The type of command.
|
};
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define a callback function for the client, after the command is finished.
|
* Define a callback function for the client, after the command is finished.
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include "goal_base.h"
|
#include "goal_base.h"
|
||||||
#include "story_base.h"
|
#include "story_base.h"
|
||||||
#include "widgets/statusbar_widget.h"
|
#include "widgets/statusbar_widget.h"
|
||||||
|
#include "company_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file company_cmd.h Command definitions related to companies. */
|
||||||
|
|
||||||
|
#ifndef COMPANY_CMD_H
|
||||||
|
#define COMPANY_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdCompanyCtrl;
|
||||||
|
CommandProc CmdGiveMoney;
|
||||||
|
CommandProc CmdRenameCompany;
|
||||||
|
CommandProc CmdRenamePresident;
|
||||||
|
CommandProc CmdSetCompanyManagerFace;
|
||||||
|
CommandProc CmdSetCompanyColour;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_COMPANY_CTRL, CmdCompanyCtrl, CMD_SPECTATOR | CMD_CLIENT_ID | CMD_NO_EST, CMDT_SERVER_SETTING)
|
||||||
|
DEF_CMD_TRAIT(CMD_GIVE_MONEY, CmdGiveMoney, 0, CMDT_MONEY_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_COMPANY, CmdRenameCompany, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_PRESIDENT, CmdRenamePresident, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_COMPANY_MANAGER_FACE, CmdSetCompanyManagerFace, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_COMPANY_COLOUR, CmdSetCompanyColour, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* COMPANY_CMD_H */
|
|
@ -16,6 +16,7 @@
|
||||||
#include "vehicle_gui.h"
|
#include "vehicle_gui.h"
|
||||||
#include "vehiclelist.h"
|
#include "vehiclelist.h"
|
||||||
#include "window_func.h"
|
#include "window_func.h"
|
||||||
|
#include "depot_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file depot_cmd.h Command definitions related to depots. */
|
||||||
|
|
||||||
|
#ifndef DEPOT_CMD_H
|
||||||
|
#define DEPOT_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdRenameDepot;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_DEPOT, CmdRenameDepot, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* DEPOT_CMD_H */
|
|
@ -48,6 +48,7 @@
|
||||||
#include "goal_base.h"
|
#include "goal_base.h"
|
||||||
#include "story_base.h"
|
#include "story_base.h"
|
||||||
#include "linkgraph/refresh.h"
|
#include "linkgraph/refresh.h"
|
||||||
|
#include "economy_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/pricebase.h"
|
#include "table/pricebase.h"
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file economy_cmd.h Command definitions related to the economy. */
|
||||||
|
|
||||||
|
#ifndef ECONOMY_CMD_H
|
||||||
|
#define ECONOMY_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuyShareInCompany;
|
||||||
|
CommandProc CmdSellShareInCompany;
|
||||||
|
CommandProc CmdBuyCompany;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUY_SHARE_IN_COMPANY, CmdBuyShareInCompany, 0, CMDT_MONEY_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SELL_SHARE_IN_COMPANY, CmdSellShareInCompany, 0, CMDT_MONEY_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUY_COMPANY, CmdBuyCompany, 0, CMDT_MONEY_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* ECONOMY_CMD_H */
|
|
@ -29,6 +29,7 @@
|
||||||
#include "vehicle_func.h"
|
#include "vehicle_func.h"
|
||||||
#include "articulated_vehicles.h"
|
#include "articulated_vehicles.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
|
#include "engine_base.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/engines.h"
|
#include "table/engines.h"
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file engine_cmd.h Command definitions related to engines. */
|
||||||
|
|
||||||
|
#ifndef ENGINE_CMD_H
|
||||||
|
#define ENGINE_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdWantEnginePreview;
|
||||||
|
CommandProc CmdEngineCtrl;
|
||||||
|
CommandProc CmdRenameEngine;
|
||||||
|
CommandProc CmdSetVehicleVisibility;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_WANT_ENGINE_PREVIEW, CmdWantEnginePreview, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_ENGINE_CTRL, CmdEngineCtrl, CMD_DEITY, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_ENGINE, CmdRenameEngine, CMD_SERVER, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_VEHICLE_VISIBILITY, CmdSetVehicleVisibility, 0, CMDT_COMPANY_SETTING)
|
||||||
|
|
||||||
|
#endif /* ENGINE_CMD_H */
|
|
@ -23,6 +23,7 @@
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
#include "network/network_base.h"
|
#include "network/network_base.h"
|
||||||
#include "network/network_func.h"
|
#include "network/network_func.h"
|
||||||
|
#include "goal_cmd.h"
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file goal_cmd.h Command definitions related to goals. */
|
||||||
|
|
||||||
|
#ifndef GOAL_CMD_H
|
||||||
|
#define GOAL_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdCreateGoal;
|
||||||
|
CommandProc CmdRemoveGoal;
|
||||||
|
CommandProc CmdSetGoalText;
|
||||||
|
CommandProc CmdSetGoalProgress;
|
||||||
|
CommandProc CmdSetGoalCompleted;
|
||||||
|
CommandProc CmdGoalQuestion;
|
||||||
|
CommandProc CmdGoalQuestionAnswer;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_CREATE_GOAL, CmdCreateGoal, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_GOAL, CmdRemoveGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_GOAL_TEXT, CmdSetGoalText, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_GOAL_PROGRESS, CmdSetGoalProgress, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_GOAL_COMPLETED, CmdSetGoalCompleted, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_GOAL_QUESTION, CmdGoalQuestion, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_GOAL_QUESTION_ANSWER, CmdGoalQuestionAnswer, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* GOAL_CMD_H */
|
|
@ -19,6 +19,7 @@
|
||||||
#include "company_func.h"
|
#include "company_func.h"
|
||||||
#include "core/pool_func.hpp"
|
#include "core/pool_func.hpp"
|
||||||
#include "order_backup.h"
|
#include "order_backup.h"
|
||||||
|
#include "group_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file group_cmd.h Command definitions related to engine groups. */
|
||||||
|
|
||||||
|
#ifndef GROUP_CMD_H
|
||||||
|
#define GROUP_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdCreateGroup;
|
||||||
|
CommandProc CmdAlterGroup;
|
||||||
|
CommandProc CmdDeleteGroup;
|
||||||
|
CommandProc CmdAddVehicleGroup;
|
||||||
|
CommandProc CmdAddSharedVehicleGroup;
|
||||||
|
CommandProc CmdRemoveAllVehiclesGroup;
|
||||||
|
CommandProc CmdSetGroupFlag;
|
||||||
|
CommandProc CmdSetGroupLivery;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_CREATE_GROUP, CmdCreateGroup, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_DELETE_GROUP, CmdDeleteGroup, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_ALTER_GROUP, CmdAlterGroup, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_ADD_VEHICLE_GROUP, CmdAddVehicleGroup, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_ADD_SHARED_VEHICLE_GROUP, CmdAddSharedVehicleGroup, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_ALL_VEHICLES_GROUP, CmdRemoveAllVehiclesGroup, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_GROUP_FLAG, CmdSetGroupFlag, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_GROUP_LIVERY, CmdSetGroupLivery, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* GROUP_CMD_H */
|
|
@ -42,6 +42,7 @@
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "cmd_helper.h"
|
#include "cmd_helper.h"
|
||||||
#include "string_func.h"
|
#include "string_func.h"
|
||||||
|
#include "industry_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/industry_land.h"
|
#include "table/industry_land.h"
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file industry_cmd.h Command definitions related to industries. */
|
||||||
|
|
||||||
|
#ifndef INDUSTRY_CMD_H
|
||||||
|
#define INDUSTRY_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildIndustry;
|
||||||
|
CommandProc CmdIndustryCtrl;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_INDUSTRY, CmdBuildIndustry, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_INDUSTRY_CTRL, CmdIndustryCtrl, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* INDUSTRY_CMD_H */
|
|
@ -31,6 +31,7 @@
|
||||||
#include "pathfinder/npf/aystar.h"
|
#include "pathfinder/npf/aystar.h"
|
||||||
#include "saveload/saveload.h"
|
#include "saveload/saveload.h"
|
||||||
#include "framerate_type.h"
|
#include "framerate_type.h"
|
||||||
|
#include "landscape_cmd.h"
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file landscape_cmd.h Command definitions related to landscape (slopes etc.). */
|
||||||
|
|
||||||
|
#ifndef LANDSCAPE_CMD_H
|
||||||
|
#define LANDSCAPE_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdLandscapeClear;
|
||||||
|
CommandProc CmdClearArea;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_LANDSCAPE_CLEAR, CmdLandscapeClear, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_CLEAR_AREA, CmdClearArea, CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION) // destroying multi-tile houses makes town rating differ between test and execution
|
||||||
|
|
||||||
|
#endif /* LANDSCAPE_CMD_H */
|
|
@ -22,6 +22,7 @@
|
||||||
#include "tile_map.h"
|
#include "tile_map.h"
|
||||||
#include "texteff.hpp"
|
#include "texteff.hpp"
|
||||||
#include "core/backup_type.hpp"
|
#include "core/backup_type.hpp"
|
||||||
|
#include "misc_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file misc_cmd.h Miscellaneous command definitions. */
|
||||||
|
|
||||||
|
#ifndef MISC_CMD_H
|
||||||
|
#define MISC_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdMoneyCheat;
|
||||||
|
CommandProc CmdChangeBankBalance;
|
||||||
|
CommandProc CmdIncreaseLoan;
|
||||||
|
CommandProc CmdDecreaseLoan;
|
||||||
|
CommandProc CmdPause;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_MONEY_CHEAT, CmdMoneyCheat, CMD_OFFLINE, CMDT_CHEAT)
|
||||||
|
DEF_CMD_TRAIT(CMD_CHANGE_BANK_BALANCE, CmdChangeBankBalance, CMD_DEITY, CMDT_MONEY_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_INCREASE_LOAN, CmdIncreaseLoan, 0, CMDT_MONEY_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_DECREASE_LOAN, CmdDecreaseLoan, 0, CMDT_MONEY_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_PAUSE, CmdPause, CMD_SERVER | CMD_NO_EST, CMDT_SERVER_SETTING)
|
||||||
|
|
||||||
|
#endif /* MISC_CMD_H */
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file news_cmd.h Command definitions related to news messages. */
|
||||||
|
|
||||||
|
#ifndef NEWS_CMD_H
|
||||||
|
#define NEWS_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdCustomNewsItem;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_CUSTOM_NEWS_ITEM, CmdCustomNewsItem, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* NEWS_CMD_H */
|
|
@ -35,6 +35,7 @@
|
||||||
#include "guitimer_func.h"
|
#include "guitimer_func.h"
|
||||||
#include "group_gui.h"
|
#include "group_gui.h"
|
||||||
#include "zoom_func.h"
|
#include "zoom_func.h"
|
||||||
|
#include "news_cmd.h"
|
||||||
|
|
||||||
#include "widgets/news_widget.h"
|
#include "widgets/news_widget.h"
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "newgrf_debug.h"
|
#include "newgrf_debug.h"
|
||||||
#include "vehicle_func.h"
|
#include "vehicle_func.h"
|
||||||
#include "station_func.h"
|
#include "station_func.h"
|
||||||
|
#include "object_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/object_land.h"
|
#include "table/object_land.h"
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file object_cmd.h Command definitions related to objects. */
|
||||||
|
|
||||||
|
#ifndef OBJECT_CMD_H
|
||||||
|
#define OBJECT_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildObject;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_OBJECT, CmdBuildObject, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
|
||||||
|
#endif /* OBJECT_CMD_H */
|
|
@ -16,6 +16,7 @@
|
||||||
#include "vehicle_base.h"
|
#include "vehicle_base.h"
|
||||||
#include "window_func.h"
|
#include "window_func.h"
|
||||||
#include "station_map.h"
|
#include "station_map.h"
|
||||||
|
#include "order_cmd.h"
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "company_base.h"
|
#include "company_base.h"
|
||||||
#include "order_backup.h"
|
#include "order_backup.h"
|
||||||
#include "cheat_type.h"
|
#include "cheat_type.h"
|
||||||
|
#include "order_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file order_cmd.h Command definitions related to orders. */
|
||||||
|
|
||||||
|
#ifndef ORDER_CMD_H
|
||||||
|
#define ORDER_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdModifyOrder;
|
||||||
|
CommandProc CmdSkipToOrder;
|
||||||
|
CommandProc CmdDeleteOrder;
|
||||||
|
CommandProc CmdInsertOrder;
|
||||||
|
CommandProc CmdOrderRefit;
|
||||||
|
CommandProc CmdCloneOrder;
|
||||||
|
CommandProc CmdMoveOrder;
|
||||||
|
CommandProc CmdClearOrderBackup;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_MODIFY_ORDER, CmdModifyOrder, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SKIP_TO_ORDER, CmdSkipToOrder, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_DELETE_ORDER, CmdDeleteOrder, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_INSERT_ORDER, CmdInsertOrder, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_ORDER_REFIT, CmdOrderRefit, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_CLONE_ORDER, CmdCloneOrder, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_MOVE_ORDER, CmdMoveOrder, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_CLEAR_ORDER_BACKUP, CmdClearOrderBackup, CMD_CLIENT_ID, CMDT_SERVER_SETTING)
|
||||||
|
|
||||||
|
#endif /* ORDER_CMD_H */
|
|
@ -31,6 +31,7 @@
|
||||||
#include "strings_func.h"
|
#include "strings_func.h"
|
||||||
#include "company_gui.h"
|
#include "company_gui.h"
|
||||||
#include "object_map.h"
|
#include "object_map.h"
|
||||||
|
#include "rail_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/railtypes.h"
|
#include "table/railtypes.h"
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file rail_cmd.h Command definitions for rail. */
|
||||||
|
|
||||||
|
#ifndef RAIL_CMD_H
|
||||||
|
#define RAIL_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildRailroadTrack;
|
||||||
|
CommandProc CmdRemoveRailroadTrack;
|
||||||
|
CommandProc CmdBuildSingleRail;
|
||||||
|
CommandProc CmdRemoveSingleRail;
|
||||||
|
CommandProc CmdBuildTrainDepot;
|
||||||
|
CommandProc CmdBuildSingleSignal;
|
||||||
|
CommandProc CmdRemoveSingleSignal;
|
||||||
|
CommandProc CmdConvertRail;
|
||||||
|
CommandProc CmdBuildSignalTrack;
|
||||||
|
CommandProc CmdRemoveSignalTrack;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_RAILROAD_TRACK, CmdBuildRailroadTrack, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_RAILROAD_TRACK, CmdRemoveRailroadTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_SINGLE_RAIL, CmdBuildSingleRail, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_SINGLE_RAIL, CmdRemoveSingleRail, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_TRAIN_DEPOT, CmdBuildTrainDepot, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_SIGNALS, CmdBuildSingleSignal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_SIGNALS, CmdRemoveSingleSignal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_CONVERT_RAIL, CmdConvertRail, 0, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_SIGNAL_TRACK, CmdBuildSignalTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_SIGNAL_TRACK, CmdRemoveSignalTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
|
||||||
|
#endif /* RAIL_CMD_H */
|
|
@ -37,6 +37,7 @@
|
||||||
#include "genworld.h"
|
#include "genworld.h"
|
||||||
#include "company_gui.h"
|
#include "company_gui.h"
|
||||||
#include "road_func.h"
|
#include "road_func.h"
|
||||||
|
#include "road_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/roadtypes.h"
|
#include "table/roadtypes.h"
|
||||||
|
|
|
@ -12,8 +12,21 @@
|
||||||
|
|
||||||
#include "direction_type.h"
|
#include "direction_type.h"
|
||||||
#include "road_type.h"
|
#include "road_type.h"
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
void DrawRoadDepotSprite(int x, int y, DiagDirection dir, RoadType rt);
|
void DrawRoadDepotSprite(int x, int y, DiagDirection dir, RoadType rt);
|
||||||
void UpdateNearestTownForRoadTiles(bool invalidate);
|
void UpdateNearestTownForRoadTiles(bool invalidate);
|
||||||
|
|
||||||
|
CommandProc CmdBuildLongRoad;
|
||||||
|
CommandProc CmdRemoveLongRoad;
|
||||||
|
CommandProc CmdBuildRoad;
|
||||||
|
CommandProc CmdBuildRoadDepot;
|
||||||
|
CommandProc CmdConvertRoad;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_LONG_ROAD, CmdBuildLongRoad, CMD_AUTO | CMD_NO_WATER | CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_LONG_ROAD, CmdRemoveLongRoad, CMD_AUTO | CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION) // towns may disallow removing road bits (as they are connected) in test, but in exec they're removed and thus removing is allowed.
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_ROAD, CmdBuildRoad, CMD_AUTO | CMD_NO_WATER | CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_ROAD_DEPOT, CmdBuildRoadDepot, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_CONVERT_ROAD, CmdConvertRoad, 0, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
|
||||||
#endif /* ROAD_CMD_H */
|
#endif /* ROAD_CMD_H */
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include "newgrf.h"
|
#include "newgrf.h"
|
||||||
#include "zoom_func.h"
|
#include "zoom_func.h"
|
||||||
#include "framerate_type.h"
|
#include "framerate_type.h"
|
||||||
|
#include "roadveh_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file roadveh_cmd.h Command definitions related to road vehicles. */
|
||||||
|
|
||||||
|
#ifndef ROADVEH_CMD_H
|
||||||
|
#define ROADVEH_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
#include "engine_type.h"
|
||||||
|
#include "vehicle_type.h"
|
||||||
|
|
||||||
|
CommandCost CmdBuildRoadVehicle(TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v);
|
||||||
|
|
||||||
|
CommandProc CmdTurnRoadVeh;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_TURN_ROADVEH, CmdTurnRoadVeh, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* ROADVEH_CMD_H */
|
|
@ -44,6 +44,7 @@
|
||||||
#include "newgrf_config.h"
|
#include "newgrf_config.h"
|
||||||
#include "fios.h"
|
#include "fios.h"
|
||||||
#include "fileio_func.h"
|
#include "fileio_func.h"
|
||||||
|
#include "settings_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file settings_cmd.h Command definitions related to settings. */
|
||||||
|
|
||||||
|
#ifndef SETTINGS_CMD_H
|
||||||
|
#define SETTINGS_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdChangeSetting;
|
||||||
|
CommandProc CmdChangeCompanySetting;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_CHANGE_SETTING, CmdChangeSetting, CMD_SERVER, CMDT_SERVER_SETTING)
|
||||||
|
DEF_CMD_TRAIT(CMD_CHANGE_COMPANY_SETTING, CmdChangeCompanySetting, 0, CMDT_COMPANY_SETTING)
|
||||||
|
|
||||||
|
#endif /* SETTINGS_CMD_H */
|
|
@ -34,6 +34,7 @@
|
||||||
#include "framerate_type.h"
|
#include "framerate_type.h"
|
||||||
#include "industry.h"
|
#include "industry.h"
|
||||||
#include "industry_map.h"
|
#include "industry_map.h"
|
||||||
|
#include "ship_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file ship_cmd.h Command definitions related to ships. */
|
||||||
|
|
||||||
|
#ifndef SHIP_CMD_H
|
||||||
|
#define SHIP_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
#include "engine_type.h"
|
||||||
|
#include "vehicle_type.h"
|
||||||
|
|
||||||
|
CommandCost CmdBuildShip(TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v);
|
||||||
|
|
||||||
|
#endif /* SHIP_CMD_H */
|
|
@ -17,6 +17,7 @@
|
||||||
#include "viewport_kdtree.h"
|
#include "viewport_kdtree.h"
|
||||||
#include "window_func.h"
|
#include "window_func.h"
|
||||||
#include "string_func.h"
|
#include "string_func.h"
|
||||||
|
#include "signs_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file signs_cmd.h Command definitions related to signs. */
|
||||||
|
|
||||||
|
#ifndef SIGNS_CMD_H
|
||||||
|
#define SIGNS_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdPlaceSign;
|
||||||
|
CommandProc CmdRenameSign;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_PLACE_SIGN, CmdPlaceSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_SIGN, CmdRenameSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* SIGNS_CMD_H */
|
|
@ -56,6 +56,8 @@
|
||||||
#include "linkgraph/refresh.h"
|
#include "linkgraph/refresh.h"
|
||||||
#include "widgets/station_widget.h"
|
#include "widgets/station_widget.h"
|
||||||
#include "tunnelbridge_map.h"
|
#include "tunnelbridge_map.h"
|
||||||
|
#include "station_cmd.h"
|
||||||
|
#include "waypoint_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file station_cmd.h Command definitions related to stations. */
|
||||||
|
|
||||||
|
#ifndef STATION_CMD_H
|
||||||
|
#define STATION_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildAirport;
|
||||||
|
CommandProc CmdBuildDock;
|
||||||
|
CommandProc CmdBuildRailStation;
|
||||||
|
CommandProc CmdRemoveFromRailStation;
|
||||||
|
CommandProc CmdBuildRoadStop;
|
||||||
|
CommandProc CmdRemoveRoadStop;
|
||||||
|
CommandProc CmdRenameStation;
|
||||||
|
CommandProc CmdOpenCloseAirport;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_AIRPORT, CmdBuildAirport, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_DOCK, CmdBuildDock, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_RAIL_STATION, CmdBuildRailStation, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_FROM_RAIL_STATION, CmdRemoveFromRailStation, 0, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_ROAD_STOP, CmdBuildRoadStop, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_ROAD_STOP, CmdRemoveRoadStop, 0, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_STATION, CmdRenameStation, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_OPEN_CLOSE_AIRPORT, CmdOpenCloseAirport, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* STATION_CMD_H */
|
|
@ -25,6 +25,7 @@
|
||||||
#include "game/game.hpp"
|
#include "game/game.hpp"
|
||||||
#include "script/api/script_story_page.hpp"
|
#include "script/api/script_story_page.hpp"
|
||||||
#include "script/api/script_event_types.hpp"
|
#include "script/api/script_event_types.hpp"
|
||||||
|
#include "story_cmd.h"
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file story_cmd.h Command definitions related to stories. */
|
||||||
|
|
||||||
|
#ifndef STORY_CMD_H
|
||||||
|
#define STORY_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdCreateStoryPage;
|
||||||
|
CommandProc CmdCreateStoryPageElement;
|
||||||
|
CommandProc CmdUpdateStoryPageElement;
|
||||||
|
CommandProc CmdSetStoryPageTitle;
|
||||||
|
CommandProc CmdSetStoryPageDate;
|
||||||
|
CommandProc CmdShowStoryPage;
|
||||||
|
CommandProc CmdRemoveStoryPage;
|
||||||
|
CommandProc CmdRemoveStoryPageElement;
|
||||||
|
CommandProc CmdStoryPageButton;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_CREATE_STORY_PAGE, CmdCreateStoryPage, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_CREATE_STORY_PAGE_ELEMENT, CmdCreateStoryPageElement, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_UPDATE_STORY_PAGE_ELEMENT, CmdUpdateStoryPageElement, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_STORY_PAGE_TITLE, CmdSetStoryPageTitle, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_STORY_PAGE_DATE, CmdSetStoryPageDate, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SHOW_STORY_PAGE, CmdShowStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_STORY_PAGE, CmdRemoveStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_STORY_PAGE_ELEMENT, CmdRemoveStoryPageElement, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_STORY_PAGE_BUTTON, CmdStoryPageButton, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* STORY_CMD_H */
|
|
@ -24,6 +24,7 @@
|
||||||
#include "command_func.h"
|
#include "command_func.h"
|
||||||
#include "string_func.h"
|
#include "string_func.h"
|
||||||
#include "tile_cmd.h"
|
#include "tile_cmd.h"
|
||||||
|
#include "subsidy_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file subsidy_cmd.h Command definitions related to subsidies. */
|
||||||
|
|
||||||
|
#ifndef SUBSIDY_CMD_H
|
||||||
|
#define SUBSIDY_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdCreateSubsidy;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_CREATE_SUBSIDY, CmdCreateSubsidy, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* SUBSIDY_CMD_H */
|
|
@ -34,7 +34,7 @@ add_files(
|
||||||
town_land.h
|
town_land.h
|
||||||
townname.h
|
townname.h
|
||||||
track_land.h
|
track_land.h
|
||||||
train_cmd.h
|
train_sprites.h
|
||||||
tree_land.h
|
tree_land.h
|
||||||
unicode.h
|
unicode.h
|
||||||
water_land.h
|
water_land.h
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @file train_cmd.h Sprites to use for trains. */
|
/** @file train_sprites.h Sprites to use for trains. */
|
||||||
|
|
||||||
static const SpriteID _engine_sprite_base[] = {
|
static const SpriteID _engine_sprite_base[] = {
|
||||||
0x0B59, 0x0B61, 0x0B69, 0x0BE1, 0x0B71, 0x0B75, 0x0B7D, 0x0B7D,
|
0x0B59, 0x0B61, 0x0B69, 0x0BE1, 0x0B71, 0x0B75, 0x0B7D, 0x0B7D,
|
|
@ -17,6 +17,7 @@
|
||||||
#include "company_base.h"
|
#include "company_base.h"
|
||||||
#include "company_func.h"
|
#include "company_func.h"
|
||||||
#include "core/backup_type.hpp"
|
#include "core/backup_type.hpp"
|
||||||
|
#include "terraform_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file terraform_cmd.h Command definitions related to terraforming. */
|
||||||
|
|
||||||
|
#ifndef TERRAFORM_CMD_H
|
||||||
|
#define TERRAFORM_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdTerraformLand;
|
||||||
|
CommandProc CmdLevelLand;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_TERRAFORM_LAND, CmdTerraformLand, CMD_ALL_TILES | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_LEVEL_LAND, CmdLevelLand, CMD_ALL_TILES | CMD_AUTO | CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION) // test run might clear tiles multiple times, in execution that only happens once
|
||||||
|
|
||||||
|
#endif /* TERRAFORM_CMD_H */
|
|
@ -14,6 +14,7 @@
|
||||||
#include "window_func.h"
|
#include "window_func.h"
|
||||||
#include "vehicle_base.h"
|
#include "vehicle_base.h"
|
||||||
#include "cmd_helper.h"
|
#include "cmd_helper.h"
|
||||||
|
#include "timetable_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file timetable_cmd.h Command definitions related to timetables. */
|
||||||
|
|
||||||
|
#ifndef TIMETABLE_CMD_H
|
||||||
|
#define TIMETABLE_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdChangeTimetable;
|
||||||
|
CommandProc CmdSetVehicleOnTime;
|
||||||
|
CommandProc CmdAutofillTimetable;
|
||||||
|
CommandProc CmdSetTimetableStart;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_CHANGE_TIMETABLE, CmdChangeTimetable, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_VEHICLE_ON_TIME, CmdSetVehicleOnTime, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_AUTOFILL_TIMETABLE, CmdAutofillTimetable, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_SET_TIMETABLE_START, CmdSetTimetableStart, 0, CMDT_ROUTE_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* TIMETABLE_CMD_H */
|
|
@ -48,6 +48,7 @@
|
||||||
#include "object_base.h"
|
#include "object_base.h"
|
||||||
#include "ai/ai.hpp"
|
#include "ai/ai.hpp"
|
||||||
#include "game/game.hpp"
|
#include "game/game.hpp"
|
||||||
|
#include "town_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/town_land.h"
|
#include "table/town_land.h"
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file town_cmd.h Command definitions related to towns. */
|
||||||
|
|
||||||
|
#ifndef TOWN_CMD_H
|
||||||
|
#define TOWN_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdFoundTown;
|
||||||
|
CommandProc CmdRenameTown;
|
||||||
|
CommandProc CmdDoTownAction;
|
||||||
|
CommandProc CmdTownGrowthRate;
|
||||||
|
CommandProc CmdTownRating;
|
||||||
|
CommandProc CmdTownCargoGoal;
|
||||||
|
CommandProc CmdTownSetText;
|
||||||
|
CommandProc CmdExpandTown;
|
||||||
|
CommandProc CmdDeleteTown;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_FOUND_TOWN, CmdFoundTown, CMD_DEITY | CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION) // founding random town can fail only in exec run
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_TOWN, CmdRenameTown, CMD_DEITY | CMD_SERVER, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_DO_TOWN_ACTION, CmdDoTownAction, 0, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_TOWN_CARGO_GOAL, CmdTownCargoGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_TOWN_GROWTH_RATE, CmdTownGrowthRate, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_TOWN_RATING, CmdTownRating, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_TOWN_SET_TEXT, CmdTownSetText, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_EXPAND_TOWN, CmdExpandTown, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_DELETE_TOWN, CmdDeleteTown, CMD_OFFLINE, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
|
||||||
|
#endif /* TOWN_CMD_H */
|
|
@ -34,9 +34,10 @@
|
||||||
#include "zoom_func.h"
|
#include "zoom_func.h"
|
||||||
#include "newgrf_debug.h"
|
#include "newgrf_debug.h"
|
||||||
#include "framerate_type.h"
|
#include "framerate_type.h"
|
||||||
|
#include "train_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/train_cmd.h"
|
#include "table/train_sprites.h"
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file train_cmd.h Command definitions related to trains. */
|
||||||
|
|
||||||
|
#ifndef TRAIN_CMD_H
|
||||||
|
#define TRAIN_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
#include "engine_type.h"
|
||||||
|
#include "vehicle_type.h"
|
||||||
|
|
||||||
|
CommandCost CmdBuildRailVehicle(TileIndex tile, DoCommandFlag flags, const Engine *e, uint16 data, Vehicle **v);
|
||||||
|
CommandCost CmdSellRailWagon(DoCommandFlag flags, Vehicle *v, uint16 data, uint32 user);
|
||||||
|
|
||||||
|
CommandProc CmdMoveRailVehicle;
|
||||||
|
CommandProc CmdForceTrainProceed;
|
||||||
|
CommandProc CmdReverseTrainDirection;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_MOVE_RAIL_VEHICLE, CmdMoveRailVehicle, 0, CMDT_VEHICLE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_FORCE_TRAIN_PROCEED, CmdForceTrainProceed, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_REVERSE_TRAIN_DIRECTION, CmdReverseTrainDirection, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* TRAIN_CMD_H */
|
|
@ -23,6 +23,7 @@
|
||||||
#include "core/random_func.hpp"
|
#include "core/random_func.hpp"
|
||||||
#include "newgrf_generic.h"
|
#include "newgrf_generic.h"
|
||||||
#include "date_func.h"
|
#include "date_func.h"
|
||||||
|
#include "tree_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/tree_land.h"
|
#include "table/tree_land.h"
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file tree_cmd.h Command definitions related to tree tiles. */
|
||||||
|
|
||||||
|
#ifndef TREE_CMD_H
|
||||||
|
#define TREE_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdPlantTree;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_PLANT_TREE, CmdPlantTree, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
|
||||||
|
#endif /* TREE_CMD_H */
|
|
@ -40,6 +40,7 @@
|
||||||
#include "water.h"
|
#include "water.h"
|
||||||
#include "company_gui.h"
|
#include "company_gui.h"
|
||||||
#include "station_func.h"
|
#include "station_func.h"
|
||||||
|
#include "tunnelbridge_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/bridge_land.h"
|
#include "table/bridge_land.h"
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file tunnelbridge_cmd.h Command definitions related to tunnels and bridges. */
|
||||||
|
|
||||||
|
#ifndef TUNNELBRIDGE_CMD_H
|
||||||
|
#define TUNNELBRIDGE_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildBridge;
|
||||||
|
CommandProc CmdBuildTunnel;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_BRIDGE, CmdBuildBridge, CMD_DEITY | CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_TUNNEL, CmdBuildTunnel, CMD_DEITY | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
|
||||||
|
#endif /* TUNNELBRIDGE_CMD_H */
|
|
@ -30,6 +30,11 @@
|
||||||
#include "newgrf.h"
|
#include "newgrf.h"
|
||||||
#include "company_base.h"
|
#include "company_base.h"
|
||||||
#include "core/random_func.hpp"
|
#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 <sstream>
|
#include <sstream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
|
||||||
|
@ -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.
|
* Build a vehicle.
|
||||||
* @param tile tile of depot where the vehicle is built
|
* @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;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
CommandCost CmdSellRailWagon(DoCommandFlag flags, Vehicle *v, uint16 data, uint32 user);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sell a vehicle.
|
* Sell a vehicle.
|
||||||
* @param tile unused.
|
* @param tile unused.
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file vehicle_cmd.h Command definitions for vehicles. */
|
||||||
|
|
||||||
|
#ifndef VEHICLE_CMD_H
|
||||||
|
#define VEHICLE_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildVehicle;
|
||||||
|
CommandProc CmdSellVehicle;
|
||||||
|
CommandProc CmdRefitVehicle;
|
||||||
|
CommandProc CmdSendVehicleToDepot;
|
||||||
|
CommandProc CmdChangeServiceInt;
|
||||||
|
CommandProc CmdRenameVehicle;
|
||||||
|
CommandProc CmdCloneVehicle;
|
||||||
|
CommandProc CmdStartStopVehicle;
|
||||||
|
CommandProc CmdMassStartStopVehicle;
|
||||||
|
CommandProc CmdDepotSellAllVehicles;
|
||||||
|
CommandProc CmdDepotMassAutoReplace;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_VEHICLE, CmdBuildVehicle, CMD_CLIENT_ID, CMDT_VEHICLE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_SELL_VEHICLE, CmdSellVehicle, CMD_CLIENT_ID, CMDT_VEHICLE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REFIT_VEHICLE, CmdRefitVehicle, 0, CMDT_VEHICLE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_SEND_VEHICLE_TO_DEPOT, CmdSendVehicleToDepot, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_CHANGE_SERVICE_INT, CmdChangeServiceInt, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_VEHICLE, CmdRenameVehicle, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_CLONE_VEHICLE, CmdCloneVehicle, CMD_NO_TEST, CMDT_VEHICLE_CONSTRUCTION) // NewGRF callbacks influence building and refitting making it impossible to correctly estimate the cost
|
||||||
|
DEF_CMD_TRAIT(CMD_START_STOP_VEHICLE, CmdStartStopVehicle, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_MASS_START_STOP, CmdMassStartStopVehicle, 0, CMDT_VEHICLE_MANAGEMENT)
|
||||||
|
DEF_CMD_TRAIT(CMD_DEPOT_SELL_ALL_VEHICLES, CmdDepotSellAllVehicles, 0, CMDT_VEHICLE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_DEPOT_MASS_AUTOREPLACE, CmdDepotMassAutoReplace, 0, CMDT_VEHICLE_CONSTRUCTION)
|
||||||
|
|
||||||
|
#endif /* VEHICLE_CMD_H */
|
|
@ -88,6 +88,7 @@
|
||||||
#include "command_func.h"
|
#include "command_func.h"
|
||||||
#include "network/network_func.h"
|
#include "network/network_func.h"
|
||||||
#include "framerate_type.h"
|
#include "framerate_type.h"
|
||||||
|
#include "viewport_cmd.h"
|
||||||
|
|
||||||
#include <forward_list>
|
#include <forward_list>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file viewport_cmd.h Command definitions related to viewports. */
|
||||||
|
|
||||||
|
#ifndef VIEWPORT_CMD_H
|
||||||
|
#define VIEWPORT_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdScrollViewport;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_SCROLL_VIEWPORT, CmdScrollViewport, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* VIEWPORT_CMD_H */
|
|
@ -38,6 +38,7 @@
|
||||||
#include "company_gui.h"
|
#include "company_gui.h"
|
||||||
#include "newgrf_generic.h"
|
#include "newgrf_generic.h"
|
||||||
#include "industry.h"
|
#include "industry.h"
|
||||||
|
#include "water_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file water_cmd.h Command definitions related to water tiles. */
|
||||||
|
|
||||||
|
#ifndef WATER_CMD_H
|
||||||
|
#define WATER_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildShipDepot;
|
||||||
|
CommandProc CmdBuildCanal;
|
||||||
|
CommandProc CmdBuildLock;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_SHIP_DEPOT, CmdBuildShipDepot, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_CANAL, CmdBuildCanal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_LOCK, CmdBuildLock, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
|
||||||
|
#endif /* WATER_CMD_H */
|
|
@ -28,6 +28,7 @@
|
||||||
#include "company_base.h"
|
#include "company_base.h"
|
||||||
#include "water.h"
|
#include "water.h"
|
||||||
#include "company_gui.h"
|
#include "company_gui.h"
|
||||||
|
#include "waypoint_cmd.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* This file is part of OpenTTD.
|
||||||
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||||
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file waypoint_cmd.h Command definitions related to waypoints. */
|
||||||
|
|
||||||
|
#ifndef WAYPOINT_CMD_H
|
||||||
|
#define WAYPOINT_CMD_H
|
||||||
|
|
||||||
|
#include "command_type.h"
|
||||||
|
|
||||||
|
CommandProc CmdBuildRailWaypoint;
|
||||||
|
CommandProc CmdRemoveFromRailWaypoint;
|
||||||
|
CommandProc CmdBuildBuoy;
|
||||||
|
CommandProc CmdRenameWaypoint;
|
||||||
|
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_RAIL_WAYPOINT, CmdBuildRailWaypoint, 0, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_REMOVE_FROM_RAIL_WAYPOINT, CmdRemoveFromRailWaypoint, 0, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_BUILD_BUOY, CmdBuildBuoy, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
|
||||||
|
DEF_CMD_TRAIT(CMD_RENAME_WAYPOINT, CmdRenameWaypoint, 0, CMDT_OTHER_MANAGEMENT)
|
||||||
|
|
||||||
|
#endif /* WAYPOINT_CMD_H */
|
Loading…
Reference in New Issue