(svn r2214) - Fix: Dragging the desert tool over half-desert turns it into full-desert; dragging the tool while pressing ctrl, will remove the desert area.
authorDarkvater
Tue, 19 Apr 2005 18:30:31 +0000
changeset 1710 65510674894c
parent 1709 80b108681ff1
child 1711 786fc0df2b6e
(svn r2214) - Fix: Dragging the desert tool over half-desert turns it into full-desert; dragging the tool while pressing ctrl, will remove the desert area.
lang/english.txt
terraform_gui.c
--- a/lang/english.txt	Mon Apr 18 05:42:59 2005 +0000
+++ b/lang/english.txt	Tue Apr 19 18:30:31 2005 +0000
@@ -695,7 +695,7 @@
 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
--- a/terraform_gui.c	Mon Apr 18 05:42:59 2005 +0000
+++ b/terraform_gui.c	Tue Apr 19 18:30:31 2005 +0000
@@ -46,10 +46,15 @@
 	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;
 }
 
 /**