|
@@ -465,7 +465,7 @@ CommandCost DoCommand(const CommandConta
|
|
|
* @see CommandProc
|
|
|
* @return the cost
|
|
|
*/
|
|
|
CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, DoCommandFlag flags, uint32 cmd, const char *text)
|
|
|
CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, DoCommandFlag flags, uint32 cmd, const std::string &text)
|
|
|
{
|
|
|
CommandCost res;
|
|
|
|
|
@@ -558,7 +558,7 @@ bool DoCommandP(const CommandContainer *
|
|
|
* @param my_cmd indicator if the command is from a company or server (to display error messages for a user)
|
|
|
* @return \c true if the command succeeded, else \c false.
|
|
|
*/
|
|
|
bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallback *callback, const char *text, bool my_cmd)
|
|
|
bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallback *callback, const std::string &text, bool my_cmd)
|
|
|
{
|
|
|
/* Cost estimation is generally only done when the
|
|
|
* local user presses shift while doing something.
|
|
@@ -631,7 +631,7 @@ bool DoCommandP(TileIndex tile, uint32 p
|
|
|
* @param estimate_only whether to give only the estimate or also execute the command
|
|
|
* @return the command cost of this function.
|
|
|
*/
|
|
|
CommandCost DoCommandPInternal(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallback *callback, const char *text, bool my_cmd, bool estimate_only)
|
|
|
CommandCost DoCommandPInternal(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallback *callback, const std::string &text, bool my_cmd, bool estimate_only)
|
|
|
{
|
|
|
/* Prevent recursion; it gives a mess over the network */
|
|
|
assert(_docommand_recursive == 0);
|
|
@@ -696,7 +696,7 @@ CommandCost DoCommandPInternal(TileIndex
|
|
|
if (!_networking || _generating_world || (cmd & CMD_NETWORK_COMMAND) != 0) {
|
|
|
/* Log the failed command as well. Just to be able to be find
|
|
|
* causes of desyncs due to bad command test implementations. */
|
|
|
DEBUG(desync, 1, "cmdf: %08x; %02x; %02x; %06x; %08x; %08x; %08x; \"%s\" (%s)", _date, _date_fract, (int)_current_company, tile, p1, p2, cmd & ~CMD_NETWORK_COMMAND, text, GetCommandName(cmd));
|
|
|
DEBUG(desync, 1, "cmdf: %08x; %02x; %02x; %06x; %08x; %08x; %08x; \"%s\" (%s)", _date, _date_fract, (int)_current_company, tile, p1, p2, cmd & ~CMD_NETWORK_COMMAND, text.c_str(), GetCommandName(cmd));
|
|
|
}
|
|
|
cur_company.Restore();
|
|
|
return_dcpi(res);
|
|
@@ -716,7 +716,7 @@ CommandCost DoCommandPInternal(TileIndex
|
|
|
* reset the storages as we've not executed the command. */
|
|
|
return_dcpi(CommandCost());
|
|
|
}
|
|
|
DEBUG(desync, 1, "cmd: %08x; %02x; %02x; %06x; %08x; %08x; %08x; \"%s\" (%s)", _date, _date_fract, (int)_current_company, tile, p1, p2, cmd & ~CMD_NETWORK_COMMAND, text, GetCommandName(cmd));
|
|
|
DEBUG(desync, 1, "cmd: %08x; %02x; %02x; %06x; %08x; %08x; %08x; \"%s\" (%s)", _date, _date_fract, (int)_current_company, tile, p1, p2, cmd & ~CMD_NETWORK_COMMAND, text.c_str(), GetCommandName(cmd));
|
|
|
|
|
|
/* Actually try and execute the command. If no cost-type is given
|
|
|
* use the construction one */
|