1
0
Fork 0

Codechange: Set CommandTraits with templates instead of macros.

pull/13559/head
Peter Nelson 2024-08-24 23:51:11 +01:00
parent ff7eb996e6
commit 4b09581a41
No known key found for this signature in database
GPG Key ID: 8EF8F0A467DF75ED
36 changed files with 171 additions and 160 deletions

View File

@ -18,7 +18,7 @@
CommandCost CmdAutoreplaceVehicle(DoCommandFlags flags, VehicleID veh_id);
CommandCost CmdSetAutoReplace(DoCommandFlags flags, GroupID id_g, EngineID old_engine_type, EngineID new_engine_type, bool when_old);
DEF_CMD_TRAIT(CMD_AUTOREPLACE_VEHICLE, CmdAutoreplaceVehicle, 0, CMDT_VEHICLE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_SET_AUTOREPLACE, CmdSetAutoReplace, 0, CMDT_VEHICLE_MANAGEMENT)
template <> struct CommandTraits<CMD_AUTOREPLACE_VEHICLE> : DefaultCommandTraits<CMD_AUTOREPLACE_VEHICLE, "CmdAutoreplaceVehicle", CmdAutoreplaceVehicle, {}, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_AUTOREPLACE> : DefaultCommandTraits<CMD_SET_AUTOREPLACE, "CmdSetAutoReplace", CmdSetAutoReplace, {}, CMDT_VEHICLE_MANAGEMENT> {};
#endif /* AUTOREPLACE_CMD_H */

View File

