1
0
Fork 0

(svn r24102) -Codechange: Refactor tile clearability test out of the statue callback.

release/1.3
alberth 2012-04-08 17:26:59 +00:00
parent f607538882
commit c876d18320
1 changed files with 14 additions and 7 deletions

View File

@ -2704,6 +2704,19 @@ static CommandCost TownActionRoadRebuild(Town *t, DoCommandFlag flags)
return CommandCost();
}
/**
* Check whether the land can be cleared.
* @param tile Tile to check.
* @return The tile can be cleared.
*/
static bool TryClearTile(TileIndex tile)
{
Backup<CompanyByte> cur_company(_current_company, OWNER_NONE, FILE_LINE);
CommandCost r = DoCommand(tile, 0, 0, DC_NONE, CMD_LANDSCAPE_CLEAR);
cur_company.Restore();
return r.Succeeded();
}
/**
* Search callback function for TownActionBuildStatue.
* @param tile Tile on which to perform the search.
@ -2723,13 +2736,7 @@ static bool SearchTileForStatue(TileIndex tile, void *user_data)
return false;
}
Backup<CompanyByte> cur_company(_current_company, OWNER_NONE, FILE_LINE);
CommandCost r = DoCommand(tile, 0, 0, DC_NONE, CMD_LANDSCAPE_CLEAR);
cur_company.Restore();
if (r.Failed()) return false;
return true;
return TryClearTile(tile);
}
/**