Changeset - r12941:bc594324bd38
[Not reviewed]
master
0 1 0
rubidium - 15 years ago 2009-09-07 08:36:52
rubidium@openttd.org
(svn r17444) -Fix [FS#3173]: when building roads isn't allowed for town, then don't build the initial piece either
1 file changed with 11 insertions and 9 deletions:
0 comments (0 inline, 0 general)
src/town_cmd.cpp
Show inline comments
 
@@ -1315,17 +1315,19 @@ static bool GrowTown(Town *t)
 

	
 
	/* No road available, try to build a random road block by
 
	 * clearing some land and then building a road there. */
 
	tile = t->xy;
 
	for (ptr = _town_coord_mod; ptr != endof(_town_coord_mod); ++ptr) {
 
		/* Only work with plain land that not already has a house */
 
		if (!IsTileType(tile, MP_HOUSE) && GetTileSlope(tile, NULL) == SLOPE_FLAT) {
 
			if (CmdSucceeded(DoCommand(tile, 0, 0, DC_AUTO | DC_NO_WATER, CMD_LANDSCAPE_CLEAR))) {
 
				DoCommand(tile, GenRandomRoadBits(), t->index, DC_EXEC | DC_AUTO, CMD_BUILD_ROAD);
 
				_current_company = old_company;
 
				return true;
 
	if (_settings_game.economy.allow_town_roads || _generating_world) {
 
		tile = t->xy;
 
		for (ptr = _town_coord_mod; ptr != endof(_town_coord_mod); ++ptr) {
 
			/* Only work with plain land that not already has a house */
 
			if (!IsTileType(tile, MP_HOUSE) && GetTileSlope(tile, NULL) == SLOPE_FLAT) {
 
				if (CmdSucceeded(DoCommand(tile, 0, 0, DC_AUTO | DC_NO_WATER, CMD_LANDSCAPE_CLEAR))) {
 
					DoCommand(tile, GenRandomRoadBits(), t->index, DC_EXEC | DC_AUTO, CMD_BUILD_ROAD);
 
					_current_company = old_company;
 
					return true;
 
				}
 
			}
 
			tile = TILE_ADD(tile, ToTileIndexDiff(*ptr));
 
		}
 
		tile = TILE_ADD(tile, ToTileIndexDiff(*ptr));
 
	}
 

	
 
	_current_company = old_company;
0 comments (0 inline, 0 general)