1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-30 18:09:09 +00:00

(svn r14916) -Codechange: make it possible to send CommandContainers directly to DoCommand(P).

This commit is contained in:
rubidium
2009-01-08 14:55:28 +00:00
parent 427e2d30c5
commit e39484e9a8
3 changed files with 33 additions and 13 deletions

View File

@@ -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