(svn r11455) -Codechange: make autoroad, 'normal' road building and 'normal' rail building all react the same on CTRL as autorail.
authorrubidium
Sun, 18 Nov 2007 08:03:48 +0000
changeset 8400 89e1ee0c796c
parent 8399 1f301df8328a
child 8401 3b1db2134a9e
(svn r11455) -Codechange: make autoroad, 'normal' road building and 'normal' rail building all react the same on CTRL as autorail.
src/rail_gui.cpp
src/road_gui.cpp
--- a/src/rail_gui.cpp	Sat Nov 17 23:16:41 2007 +0000
+++ b/src/rail_gui.cpp	Sun Nov 18 08:03:48 2007 +0000
@@ -516,8 +516,7 @@
 					if (_ctrl_pressed) _remove_button_clicked = true;
 					HandleAutodirPlacement();
 					_remove_button_clicked = old;
-					break;
-				}
+				} break;
 
 				case DDSP_BUILD_SIGNALS:
 					HandleAutoSignalPlacement();
@@ -540,9 +539,12 @@
 					break;
 
 				case DDSP_PLACE_RAIL_NE:
-				case DDSP_PLACE_RAIL_NW:
+				case DDSP_PLACE_RAIL_NW: {
+					bool old = _remove_button_clicked;
+					if (_ctrl_pressed) _remove_button_clicked = true;
 					DoRailroadTrack(e->we.place.select_proc == DDSP_PLACE_RAIL_NE ? TRACK_X : TRACK_Y);
-					break;
+					_remove_button_clicked = old;
+				} break;
 			}
 		}
 		break;
--- a/src/road_gui.cpp	Sat Nov 17 23:16:41 2007 +0000
+++ b/src/road_gui.cpp	Sun Nov 18 08:03:48 2007 +0000
@@ -504,7 +504,7 @@
 					_place_road_flag = (RoadFlags)((_place_road_flag & RF_DIR_Y) ? (_place_road_flag & 0x07) : (_place_road_flag >> 3));
 
 					DoCommandP(end_tile, start_tile, _place_road_flag | (_cur_roadtype << 3) | _ctrl_pressed << 5, CcPlaySound1D,
-						_remove_button_clicked ?
+						(_ctrl_pressed || _remove_button_clicked) ?
 						CMD_REMOVE_LONG_ROAD | CMD_NO_WATER | CMD_MSG(_road_type_infos[_cur_roadtype].err_remove_road) :
 						CMD_BUILD_LONG_ROAD | CMD_NO_WATER | CMD_MSG(_road_type_infos[_cur_roadtype].err_build_road));
 					break;