diff --git a/lang/english.txt b/lang/english.txt --- a/lang/english.txt +++ b/lang/english.txt @@ -695,7 +695,7 @@ STR_028B_PLANT_TREES_RANDOMLY_OVER STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Place rocky areas on landscape STR_028D_PLACE_LIGHTHOUSE :{BLACK}Place lighthouse STR_028E_PLACE_TRANSMITTER :{BLACK}Place transmitter -STR_028F_DEFINE_DESERT_AREA :{BLACK}Define desert area +STR_028F_DEFINE_DESERT_AREA :{BLACK}Define desert area, press and hold CTRL to remove it STR_CREATE_LAKE :{BLACK}Define water area, will flood its surroundings if at sea level STR_0290_DELETE :{BLACK}Delete STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Delete this town completely diff --git a/terraform_gui.c b/terraform_gui.c --- a/terraform_gui.c +++ b/terraform_gui.c @@ -46,10 +46,15 @@ static void GenerateDesertArea(TileIndex size_x = (ex - sx) + 1; size_y = (ey - sy) + 1; + _generating_world = true; BEGIN_TILE_LOOP(tile, size_x, size_y, TILE_XY(sx, sy)) { - if (GetTileType(tile) != MP_WATER) - SetMapExtraBits(tile, GetMapExtraBits(tile) == 1 ? 0 : 1); + if (GetTileType(tile) != MP_WATER) { + SetMapExtraBits(tile, (_ctrl_pressed) ? 0 : 1); + DoClearSquare(tile); + MarkTileDirtyByTile(tile); + } } END_TILE_LOOP(tile, size_x, size_y, 0); + _generating_world = false; } /**