diff --git a/src/command.cpp b/src/command.cpp --- a/src/command.cpp +++ b/src/command.cpp @@ -17,7 +17,6 @@ #include "strings_func.h" #include "gfx_func.h" #include "functions.h" -#include "town.h" const char *_cmd_text = NULL; @@ -389,7 +388,7 @@ byte GetCommandFlags(uint cmd) return _command_proc_table[cmd & 0xFF].flags; } -static int _docommand_recursive = 0; +static int _docommand_recursive; /*! * This function executes a given command with the parameters from the #CommandProc parameter list. @@ -421,9 +420,7 @@ CommandCost DoCommand(TileIndex tile, ui /* only execute the test call if it's toplevel, or we're not execing. */ if (_docommand_recursive == 1 || !(flags & DC_EXEC) || (flags & DC_FORCETEST) ) { - SetTownRatingTestMode(true); res = proc(tile, flags & ~DC_EXEC, p1, p2); - SetTownRatingTestMode(false); if (CmdFailed(res)) { res.SetGlobalErrorMessage(); goto error; @@ -557,7 +554,7 @@ bool DoCommandP(TileIndex tile, uint32 p (cmd & 0xFF) == CMD_REMOVE_ROAD || (cmd & 0xFF) == CMD_REMOVE_LONG_ROAD || (cmd & 0xFF) == CMD_CLONE_VEHICLE; - notest = false; + _docommand_recursive = 1; /* cost estimation only? */ @@ -584,9 +581,7 @@ bool DoCommandP(TileIndex tile, uint32 p if (!((cmd & CMD_NO_TEST_IF_IN_NETWORK) && _networking)) { /* first test if the command can be executed. */ - SetTownRatingTestMode(true); res = proc(tile, flags, p1, p2); - SetTownRatingTestMode(false); if (CmdFailed(res)) { res.SetGlobalErrorMessage(); goto show_error;