@ -74,7 +74,7 @@ int RecursiveCommandCounter::_counter = 0;
* the #CMD_AUTO, #CMD_OFFLINE and #CMD_SERVER values.
*/
struct CommandInfo {
const char *name; ///< A human readable name for the procedure
std::string_view 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.
};
@ -129,7 +129,7 @@ CommandFlags GetCommandFlags(Commands cmd)
* @param cmd The integer value of the command
* @return The name for this command
*/
const char *GetCommandName(Commands cmd)
std::string_view GetCommandName(Commands cmd)
{
assert(IsValidCommand(cmd));

View File

@ -31,7 +31,7 @@ void NetworkSendCommand(Commands cmd, StringID err_message, CommandCallback *cal
bool IsValidCommand(Commands cmd);
CommandFlags GetCommandFlags(Commands cmd);
const char *GetCommandName(Commands cmd);
std::string_view GetCommandName(Commands cmd);
bool IsCommandAllowedWhilePaused(Commands cmd);
template <Commands Tcmd>

View File

@ -450,19 +450,30 @@ struct CommandFunctionTraitHelper<Tret<CommandCost, Tretargs...>(*)(DoCommandFla
/** Defines the traits of a command. */
template <Commands Tcmd> struct CommandTraits;
#define DEF_CMD_TRAIT(cmd_, proc_, flags_, type_) \
template <> struct CommandTraits<cmd_> { \
using ProcType = decltype(&proc_); \
using Args = typename CommandFunctionTraitHelper<ProcType>::Args; \
using RetTypes = typename CommandFunctionTraitHelper<ProcType>::RetTypes; \
using CbArgs = typename CommandFunctionTraitHelper<ProcType>::CbArgs; \
using RetCallbackProc = typename CommandFunctionTraitHelper<ProcType>::CbProcType; \
static constexpr Commands cmd = cmd_; \
static constexpr auto &proc = proc_; \
static constexpr CommandFlags flags = (CommandFlags)(flags_); \
static constexpr CommandType type = type_; \
static inline constexpr const char *name = #proc_; \
};
template <size_t N>
struct StringLiteral {
constexpr StringLiteral(const char (&str)[N])
{
std::copy_n(str, N, this->value);
}
char value[N];
};
template <Commands Tcmd, StringLiteral Tname, auto &Tproc, CommandFlags Tflags, CommandType Ttype>
struct DefaultCommandTraits {
public:
using ProcType = decltype(&Tproc);
using Args = typename CommandFunctionTraitHelper<ProcType>::Args;
using RetTypes = typename CommandFunctionTraitHelper<ProcType>::RetTypes;
using CbArgs = typename CommandFunctionTraitHelper<ProcType>::CbArgs;
using RetCallbackProc = typename CommandFunctionTraitHelper<ProcType>::CbProcType;
static constexpr Commands cmd = Tcmd;
static constexpr auto &proc = Tproc;
static constexpr CommandFlags flags = Tflags;
static constexpr CommandType type = Ttype;
static constexpr std::string_view name = Tname.value;
};
/** Storage buffer for serialized command data. */
typedef std::vector<uint8_t> CommandDataBuffer;

View File

@ -25,12 +25,12 @@ CommandCost CmdRenamePresident(DoCommandFlags flags, const std::string &text);
CommandCost CmdSetCompanyManagerFace(DoCommandFlags flags, CompanyManagerFace cmf);
CommandCost CmdSetCompanyColour(DoCommandFlags flags, LiveryScheme scheme, bool primary, Colours colour);
DEF_CMD_TRAIT(CMD_COMPANY_CTRL, CmdCompanyCtrl, CMD_SPECTATOR | CMD_CLIENT_ID | CMD_NO_EST, CMDT_SERVER_SETTING)
DEF_CMD_TRAIT(CMD_COMPANY_ALLOW_LIST_CTRL, CmdCompanyAllowListCtrl, 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_COMPANY_SETTING)
DEF_CMD_TRAIT(CMD_RENAME_PRESIDENT, CmdRenamePresident, 0, CMDT_COMPANY_SETTING)
DEF_CMD_TRAIT(CMD_SET_COMPANY_MANAGER_FACE, CmdSetCompanyManagerFace, 0, CMDT_COMPANY_SETTING)
DEF_CMD_TRAIT(CMD_SET_COMPANY_COLOUR, CmdSetCompanyColour, 0, CMDT_COMPANY_SETTING)
template <> struct CommandTraits<CMD_COMPANY_CTRL> : DefaultCommandTraits<CMD_COMPANY_CTRL, "CmdCompanyCtrl", CmdCompanyCtrl, CMD_SPECTATOR | CMD_CLIENT_ID | CMD_NO_EST, CMDT_SERVER_SETTING> {};
template <> struct CommandTraits<CMD_COMPANY_ALLOW_LIST_CTRL> : DefaultCommandTraits<CMD_COMPANY_ALLOW_LIST_CTRL, "CmdCompanyAllowListCtrl", CmdCompanyAllowListCtrl, CMD_NO_EST, CMDT_SERVER_SETTING> {};
template <> struct CommandTraits<CMD_GIVE_MONEY> : DefaultCommandTraits<CMD_GIVE_MONEY, "CmdGiveMoney", CmdGiveMoney, {}, CMDT_MONEY_MANAGEMENT> {};
template <> struct CommandTraits<CMD_RENAME_COMPANY> : DefaultCommandTraits<CMD_RENAME_COMPANY, "CmdRenameCompany", CmdRenameCompany, {}, CMDT_COMPANY_SETTING> {};
template <> struct CommandTraits<CMD_RENAME_PRESIDENT> : DefaultCommandTraits<CMD_RENAME_PRESIDENT, "CmdRenamePresident", CmdRenamePresident, {}, CMDT_COMPANY_SETTING> {};
template <> struct CommandTraits<CMD_SET_COMPANY_MANAGER_FACE> : DefaultCommandTraits<CMD_SET_COMPANY_MANAGER_FACE, "CmdSetCompanyManagerFace", CmdSetCompanyManagerFace, {}, CMDT_COMPANY_SETTING> {};
template <> struct CommandTraits<CMD_SET_COMPANY_COLOUR> : DefaultCommandTraits<CMD_SET_COMPANY_COLOUR, "CmdSetCompanyColour", CmdSetCompanyColour, {}, CMDT_COMPANY_SETTING> {};
#endif /* COMPANY_CMD_H */

View File

@ -15,7 +15,7 @@
CommandCost CmdRenameDepot(DoCommandFlags flags, DepotID depot_id, const std::string &text);
DEF_CMD_TRAIT(CMD_RENAME_DEPOT, CmdRenameDepot, 0, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_RENAME_DEPOT> : DefaultCommandTraits<CMD_RENAME_DEPOT, "CmdRenameDepot", CmdRenameDepot, {}, CMDT_OTHER_MANAGEMENT> {};
void CcCloneVehicle(Commands cmd, const CommandCost &result, VehicleID veh_id);

View File

@ -15,6 +15,6 @@
CommandCost CmdBuyCompany(DoCommandFlags flags, CompanyID target_company, bool hostile_takeover);
DEF_CMD_TRAIT(CMD_BUY_COMPANY, CmdBuyCompany, 0, CMDT_MONEY_MANAGEMENT)
template <> struct CommandTraits<CMD_BUY_COMPANY> : DefaultCommandTraits<CMD_BUY_COMPANY, "CmdBuyCompany", CmdBuyCompany, {}, CMDT_MONEY_MANAGEMENT> {};
#endif /* ECONOMY_CMD_H */

View File

@ -17,9 +17,9 @@ CommandCost CmdEngineCtrl(DoCommandFlags flags, EngineID engine_id, CompanyID co
CommandCost CmdRenameEngine(DoCommandFlags flags, EngineID engine_id, const std::string &text);
CommandCost CmdSetVehicleVisibility(DoCommandFlags flags, EngineID engine_id, bool hide);
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)
template <> struct CommandTraits<CMD_WANT_ENGINE_PREVIEW> : DefaultCommandTraits<CMD_WANT_ENGINE_PREVIEW, "CmdWantEnginePreview", CmdWantEnginePreview, {}, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_ENGINE_CTRL> : DefaultCommandTraits<CMD_ENGINE_CTRL, "CmdEngineCtrl", CmdEngineCtrl, CMD_DEITY, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_RENAME_ENGINE> : DefaultCommandTraits<CMD_RENAME_ENGINE, "CmdRenameEngine", CmdRenameEngine, CMD_SERVER, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_VEHICLE_VISIBILITY> : DefaultCommandTraits<CMD_SET_VEHICLE_VISIBILITY, "CmdSetVehicleVisibility", CmdSetVehicleVisibility, {}, CMDT_COMPANY_SETTING> {};
#endif /* ENGINE_CMD_H */

View File

@ -22,13 +22,13 @@ CommandCost CmdSetGoalCompleted(DoCommandFlags flags, GoalID goal, bool complete
CommandCost CmdGoalQuestion(DoCommandFlags flags, uint16_t uniqueid, uint32_t target, bool is_client, uint32_t button_mask, GoalQuestionType type, const std::string &text);
CommandCost CmdGoalQuestionAnswer(DoCommandFlags flags, uint16_t uniqueid, uint8_t button);
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_DESTINATION, CmdSetGoalDestination, CMD_DEITY | CMD_STR_CTRL, 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)
template <> struct CommandTraits<CMD_CREATE_GOAL> : DefaultCommandTraits<CMD_CREATE_GOAL, "CmdCreateGoal", CmdCreateGoal, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_REMOVE_GOAL> : DefaultCommandTraits<CMD_REMOVE_GOAL, "CmdRemoveGoal", CmdRemoveGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_GOAL_DESTINATION> : DefaultCommandTraits<CMD_SET_GOAL_DESTINATION, "CmdSetGoalDestination", CmdSetGoalDestination, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_GOAL_TEXT> : DefaultCommandTraits<CMD_SET_GOAL_TEXT, "CmdSetGoalText", CmdSetGoalText, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_GOAL_PROGRESS> : DefaultCommandTraits<CMD_SET_GOAL_PROGRESS, "CmdSetGoalProgress", CmdSetGoalProgress, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_GOAL_COMPLETED> : DefaultCommandTraits<CMD_SET_GOAL_COMPLETED, "CmdSetGoalCompleted", CmdSetGoalCompleted, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_GOAL_QUESTION> : DefaultCommandTraits<CMD_GOAL_QUESTION, "CmdGoalQuestion", CmdGoalQuestion, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_GOAL_QUESTION_ANSWER> : DefaultCommandTraits<CMD_GOAL_QUESTION_ANSWER, "CmdGoalQuestionAnswer", CmdGoalQuestionAnswer, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
#endif /* GOAL_CMD_H */

View File

@ -34,14 +34,14 @@ CommandCost CmdRemoveAllVehiclesGroup(DoCommandFlags flags, GroupID group_id);
CommandCost CmdSetGroupFlag(DoCommandFlags flags, GroupID group_id, GroupFlag flag, bool value, bool recursive);
CommandCost CmdSetGroupLivery(DoCommandFlags flags, GroupID group_id, bool primary, Colours colour);
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)
template <> struct CommandTraits<CMD_CREATE_GROUP> : DefaultCommandTraits<CMD_CREATE_GROUP, "CmdCreateGroup", CmdCreateGroup, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_DELETE_GROUP> : DefaultCommandTraits<CMD_DELETE_GROUP, "CmdDeleteGroup", CmdDeleteGroup, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_ALTER_GROUP> : DefaultCommandTraits<CMD_ALTER_GROUP, "CmdAlterGroup", CmdAlterGroup, {}, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_ADD_VEHICLE_GROUP> : DefaultCommandTraits<CMD_ADD_VEHICLE_GROUP, "CmdAddVehicleGroup", CmdAddVehicleGroup, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_ADD_SHARED_VEHICLE_GROUP> : DefaultCommandTraits<CMD_ADD_SHARED_VEHICLE_GROUP, "CmdAddSharedVehicleGroup", CmdAddSharedVehicleGroup, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_REMOVE_ALL_VEHICLES_GROUP> : DefaultCommandTraits<CMD_REMOVE_ALL_VEHICLES_GROUP, "CmdRemoveAllVehiclesGroup", CmdRemoveAllVehiclesGroup, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_GROUP_FLAG> : DefaultCommandTraits<CMD_SET_GROUP_FLAG, "CmdSetGroupFlag", CmdSetGroupFlag, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_GROUP_LIVERY> : DefaultCommandTraits<CMD_SET_GROUP_LIVERY, "CmdSetGroupLivery", CmdSetGroupLivery, {}, CMDT_ROUTE_MANAGEMENT> {};
void CcCreateGroup(Commands cmd, const CommandCost &result, GroupID new_group, VehicleType vt, GroupID parent_group);
void CcAddVehicleNewGroup(Commands cmd, const CommandCost &result, GroupID new_group, GroupID, VehicleID veh_id, bool, const VehicleListIdentifier &);

View File

@ -21,11 +21,11 @@ CommandCost CmdIndustrySetExclusivity(DoCommandFlags flags, IndustryID ind_id, O
CommandCost CmdIndustrySetText(DoCommandFlags flags, IndustryID ind_id, const std::string &text);
CommandCost CmdIndustrySetProduction(DoCommandFlags flags, IndustryID ind_id, uint8_t prod_level, bool show_news, const std::string &text);
DEF_CMD_TRAIT(CMD_BUILD_INDUSTRY, CmdBuildIndustry, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION)
DEF_CMD_TRAIT(CMD_INDUSTRY_SET_FLAGS, CmdIndustrySetFlags, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_INDUSTRY_SET_EXCLUSIVITY, CmdIndustrySetExclusivity, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_INDUSTRY_SET_TEXT, CmdIndustrySetText, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_INDUSTRY_SET_PRODUCTION, CmdIndustrySetProduction, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_BUILD_INDUSTRY> : DefaultCommandTraits<CMD_BUILD_INDUSTRY, "CmdBuildIndustry", CmdBuildIndustry, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_INDUSTRY_SET_FLAGS> : DefaultCommandTraits<CMD_INDUSTRY_SET_FLAGS, "CmdIndustrySetFlags", CmdIndustrySetFlags, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_INDUSTRY_SET_EXCLUSIVITY> : DefaultCommandTraits<CMD_INDUSTRY_SET_EXCLUSIVITY, "CmdIndustrySetExclusivity", CmdIndustrySetExclusivity, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_INDUSTRY_SET_TEXT> : DefaultCommandTraits<CMD_INDUSTRY_SET_TEXT, "CmdIndustrySetText", CmdIndustrySetText, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_INDUSTRY_SET_PRODUCTION> : DefaultCommandTraits<CMD_INDUSTRY_SET_PRODUCTION, "CmdIndustrySetProduction", CmdIndustrySetProduction, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
void CcBuildIndustry(Commands cmd, const CommandCost &result, TileIndex tile, IndustryType indtype, uint32_t, bool, uint32_t);

View File

@ -15,7 +15,7 @@
CommandCost CmdLandscapeClear(DoCommandFlags flags, TileIndex tile);
std::tuple<CommandCost, Money> CmdClearArea(DoCommandFlags flags, TileIndex tile, TileIndex start_tile, bool diagonal);
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
template <> struct CommandTraits<CMD_LANDSCAPE_CLEAR> : DefaultCommandTraits<CMD_LANDSCAPE_CLEAR, "CmdLandscapeClear", CmdLandscapeClear, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_CLEAR_AREA> : DefaultCommandTraits<CMD_CLEAR_AREA, "CmdClearArea", CmdClearArea, CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION> {}; // destroying multi-tile houses makes town rating differ between test and execution
#endif /* LANDSCAPE_CMD_H */

View File

@ -20,10 +20,10 @@ CommandCost CmdUpdateLeagueTableElementData(DoCommandFlags flags, LeagueTableEle
CommandCost CmdUpdateLeagueTableElementScore(DoCommandFlags flags, LeagueTableElementID element, int64_t rating, const std::string &score);
CommandCost CmdRemoveLeagueTableElement(DoCommandFlags flags, LeagueTableElementID element);
DEF_CMD_TRAIT(CMD_CREATE_LEAGUE_TABLE, CmdCreateLeagueTable, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_CREATE_LEAGUE_TABLE_ELEMENT, CmdCreateLeagueTableElement, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_UPDATE_LEAGUE_TABLE_ELEMENT_DATA, CmdUpdateLeagueTableElementData, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_UPDATE_LEAGUE_TABLE_ELEMENT_SCORE, CmdUpdateLeagueTableElementScore, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_REMOVE_LEAGUE_TABLE_ELEMENT, CmdRemoveLeagueTableElement, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_CREATE_LEAGUE_TABLE> : DefaultCommandTraits<CMD_CREATE_LEAGUE_TABLE, "CmdCreateLeagueTable", CmdCreateLeagueTable, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_CREATE_LEAGUE_TABLE_ELEMENT> : DefaultCommandTraits<CMD_CREATE_LEAGUE_TABLE_ELEMENT, "CmdCreateLeagueTableElement", CmdCreateLeagueTableElement, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_UPDATE_LEAGUE_TABLE_ELEMENT_DATA> : DefaultCommandTraits<CMD_UPDATE_LEAGUE_TABLE_ELEMENT_DATA, "CmdUpdateLeagueTableElementData", CmdUpdateLeagueTableElementData, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_UPDATE_LEAGUE_TABLE_ELEMENT_SCORE> : DefaultCommandTraits<CMD_UPDATE_LEAGUE_TABLE_ELEMENT_SCORE, "CmdUpdateLeagueTableElementScore", CmdUpdateLeagueTableElementScore, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_REMOVE_LEAGUE_TABLE_ELEMENT> : DefaultCommandTraits<CMD_REMOVE_LEAGUE_TABLE_ELEMENT, "CmdRemoveLeagueTableElement", CmdRemoveLeagueTableElement, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
#endif /* LEAGUE_CMD_H */

View File

@ -27,11 +27,11 @@ CommandCost CmdDecreaseLoan(DoCommandFlags flags, LoanCommand cmd, Money amount)
CommandCost CmdSetCompanyMaxLoan(DoCommandFlags flags, CompanyID company, Money amount);
CommandCost CmdPause(DoCommandFlags flags, PauseMode mode, bool pause);
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_SET_COMPANY_MAX_LOAN, CmdSetCompanyMaxLoan, CMD_DEITY, CMDT_MONEY_MANAGEMENT)
DEF_CMD_TRAIT(CMD_PAUSE, CmdPause, CMD_SERVER | CMD_NO_EST, CMDT_SERVER_SETTING)
template <> struct CommandTraits<CMD_MONEY_CHEAT> : DefaultCommandTraits<CMD_MONEY_CHEAT, "CmdMoneyCheat", CmdMoneyCheat, CMD_OFFLINE, CMDT_CHEAT> {};
template <> struct CommandTraits<CMD_CHANGE_BANK_BALANCE> : DefaultCommandTraits<CMD_CHANGE_BANK_BALANCE, "CmdChangeBankBalance", CmdChangeBankBalance, CMD_DEITY, CMDT_MONEY_MANAGEMENT> {};
template <> struct CommandTraits<CMD_INCREASE_LOAN> : DefaultCommandTraits<CMD_INCREASE_LOAN, "CmdIncreaseLoan", CmdIncreaseLoan, {}, CMDT_MONEY_MANAGEMENT> {};
template <> struct CommandTraits<CMD_DECREASE_LOAN> : DefaultCommandTraits<CMD_DECREASE_LOAN, "CmdDecreaseLoan", CmdDecreaseLoan, {}, CMDT_MONEY_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_COMPANY_MAX_LOAN> : DefaultCommandTraits<CMD_SET_COMPANY_MAX_LOAN, "CmdSetCompanyMaxLoan", CmdSetCompanyMaxLoan, CMD_DEITY, CMDT_MONEY_MANAGEMENT> {};
template <> struct CommandTraits<CMD_PAUSE> : DefaultCommandTraits<CMD_PAUSE, "CmdPause", CmdPause, CMD_SERVER | CMD_NO_EST, CMDT_SERVER_SETTING> {};
#endif /* MISC_CMD_H */

View File

@ -573,12 +573,12 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendCmdNames()
auto p = std::make_unique<Packet>(this, ADMIN_PACKET_SERVER_CMD_NAMES);
for (uint16_t i = 0; i < CMD_END; i++) {
const char *cmdname = GetCommandName(static_cast<Commands>(i));
std::string_view cmdname = GetCommandName(static_cast<Commands>(i));
/* Should COMPAT_MTU be exceeded, start a new packet
* (magic 5: 1 bool "more data" and one uint16_t "command id", one
* byte for string '\0' termination and 1 bool "no more data" */
if (!p->CanWriteToPacket(strlen(cmdname) + 5)) {
if (!p->CanWriteToPacket(cmdname.length() + 5)) {
p->Send_bool(false);
this->SendPacket(std::move(p));

View File

@ -16,6 +16,6 @@
CommandCost CmdCustomNewsItem(DoCommandFlags flags, NewsType type, NewsReferenceType reftype1, CompanyID company, uint32_t reference, const std::string &text);
DEF_CMD_TRAIT(CMD_CUSTOM_NEWS_ITEM, CmdCustomNewsItem, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_CUSTOM_NEWS_ITEM> : DefaultCommandTraits<CMD_CUSTOM_NEWS_ITEM, "CmdCustomNewsItem", CmdCustomNewsItem, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
#endif /* NEWS_CMD_H */

View File

@ -16,7 +16,7 @@
CommandCost CmdBuildObject(DoCommandFlags flags, TileIndex tile, ObjectType type, uint8_t view);
CommandCost CmdBuildObjectArea(DoCommandFlags flags, TileIndex tile, TileIndex start_tile, ObjectType type, uint8_t view, bool diagonal);
DEF_CMD_TRAIT(CMD_BUILD_OBJECT, CmdBuildObject, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
DEF_CMD_TRAIT(CMD_BUILD_OBJECT_AREA, CmdBuildObjectArea, CMD_DEITY | CMD_NO_WATER | CMD_NO_TEST | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
template <> struct CommandTraits<CMD_BUILD_OBJECT> : DefaultCommandTraits<CMD_BUILD_OBJECT, "CmdBuildObject", CmdBuildObject, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_OBJECT_AREA> : DefaultCommandTraits<CMD_BUILD_OBJECT_AREA, "CmdBuildObjectArea", CmdBuildObjectArea, CMD_DEITY | CMD_NO_WATER | CMD_NO_TEST | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
#endif /* OBJECT_CMD_H */

View File

@ -23,14 +23,14 @@ CommandCost CmdCloneOrder(DoCommandFlags flags, CloneOptions action, VehicleID v
CommandCost CmdMoveOrder(DoCommandFlags flags, VehicleID veh, VehicleOrderID moving_order, VehicleOrderID target_order);
CommandCost CmdClearOrderBackup(DoCommandFlags flags, TileIndex tile, ClientID user_id);
DEF_CMD_TRAIT(CMD_MODIFY_ORDER, CmdModifyOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_SKIP_TO_ORDER, CmdSkipToOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_DELETE_ORDER, CmdDeleteOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_INSERT_ORDER, CmdInsertOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_ORDER_REFIT, CmdOrderRefit, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_CLONE_ORDER, CmdCloneOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_MOVE_ORDER, CmdMoveOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_CLEAR_ORDER_BACKUP, CmdClearOrderBackup, CMD_CLIENT_ID, CMDT_SERVER_SETTING)
template <> struct CommandTraits<CMD_MODIFY_ORDER> : DefaultCommandTraits<CMD_MODIFY_ORDER, "CmdModifyOrder", CmdModifyOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SKIP_TO_ORDER> : DefaultCommandTraits<CMD_SKIP_TO_ORDER, "CmdSkipToOrder", CmdSkipToOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_DELETE_ORDER> : DefaultCommandTraits<CMD_DELETE_ORDER, "CmdDeleteOrder", CmdDeleteOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_INSERT_ORDER> : DefaultCommandTraits<CMD_INSERT_ORDER, "CmdInsertOrder", CmdInsertOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_ORDER_REFIT> : DefaultCommandTraits<CMD_ORDER_REFIT, "CmdOrderRefit", CmdOrderRefit, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_CLONE_ORDER> : DefaultCommandTraits<CMD_CLONE_ORDER, "CmdCloneOrder", CmdCloneOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_MOVE_ORDER> : DefaultCommandTraits<CMD_MOVE_ORDER, "CmdMoveOrder", CmdMoveOrder, CMD_LOCATION, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_CLEAR_ORDER_BACKUP> : DefaultCommandTraits<CMD_CLEAR_ORDER_BACKUP, "CmdClearOrderBackup", CmdClearOrderBackup, CMD_CLIENT_ID, CMDT_SERVER_SETTING> {};
template <typename Tcont, typename Titer>
inline EndianBufferWriter<Tcont, Titer> &operator <<(EndianBufferWriter<Tcont, Titer> &buffer, const Order &order)

View File

@ -26,16 +26,16 @@ CommandCost CmdConvertRail(DoCommandFlags flags, TileIndex tile, TileIndex area_
CommandCost CmdBuildSignalTrack(DoCommandFlags flags, TileIndex tile, TileIndex end_tile, Track track, SignalType sigtype, SignalVariant sigvar, bool mode, bool autofill, bool minimise_gaps, uint8_t signal_density);
CommandCost CmdRemoveSignalTrack(DoCommandFlags flags, TileIndex tile, TileIndex end_tile, Track track, bool autofill);
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_SINGLE_SIGNAL, CmdBuildSingleSignal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
DEF_CMD_TRAIT(CMD_REMOVE_SINGLE_SIGNAL, 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)
template <> struct CommandTraits<CMD_BUILD_RAILROAD_TRACK> : DefaultCommandTraits<CMD_BUILD_RAILROAD_TRACK, "CmdBuildRailroadTrack", CmdBuildRailroadTrack, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_RAILROAD_TRACK> : DefaultCommandTraits<CMD_REMOVE_RAILROAD_TRACK, "CmdRemoveRailroadTrack", CmdRemoveRailroadTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_SINGLE_RAIL> : DefaultCommandTraits<CMD_BUILD_SINGLE_RAIL, "CmdBuildSingleRail", CmdBuildSingleRail, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_SINGLE_RAIL> : DefaultCommandTraits<CMD_REMOVE_SINGLE_RAIL, "CmdRemoveSingleRail", CmdRemoveSingleRail, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_TRAIN_DEPOT> : DefaultCommandTraits<CMD_BUILD_TRAIN_DEPOT, "CmdBuildTrainDepot", CmdBuildTrainDepot, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_SINGLE_SIGNAL> : DefaultCommandTraits<CMD_BUILD_SINGLE_SIGNAL, "CmdBuildSingleSignal", CmdBuildSingleSignal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_SINGLE_SIGNAL> : DefaultCommandTraits<CMD_REMOVE_SINGLE_SIGNAL, "CmdRemoveSingleSignal", CmdRemoveSingleSignal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_CONVERT_RAIL> : DefaultCommandTraits<CMD_CONVERT_RAIL, "CmdConvertRail", CmdConvertRail, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_SIGNAL_TRACK> : DefaultCommandTraits<CMD_BUILD_SIGNAL_TRACK, "CmdBuildSignalTrack", CmdBuildSignalTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_SIGNAL_TRACK> : DefaultCommandTraits<CMD_REMOVE_SIGNAL_TRACK, "CmdRemoveSignalTrack", CmdRemoveSignalTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
CommandCallback CcPlaySound_CONSTRUCTION_RAIL;
CommandCallback CcStation;

View File

@ -25,11 +25,11 @@ CommandCost CmdBuildRoad(DoCommandFlags flags, TileIndex tile, RoadBits pieces,
CommandCost CmdBuildRoadDepot(DoCommandFlags flags, TileIndex tile, RoadType rt, DiagDirection dir);
CommandCost CmdConvertRoad(DoCommandFlags flags, TileIndex tile, TileIndex area_start, RoadType to_type);
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)
template <> struct CommandTraits<CMD_BUILD_LONG_ROAD> : DefaultCommandTraits<CMD_BUILD_LONG_ROAD, "CmdBuildLongRoad", CmdBuildLongRoad, CMD_AUTO | CMD_NO_WATER | CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_LONG_ROAD> : DefaultCommandTraits<CMD_REMOVE_LONG_ROAD, "CmdRemoveLongRoad", 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.
template <> struct CommandTraits<CMD_BUILD_ROAD> : DefaultCommandTraits<CMD_BUILD_ROAD, "CmdBuildRoad", CmdBuildRoad, CMD_AUTO | CMD_NO_WATER | CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_ROAD_DEPOT> : DefaultCommandTraits<CMD_BUILD_ROAD_DEPOT, "CmdBuildRoadDepot", CmdBuildRoadDepot, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_CONVERT_ROAD> : DefaultCommandTraits<CMD_CONVERT_ROAD, "CmdConvertRoad", CmdConvertRoad, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
CommandCallback CcPlaySound_CONSTRUCTION_OTHER;
CommandCallback CcBuildRoadTunnel;

View File

@ -22,6 +22,6 @@ CommandCost CmdBuildRoadVehicle(DoCommandFlags flags, TileIndex tile, const Engi
CommandCost CmdTurnRoadVeh(DoCommandFlags flags, VehicleID veh_id);
DEF_CMD_TRAIT(CMD_TURN_ROADVEH, CmdTurnRoadVeh, CMD_LOCATION, CMDT_VEHICLE_MANAGEMENT)
template <> struct CommandTraits<CMD_TURN_ROADVEH> : DefaultCommandTraits<CMD_TURN_ROADVEH, "CmdTurnRoadVeh", CmdTurnRoadVeh, CMD_LOCATION, CMDT_VEHICLE_MANAGEMENT> {};
#endif /* ROADVEH_CMD_H */

View File

@ -15,7 +15,7 @@
CommandCost CmdChangeSetting(DoCommandFlags flags, const std::string &name, int32_t value);
CommandCost CmdChangeCompanySetting(DoCommandFlags flags, const std::string &name, int32_t value);
DEF_CMD_TRAIT(CMD_CHANGE_SETTING, CmdChangeSetting, CMD_SERVER | CMD_NO_EST, CMDT_SERVER_SETTING)
DEF_CMD_TRAIT(CMD_CHANGE_COMPANY_SETTING, CmdChangeCompanySetting, CMD_NO_EST, CMDT_COMPANY_SETTING)
template <> struct CommandTraits<CMD_CHANGE_SETTING> : DefaultCommandTraits<CMD_CHANGE_SETTING, "CmdChangeSetting", CmdChangeSetting, CMD_SERVER | CMD_NO_EST, CMDT_SERVER_SETTING> {};
template <> struct CommandTraits<CMD_CHANGE_COMPANY_SETTING> : DefaultCommandTraits<CMD_CHANGE_COMPANY_SETTING, "CmdChangeCompanySetting", CmdChangeCompanySetting, CMD_NO_EST, CMDT_COMPANY_SETTING> {};
#endif /* SETTINGS_CMD_H */

View File

@ -16,8 +16,8 @@
std::tuple<CommandCost, SignID> CmdPlaceSign(DoCommandFlags flags, TileIndex tile, const std::string &text);
CommandCost CmdRenameSign(DoCommandFlags flags, SignID sign_id, const std::string &text);
DEF_CMD_TRAIT(CMD_PLACE_SIGN, CmdPlaceSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
DEF_CMD_TRAIT(CMD_RENAME_SIGN, CmdRenameSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_PLACE_SIGN> : DefaultCommandTraits<CMD_PLACE_SIGN, "CmdPlaceSign", CmdPlaceSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_RENAME_SIGN> : DefaultCommandTraits<CMD_RENAME_SIGN, "CmdRenameSign", CmdRenameSign, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
void CcPlaceSign(Commands cmd, const CommandCost &result, SignID new_sign);

View File

@ -28,13 +28,13 @@ CommandCost CmdRemoveRoadStop(DoCommandFlags flags, TileIndex tile, uint8_t widt
CommandCost CmdRenameStation(DoCommandFlags flags, StationID station_id, const std::string &text);
CommandCost CmdOpenCloseAirport(DoCommandFlags flags, StationID station_id);
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)
template <> struct CommandTraits<CMD_BUILD_AIRPORT> : DefaultCommandTraits<CMD_BUILD_AIRPORT, "CmdBuildAirport", CmdBuildAirport, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_DOCK> : DefaultCommandTraits<CMD_BUILD_DOCK, "CmdBuildDock", CmdBuildDock, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_RAIL_STATION> : DefaultCommandTraits<CMD_BUILD_RAIL_STATION, "CmdBuildRailStation", CmdBuildRailStation, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_FROM_RAIL_STATION> : DefaultCommandTraits<CMD_REMOVE_FROM_RAIL_STATION, "CmdRemoveFromRailStation", CmdRemoveFromRailStation, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_ROAD_STOP> : DefaultCommandTraits<CMD_BUILD_ROAD_STOP, "CmdBuildRoadStop", CmdBuildRoadStop, CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_ROAD_STOP> : DefaultCommandTraits<CMD_REMOVE_ROAD_STOP, "CmdRemoveRoadStop", CmdRemoveRoadStop, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_RENAME_STATION> : DefaultCommandTraits<CMD_RENAME_STATION, "CmdRenameStation", CmdRenameStation, {}, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_OPEN_CLOSE_AIRPORT> : DefaultCommandTraits<CMD_OPEN_CLOSE_AIRPORT, "CmdOpenCloseAirport", CmdOpenCloseAirport, {}, CMDT_ROUTE_MANAGEMENT> {};
#endif /* STATION_CMD_H */

View File

@ -25,14 +25,14 @@ CommandCost CmdRemoveStoryPage(DoCommandFlags flags, StoryPageID page_id);
CommandCost CmdRemoveStoryPageElement(DoCommandFlags flags, StoryPageElementID page_element_id);
CommandCost CmdStoryPageButton(DoCommandFlags flags, TileIndex tile, StoryPageElementID page_element_id, VehicleID reference);
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)
template <> struct CommandTraits<CMD_CREATE_STORY_PAGE> : DefaultCommandTraits<CMD_CREATE_STORY_PAGE, "CmdCreateStoryPage", CmdCreateStoryPage, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_CREATE_STORY_PAGE_ELEMENT> : DefaultCommandTraits<CMD_CREATE_STORY_PAGE_ELEMENT, "CmdCreateStoryPageElement", CmdCreateStoryPageElement, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_UPDATE_STORY_PAGE_ELEMENT> : DefaultCommandTraits<CMD_UPDATE_STORY_PAGE_ELEMENT, "CmdUpdateStoryPageElement", CmdUpdateStoryPageElement, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_STORY_PAGE_TITLE> : DefaultCommandTraits<CMD_SET_STORY_PAGE_TITLE, "CmdSetStoryPageTitle", CmdSetStoryPageTitle, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_STORY_PAGE_DATE> : DefaultCommandTraits<CMD_SET_STORY_PAGE_DATE, "CmdSetStoryPageDate", CmdSetStoryPageDate, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SHOW_STORY_PAGE> : DefaultCommandTraits<CMD_SHOW_STORY_PAGE, "CmdShowStoryPage", CmdShowStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_REMOVE_STORY_PAGE> : DefaultCommandTraits<CMD_REMOVE_STORY_PAGE, "CmdRemoveStoryPage", CmdRemoveStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_REMOVE_STORY_PAGE_ELEMENT> : DefaultCommandTraits<CMD_REMOVE_STORY_PAGE_ELEMENT, "CmdRemoveStoryPageElement", CmdRemoveStoryPageElement, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_STORY_PAGE_BUTTON> : DefaultCommandTraits<CMD_STORY_PAGE_BUTTON, "CmdStoryPageButton", CmdStoryPageButton, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
#endif /* STORY_CMD_H */

View File

@ -17,7 +17,7 @@
CommandCost CmdCreateSubsidy(DoCommandFlags flags, CargoType cargo_type, Source src, Source dst);
DEF_CMD_TRAIT(CMD_CREATE_SUBSIDY, CmdCreateSubsidy, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_CREATE_SUBSIDY> : DefaultCommandTraits<CMD_CREATE_SUBSIDY, "CmdCreateSubsidy", CmdCreateSubsidy, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <typename Tcont, typename Titer>

View File

@ -17,8 +17,8 @@
std::tuple<CommandCost, Money, TileIndex> CmdTerraformLand(DoCommandFlags flags, TileIndex tile, Slope slope, bool dir_up);
std::tuple<CommandCost, Money, TileIndex> CmdLevelLand(DoCommandFlags flags, TileIndex tile, TileIndex start_tile, bool diagonal, LevelMode lm);
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
template <> struct CommandTraits<CMD_TERRAFORM_LAND> : DefaultCommandTraits<CMD_TERRAFORM_LAND, "CmdTerraformLand", CmdTerraformLand, CMD_ALL_TILES | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_LEVEL_LAND> : DefaultCommandTraits<CMD_LEVEL_LAND, "CmdLevelLand", 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
CommandCallback CcPlaySound_EXPLOSION;
void CcTerraform(Commands cmd, const CommandCost &result, Money, TileIndex tile);

View File

@ -19,10 +19,10 @@ CommandCost CmdSetVehicleOnTime(DoCommandFlags flags, VehicleID veh, bool apply_
CommandCost CmdAutofillTimetable(DoCommandFlags flags, VehicleID veh, bool autofill, bool preserve_wait_time);
CommandCost CmdSetTimetableStart(DoCommandFlags flags, VehicleID veh_id, bool timetable_all, TimerGameTick::TickCounter start_tick);
DEF_CMD_TRAIT(CMD_CHANGE_TIMETABLE, CmdChangeTimetable, 0, CMDT_ROUTE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_BULK_CHANGE_TIMETABLE, CmdBulkChangeTimetable, 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)
template <> struct CommandTraits<CMD_CHANGE_TIMETABLE> : DefaultCommandTraits<CMD_CHANGE_TIMETABLE, "CmdChangeTimetable", CmdChangeTimetable, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_BULK_CHANGE_TIMETABLE> : DefaultCommandTraits<CMD_BULK_CHANGE_TIMETABLE, "CmdBulkChangeTimetable", CmdBulkChangeTimetable, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_VEHICLE_ON_TIME> : DefaultCommandTraits<CMD_SET_VEHICLE_ON_TIME, "CmdSetVehicleOnTime", CmdSetVehicleOnTime, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_AUTOFILL_TIMETABLE> : DefaultCommandTraits<CMD_AUTOFILL_TIMETABLE, "CmdAutofillTimetable", CmdAutofillTimetable, {}, CMDT_ROUTE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_SET_TIMETABLE_START> : DefaultCommandTraits<CMD_SET_TIMETABLE_START, "CmdSetTimetableStart", CmdSetTimetableStart, {}, CMDT_ROUTE_MANAGEMENT> {};
#endif /* TIMETABLE_CMD_H */

View File

@ -29,16 +29,16 @@ CommandCost CmdExpandTown(DoCommandFlags flags, TownID town_id, uint32_t grow_am
CommandCost CmdDeleteTown(DoCommandFlags flags, TownID town_id);
CommandCost CmdPlaceHouse(DoCommandFlags flags, TileIndex tile, HouseID house, bool house_protected);
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, CMD_LOCATION, 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)
DEF_CMD_TRAIT(CMD_PLACE_HOUSE, CmdPlaceHouse, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_FOUND_TOWN> : DefaultCommandTraits<CMD_FOUND_TOWN, "CmdFoundTown", CmdFoundTown, CMD_DEITY | CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION> {}; // founding random town can fail only in exec run
template <> struct CommandTraits<CMD_RENAME_TOWN> : DefaultCommandTraits<CMD_RENAME_TOWN, "CmdRenameTown", CmdRenameTown, CMD_DEITY | CMD_SERVER, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_DO_TOWN_ACTION> : DefaultCommandTraits<CMD_DO_TOWN_ACTION, "CmdDoTownAction", CmdDoTownAction, CMD_LOCATION, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_TOWN_CARGO_GOAL> : DefaultCommandTraits<CMD_TOWN_CARGO_GOAL, "CmdTownCargoGoal", CmdTownCargoGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_TOWN_GROWTH_RATE> : DefaultCommandTraits<CMD_TOWN_GROWTH_RATE, "CmdTownGrowthRate", CmdTownGrowthRate, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_TOWN_RATING> : DefaultCommandTraits<CMD_TOWN_RATING, "CmdTownRating", CmdTownRating, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_TOWN_SET_TEXT> : DefaultCommandTraits<CMD_TOWN_SET_TEXT, "CmdTownSetText", CmdTownSetText, CMD_DEITY | CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_EXPAND_TOWN> : DefaultCommandTraits<CMD_EXPAND_TOWN, "CmdExpandTown", CmdExpandTown, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_DELETE_TOWN> : DefaultCommandTraits<CMD_DELETE_TOWN, "CmdDeleteTown", CmdDeleteTown, CMD_OFFLINE, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_PLACE_HOUSE> : DefaultCommandTraits<CMD_PLACE_HOUSE, "CmdPlaceHouse", CmdPlaceHouse, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
CommandCallback CcFoundTown;
void CcFoundRandomTown(Commands cmd, const CommandCost &result, Money, TownID town_id);

View File

@ -21,9 +21,9 @@ CommandCost CmdMoveRailVehicle(DoCommandFlags flags, VehicleID src_veh, VehicleI
CommandCost CmdForceTrainProceed(DoCommandFlags flags, VehicleID veh_id);
CommandCost CmdReverseTrainDirection(DoCommandFlags flags, VehicleID veh_id, bool reverse_single_veh);
DEF_CMD_TRAIT(CMD_MOVE_RAIL_VEHICLE, CmdMoveRailVehicle, CMD_LOCATION, CMDT_VEHICLE_CONSTRUCTION)
DEF_CMD_TRAIT(CMD_FORCE_TRAIN_PROCEED, CmdForceTrainProceed, CMD_LOCATION, CMDT_VEHICLE_MANAGEMENT)
DEF_CMD_TRAIT(CMD_REVERSE_TRAIN_DIRECTION, CmdReverseTrainDirection, CMD_LOCATION, CMDT_VEHICLE_MANAGEMENT)
template <> struct CommandTraits<CMD_MOVE_RAIL_VEHICLE> : DefaultCommandTraits<CMD_MOVE_RAIL_VEHICLE, "CmdMoveRailVehicle", CmdMoveRailVehicle, CMD_LOCATION, CMDT_VEHICLE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_FORCE_TRAIN_PROCEED> : DefaultCommandTraits<CMD_FORCE_TRAIN_PROCEED, "CmdForceTrainProceed", CmdForceTrainProceed, CMD_LOCATION, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_REVERSE_TRAIN_DIRECTION> : DefaultCommandTraits<CMD_REVERSE_TRAIN_DIRECTION, "CmdReverseTrainDirection", CmdReverseTrainDirection, CMD_LOCATION, CMDT_VEHICLE_MANAGEMENT> {};
void CcBuildWagon(Commands cmd, const CommandCost &result, VehicleID new_veh_id, uint, uint16_t, CargoArray, TileIndex tile, EngineID, bool, CargoType, ClientID);

View File

@ -14,6 +14,6 @@
CommandCost CmdPlantTree(DoCommandFlags flags, TileIndex tile, TileIndex start_tile, uint8_t tree_to_plant, bool diagonal);
DEF_CMD_TRAIT(CMD_PLANT_TREE, CmdPlantTree, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION)
template <> struct CommandTraits<CMD_PLANT_TREE> : DefaultCommandTraits<CMD_PLANT_TREE, "CmdPlantTree", CmdPlantTree, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
#endif /* TREE_CMD_H */

View File

@ -17,8 +17,8 @@
CommandCost CmdBuildBridge(DoCommandFlags flags, TileIndex tile_end, TileIndex tile_start, TransportType transport_type, BridgeType bridge_type, uint8_t road_rail_type);
CommandCost CmdBuildTunnel(DoCommandFlags flags, TileIndex start_tile, TransportType transport_type, uint8_t road_rail_type);
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)
template <> struct CommandTraits<CMD_BUILD_BRIDGE> : DefaultCommandTraits<CMD_BUILD_BRIDGE, "CmdBuildBridge", CmdBuildBridge, CMD_DEITY | CMD_AUTO | CMD_NO_WATER, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_TUNNEL> : DefaultCommandTraits<CMD_BUILD_TUNNEL, "CmdBuildTunnel", CmdBuildTunnel, CMD_DEITY | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
void CcBuildBridge(Commands cmd, const CommandCost &result, TileIndex end_tile, TileIndex tile_start, TransportType transport_type, BridgeType, uint8_t);

View File

@ -29,17 +29,17 @@ CommandCost CmdMassStartStopVehicle(DoCommandFlags flags, TileIndex tile, bool d
CommandCost CmdDepotSellAllVehicles(DoCommandFlags flags, TileIndex tile, VehicleType vehicle_type);
CommandCost CmdDepotMassAutoReplace(DoCommandFlags flags, TileIndex tile, VehicleType vehicle_type);
DEF_CMD_TRAIT(CMD_BUILD_VEHICLE, CmdBuildVehicle, CMD_CLIENT_ID, CMDT_VEHICLE_CONSTRUCTION)
DEF_CMD_TRAIT(CMD_SELL_VEHICLE, CmdSellVehicle, CMD_CLIENT_ID | CMD_LOCATION, CMDT_VEHICLE_CONSTRUCTION)
DEF_CMD_TRAIT(CMD_REFIT_VEHICLE, CmdRefitVehicle, CMD_LOCATION, 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, CMD_LOCATION, 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)
template <> struct CommandTraits<CMD_BUILD_VEHICLE> : DefaultCommandTraits<CMD_BUILD_VEHICLE, "CmdBuildVehicle", CmdBuildVehicle, CMD_CLIENT_ID, CMDT_VEHICLE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_SELL_VEHICLE> : DefaultCommandTraits<CMD_SELL_VEHICLE, "CmdSellVehicle", CmdSellVehicle, CMD_CLIENT_ID | CMD_LOCATION, CMDT_VEHICLE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REFIT_VEHICLE> : DefaultCommandTraits<CMD_REFIT_VEHICLE, "CmdRefitVehicle", CmdRefitVehicle, CMD_LOCATION, CMDT_VEHICLE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_SEND_VEHICLE_TO_DEPOT> : DefaultCommandTraits<CMD_SEND_VEHICLE_TO_DEPOT, "CmdSendVehicleToDepot", CmdSendVehicleToDepot, {}, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_CHANGE_SERVICE_INT> : DefaultCommandTraits<CMD_CHANGE_SERVICE_INT, "CmdChangeServiceInt", CmdChangeServiceInt, {}, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_RENAME_VEHICLE> : DefaultCommandTraits<CMD_RENAME_VEHICLE, "CmdRenameVehicle", CmdRenameVehicle, {}, CMDT_OTHER_MANAGEMENT> {};
template <> struct CommandTraits<CMD_CLONE_VEHICLE> : DefaultCommandTraits<CMD_CLONE_VEHICLE, "CmdCloneVehicle", CmdCloneVehicle, CMD_NO_TEST, CMDT_VEHICLE_CONSTRUCTION> {}; // NewGRF callbacks influence building and refitting making it impossible to correctly estimate the cost
template <> struct CommandTraits<CMD_START_STOP_VEHICLE> : DefaultCommandTraits<CMD_START_STOP_VEHICLE, "CmdStartStopVehicle", CmdStartStopVehicle, CMD_LOCATION, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_MASS_START_STOP> : DefaultCommandTraits<CMD_MASS_START_STOP, "CmdMassStartStopVehicle", CmdMassStartStopVehicle, {}, CMDT_VEHICLE_MANAGEMENT> {};
template <> struct CommandTraits<CMD_DEPOT_SELL_ALL_VEHICLES> : DefaultCommandTraits<CMD_DEPOT_SELL_ALL_VEHICLES, "CmdDepotSellAllVehicles", CmdDepotSellAllVehicles, {}, CMDT_VEHICLE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_DEPOT_MASS_AUTOREPLACE> : DefaultCommandTraits<CMD_DEPOT_MASS_AUTOREPLACE, "CmdDepotMassAutoReplace", CmdDepotMassAutoReplace, {}, CMDT_VEHICLE_CONSTRUCTION> {};
void CcBuildPrimaryVehicle(Commands cmd, const CommandCost &result, VehicleID new_veh_id, uint, uint16_t, CargoArray);
void CcStartStopVehicle(Commands cmd, const CommandCost &result, VehicleID veh_id, bool);

View File

@ -15,6 +15,6 @@
CommandCost CmdScrollViewport(DoCommandFlags flags, TileIndex tile, ViewportScrollTarget target, uint32_t ref);
DEF_CMD_TRAIT(CMD_SCROLL_VIEWPORT, CmdScrollViewport, CMD_DEITY, CMDT_OTHER_MANAGEMENT)
template <> struct CommandTraits<CMD_SCROLL_VIEWPORT> : DefaultCommandTraits<CMD_SCROLL_VIEWPORT, "CmdScrollViewport", CmdScrollViewport, CMD_DEITY, CMDT_OTHER_MANAGEMENT> {};
#endif /* VIEWPORT_CMD_H */

View File

@ -17,8 +17,8 @@ CommandCost CmdBuildShipDepot(DoCommandFlags flags, TileIndex tile, Axis axis);
CommandCost CmdBuildCanal(DoCommandFlags flags, TileIndex tile, TileIndex start_tile, WaterClass wc, bool diagonal);
CommandCost CmdBuildLock(DoCommandFlags flags, TileIndex tile);
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)
template <> struct CommandTraits<CMD_BUILD_SHIP_DEPOT> : DefaultCommandTraits<CMD_BUILD_SHIP_DEPOT, "CmdBuildShipDepot", CmdBuildShipDepot, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_CANAL> : DefaultCommandTraits<CMD_BUILD_CANAL, "CmdBuildCanal", CmdBuildCanal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_LOCK> : DefaultCommandTraits<CMD_BUILD_LOCK, "CmdBuildLock", CmdBuildLock, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
#endif /* WATER_CMD_H */

View File

@ -23,11 +23,11 @@ CommandCost CmdRemoveFromRoadWaypoint(DoCommandFlags flags, TileIndex start, Til
CommandCost CmdBuildBuoy(DoCommandFlags flags, TileIndex tile);
CommandCost CmdRenameWaypoint(DoCommandFlags flags, StationID waypoint_id, const std::string &text);
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_ROAD_WAYPOINT, CmdBuildRoadWaypoint, 0, CMDT_LANDSCAPE_CONSTRUCTION)
DEF_CMD_TRAIT(CMD_REMOVE_FROM_ROAD_WAYPOINT, CmdRemoveFromRoadWaypoint, 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)
template <> struct CommandTraits<CMD_BUILD_RAIL_WAYPOINT> : DefaultCommandTraits<CMD_BUILD_RAIL_WAYPOINT, "CmdBuildRailWaypoint", CmdBuildRailWaypoint, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_FROM_RAIL_WAYPOINT> : DefaultCommandTraits<CMD_REMOVE_FROM_RAIL_WAYPOINT, "CmdRemoveFromRailWaypoint", CmdRemoveFromRailWaypoint, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_ROAD_WAYPOINT> : DefaultCommandTraits<CMD_BUILD_ROAD_WAYPOINT, "CmdBuildRoadWaypoint", CmdBuildRoadWaypoint, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_REMOVE_FROM_ROAD_WAYPOINT> : DefaultCommandTraits<CMD_REMOVE_FROM_ROAD_WAYPOINT, "CmdRemoveFromRoadWaypoint", CmdRemoveFromRoadWaypoint, {}, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_BUILD_BUOY> : DefaultCommandTraits<CMD_BUILD_BUOY, "CmdBuildBuoy", CmdBuildBuoy, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION> {};
template <> struct CommandTraits<CMD_RENAME_WAYPOINT> : DefaultCommandTraits<CMD_RENAME_WAYPOINT, "CmdRenameWaypoint", CmdRenameWaypoint, {}, CMDT_OTHER_MANAGEMENT> {};
#endif /* WAYPOINT_CMD_H */