From e39484e9a8c2ddf93bce5b9ec5bc570c415c6000 Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 8 Jan 2009 14:55:28 +0000 Subject: (svn r14916) -Codechange: make it possible to send CommandContainers directly to DoCommand(P). --- src/command.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/command.cpp') diff --git a/src/command.cpp b/src/command.cpp index 08a9269aa..3956c2c88 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -373,6 +373,19 @@ byte GetCommandFlags(uint32 cmd) static int _docommand_recursive = 0; +/** + * Shorthand for calling the long DoCommand with a container. + * + * @param container Container with (almost) all information + * @param flags Flags for the command and how to execute the command + * @see CommandProc + * @return the cost + */ +CommandCost DoCommand(const CommandContainer *container, uint32 flags) +{ + return DoCommand(container->tile, container->p1, container->p2, flags, container->cmd, container->text); +} + /*! * This function executes a given command with the parameters from the #CommandProc parameter list. * Depending on the flags parameter it execute or test a command. @@ -383,6 +396,7 @@ static int _docommand_recursive = 0; * @param flags Flags for the command and how to execute the command * @param cmd The command-id to execute (a value of the CMD_* enums) * @see CommandProc + * @return the cost */ CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint32 cmd, const char *text) { @@ -457,6 +471,17 @@ Money GetAvailableMoneyForCommand() return GetCompany(company)->money; } +/** + * Shortcut for the long DoCommandP when having a container with the data. + * @param container the container with information. + * @param my_cmd indicator if the command is from a company or server (to display error messages for a user) + * @return true if the command succeeded, else false + */ +bool DoCommandP(const CommandContainer *container, bool my_cmd) +{ + return DoCommandP(container->tile, container->p1, container->p2, container->cmd, container->callback, container->text, my_cmd); +} + /*! * Toplevel network safe docommand function for the current company. Must not be called recursively. * The callback is called when the command succeeded or failed. The parameters -- cgit v1.2.3-54-g00ecf