changeset 7789:bf6bc46be9da draft

(svn r11339) -Add: autoroad; same as autorail, but for road and trams and only on X and Y direction. Patch by Octopussy and skidd13.
author rubidium <rubidium@openttd.org>
date Mon, 22 Oct 2007 19:11:50 +0000
parents 3294d5b88b1b
children 5ead3ee7f7b7
files bin/data/openttd.grf src/gfxinit.cpp src/gui.h src/lang/english.txt src/road_gui.cpp src/table/files.h src/table/sprites.h
diffstat 7 files changed, 159 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
index 6bfc3dc1191183a2692cf06ef283525cccc6e42d..627c602bca617e6a5ff9ea7ab15051b89a999922
GIT binary patch
literal 31847
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
--- a/src/gfxinit.cpp
+++ b/src/gfxinit.cpp
@@ -324,7 +324,7 @@
 	377, 377, ///<  · small
 	153, 153, ///<  · medium
 	601, 601, ///<  · large
-	SPR_WARNING_SIGN, SPR_WARNING_SIGN,
+	SPR_WARNING_SIGN, SPR_CURSOR_AUTOTRAM,
 	END
 };
 
--- a/src/gui.h
+++ b/src/gui.h
@@ -88,6 +88,7 @@
 	/* Road specific actions */
 	DDSP_PLACE_ROAD_NE,
 	DDSP_PLACE_ROAD_NW,
+	DDSP_PLACE_AUTOROAD,
 };
 
 /* misc_gui.cpp */
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -1667,7 +1667,9 @@
 STR_180A_ROAD_CONSTRUCTION                                      :Road construction
 STR_180A_TRAMWAY_CONSTRUCTION                                   :Tramway construction
 STR_180B_BUILD_ROAD_SECTION                                     :{BLACK}Build road section
+STR_BUILD_AUTOROAD_TIP                                          :{BLACK}Build road section using the Autoroad mode
 STR_180B_BUILD_TRAMWAY_SECTION                                  :{BLACK}Build tramway section
+STR_BUILD_AUTOTRAM_TIP                                          :{BLACK}Build tramway section using the Autotram mode
 STR_180C_BUILD_ROAD_VEHICLE_DEPOT                               :{BLACK}Build road vehicle depot (for building and servicing vehicles)
 STR_180C_BUILD_TRAM_VEHICLE_DEPOT                               :{BLACK}Build tram vehicle depot (for building and servicing vehicles)
 STR_180D_BUILD_BUS_STATION                                      :{BLACK}Build bus station
--- a/src/road_gui.cpp
+++ b/src/road_gui.cpp
@@ -30,7 +30,22 @@
 
 static bool _remove_button_clicked;
 
-static byte _place_road_flag;
+/**
+ * Define the values of the RoadFlags
+ * @see CmdBuildLongRoad
+ */
+enum RoadFlags {
+	RF_NONE             = 0x00,
+	RF_START_HALFROAD_Y = 0x01,    // The start tile in Y-dir should have only a half hoad
+	RF_END_HALFROAD_Y   = 0x02,    // The end tile in Y-dir should have only a half hoad
+	RF_DIR_Y            = 0x04,    // The direction is Y-dir
+	RF_DIR_X            = RF_NONE, // Dummy; Dir X is set when RF_DIR_Y is not set
+	RF_START_HALFROAD_X = 0x08,    // The start tile in X-dir should have only a half hoad
+	RF_END_HALFROAD_X   = 0x10,    // The end tile in X-dir should have only a half hoad
+};
+DECLARE_ENUM_AS_BIT_SET(RoadFlags);
+
+static RoadFlags _place_road_flag;
 
 static RoadType _cur_roadtype;
 
@@ -42,18 +57,52 @@
 	if (success) SndPlayTileFx(SND_1F_SPLAT, tile);
 }
 
+/**
+ * Set the initial flags for the road constuction.
+ * The flags are:
+ * @li The direction is the Y-dir
+ * @li The first tile has a partitial RoadBit (true or false)
+ *
+ * @param tile The start tile
+ */
 static void PlaceRoad_NE(TileIndex tile)
 {
-	_place_road_flag = (_tile_fract_coords.y >= 8) + 4;
+	_place_road_flag = RF_DIR_Y;
+	if (_tile_fract_coords.y >= 8) _place_road_flag |= RF_START_HALFROAD_Y;
 	VpStartPlaceSizing(tile, VPM_FIX_X, DDSP_PLACE_ROAD_NE);
 }
 
+/**
+ * Set the initial flags for the road constuction.
+ * The flags are:
+ * @li The direction is the X-dir
+ * @li The first tile has a partitial RoadBit (true or false)
+ *
+ * @param tile The start tile
+ */
 static void PlaceRoad_NW(TileIndex tile)
 {
-	_place_road_flag = (_tile_fract_coords.x >= 8) + 0;
+	_place_road_flag = RF_DIR_X;
+	if (_tile_fract_coords.x >= 8) _place_road_flag |= RF_START_HALFROAD_X;
 	VpStartPlaceSizing(tile, VPM_FIX_Y, DDSP_PLACE_ROAD_NW);
 }
 
+/**
+ * Set the initial flags for the road constuction.
+ * The flags are:
+ * @li The direction is not set.
+ * @li The first tile has a partitial RoadBit (true or false)
+ *
+ * @param tile The start tile
+ */
+static void PlaceRoad_AutoRoad(TileIndex tile)
+{
+	_place_road_flag = RF_NONE;
+	if (_tile_fract_coords.x >= 8) _place_road_flag |= RF_START_HALFROAD_X;
+	if (_tile_fract_coords.y >= 8) _place_road_flag |= RF_START_HALFROAD_Y;
+	VpStartPlaceSizing(tile, VPM_X_OR_Y, DDSP_PLACE_AUTOROAD);
+}
+
 static void PlaceRoad_Bridge(TileIndex tile)
 {
 	VpStartPlaceSizing(tile, VPM_X_OR_Y, DDSP_BUILD_BRIDGE);
@@ -83,6 +132,7 @@
 
 	SpriteID cursor_nesw;           ///< Cursor for building NE and SW bits
 	SpriteID cursor_nwse;           ///< Cursor for building NW and SE bits
+	SpriteID cursor_autoroad;       ///< Cursor for building autoroad
 };
 
 /** What errors/cursors must be shown for several types of roads */
@@ -98,6 +148,7 @@
 
 		SPR_CURSOR_ROAD_NESW,
 		SPR_CURSOR_ROAD_NWSE,
+		SPR_CURSOR_AUTOROAD,
 	},
 	{
 		STR_1804_CAN_T_BUILD_TRAMWAY_HERE,
@@ -110,6 +161,7 @@
 
 		SPR_CURSOR_TRAMWAY_NESW,
 		SPR_CURSOR_TRAMWAY_NWSE,
+		SPR_CURSOR_AUTOTRAM,
 	},
 };
 
@@ -187,6 +239,7 @@
 	RTW_STICKY,
 	RTW_ROAD_X,
 	RTW_ROAD_Y,
+	RTW_AUTOROAD,
 	RTW_DEMOLISH,
 	RTW_DEPOT,
 	RTW_BUS_STATION,
@@ -198,16 +251,38 @@
 
 typedef void OnButtonClick(Window *w);
 
+/**
+ * Function that handles the click on the
+ *  X road placement button.
+ *
+ * @param w The current window
+ */
 static void BuildRoadClick_NE(Window *w)
 {
 	HandlePlacePushButton(w, RTW_ROAD_X, _road_type_infos[_cur_roadtype].cursor_nesw, 1, PlaceRoad_NE);
 }
 
+/**
+ * Function that handles the click on the
+ *  Y road placement button.
+ *
+ * @param w The current window
+ */
 static void BuildRoadClick_NW(Window *w)
 {
 	HandlePlacePushButton(w, RTW_ROAD_Y, _road_type_infos[_cur_roadtype].cursor_nwse, 1, PlaceRoad_NW);
 }
 
+/**
+ * Function that handles the click on the
+ *  autoroad placement button.
+ *
+ * @param w The current window
+ */
+static void BuildRoadClick_AutoRoad(Window *w)
+{
+	HandlePlacePushButton(w, RTW_AUTOROAD, _road_type_infos[_cur_roadtype].cursor_autoroad, 1, PlaceRoad_AutoRoad);
+}
 
 static void BuildRoadClick_Demolish(Window *w)
 {
@@ -251,9 +326,11 @@
 	SetSelectionRed(IsWindowWidgetLowered(w, RTW_REMOVE));
 }
 
+/** Array with the handlers of the button-clicks for the road-toolbar */
 static OnButtonClick* const _build_road_button_proc[] = {
 	BuildRoadClick_NE,
 	BuildRoadClick_NW,
+	BuildRoadClick_AutoRoad,
 	BuildRoadClick_Demolish,
 	BuildRoadClick_Depot,
 	BuildRoadClick_BusStation,
@@ -263,6 +340,7 @@
 	BuildRoadClick_Remove
 };
 
+/** Array with the keycode of the button-clicks for the road-toolbar */
 static const uint16 _road_keycodes[] = {
 	'1',
 	'2',
@@ -270,6 +348,7 @@
 	'4',
 	'5',
 	'6',
+	'7',
 	'B',
 	'T',
 	'R',
@@ -291,6 +370,7 @@
 			break;
 		case RTW_ROAD_X:
 		case RTW_ROAD_Y:
+		case RTW_AUTOROAD:
 		case RTW_BUS_STATION:
 		case RTW_TRUCK_STATION:
 			/* Removal button is enabled only if the road/station
@@ -361,13 +441,38 @@
 		break;
 
 	case WE_PLACE_DRAG:
+		/* Here we update the end tile flags
+		 * of the road placement actions.
+		 * At first we reset the end halfroad
+		 * bits and if needed we set them again. */
 		switch (e->we.place.select_proc) {
 			case DDSP_PLACE_ROAD_NE:
-				_place_road_flag = (_place_road_flag & ~2) | ((e->we.place.pt.y & 8) >> 2);
+				_place_road_flag &= ~RF_END_HALFROAD_Y;
+				if (e->we.place.pt.y & 8) _place_road_flag |= RF_END_HALFROAD_Y;
 				break;
 
 			case DDSP_PLACE_ROAD_NW:
-				_place_road_flag = (_place_road_flag & ~2) | ((e->we.place.pt.x & 8) >> 2);
+				_place_road_flag &= ~RF_END_HALFROAD_X;
+				if (e->we.place.pt.x & 8) _place_road_flag |= RF_END_HALFROAD_X;
+				break;
+
+			case DDSP_PLACE_AUTOROAD:
+				_place_road_flag &= ~(RF_END_HALFROAD_Y | RF_END_HALFROAD_X);
+				if (e->we.place.pt.y & 8) _place_road_flag |= RF_END_HALFROAD_Y;
+				if (e->we.place.pt.x & 8) _place_road_flag |= RF_END_HALFROAD_X;
+
+				/* For autoroad we need to update the
+				 * direction of the road */
+				if (_thd.size.x > _thd.size.y || (_thd.size.x == _thd.size.y &&
+						(_tile_fract_coords.x < _tile_fract_coords.y && (_tile_fract_coords.x + _tile_fract_coords.y) < 16) ||
+						(_tile_fract_coords.x > _tile_fract_coords.y && (_tile_fract_coords.x + _tile_fract_coords.y) > 16) )) {
+					/* Set dir = X */
+					_place_road_flag &= ~RF_DIR_Y;
+				} else {
+					/* Set dir = Y */
+					_place_road_flag |= RF_DIR_Y;
+				}
+
 				break;
 		}
 
@@ -391,6 +496,13 @@
 
 				case DDSP_PLACE_ROAD_NE:
 				case DDSP_PLACE_ROAD_NW:
+				case DDSP_PLACE_AUTOROAD:
+					/* Flag description:
+					 * Use the first three bits (0x07) if dir == Y
+					 * else use the last 2 bits (X dir has
+					 * not the 3rd bit set) */
+					_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 ?
 						CMD_REMOVE_LONG_ROAD | CMD_NO_WATER | CMD_MSG(_road_type_infos[_cur_roadtype].err_remove_road) :
@@ -417,23 +529,25 @@
 /** Widget definition of the build road toolbar */
 static const Widget _build_road_widgets[] = {
 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},             // RTW_CLOSEBOX
-{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   205,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},   // RTW_CAPTION
-{  WWT_STICKYBOX,   RESIZE_NONE,     7,   206,   217,     0,    13, 0x0,                        STR_STICKY_BUTTON},                 // RTW_STICKY
+{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   227,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},   // RTW_CAPTION
+{  WWT_STICKYBOX,   RESIZE_NONE,     7,   228,   239,     0,    13, 0x0,                        STR_STICKY_BUTTON},                 // RTW_STICKY
 
 {     WWT_IMGBTN,   RESIZE_NONE,     7,     0,    21,    14,    35, SPR_IMG_ROAD_NW,            STR_180B_BUILD_ROAD_SECTION},       // RTW_ROAD_X
 {     WWT_IMGBTN,   RESIZE_NONE,     7,    22,    43,    14,    35, SPR_IMG_ROAD_NE,            STR_180B_BUILD_ROAD_SECTION},       // RTW_ROAD_Y
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},   // RTW_DEMOLISH
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    66,    87,    14,    35, SPR_IMG_ROAD_DEPOT,         STR_180C_BUILD_ROAD_VEHICLE_DEPOT}, // RTW_DEPOT
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    88,   109,    14,    35, SPR_IMG_BUS_STATION,        STR_180D_BUILD_BUS_STATION},        // RTW_BUS_STATION
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   110,   131,    14,    35, SPR_IMG_TRUCK_BAY,          STR_180E_BUILD_TRUCK_LOADING_BAY},  // RTW_TRUCK_STATION
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   132,   173,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},        // RTW_BUILD_BRIDGE
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   174,   195,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},        // RTW_BUILD_TUNNEL
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   196,   217,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR},  // RTW_REMOVE
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_AUTOROAD,           STR_BUILD_AUTOROAD_TIP},            // RTW_AUTOROAD
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    66,    87,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},   // RTW_DEMOLISH
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    88,   109,    14,    35, SPR_IMG_ROAD_DEPOT,         STR_180C_BUILD_ROAD_VEHICLE_DEPOT}, // RTW_DEPOT
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   110,   131,    14,    35, SPR_IMG_BUS_STATION,        STR_180D_BUILD_BUS_STATION},        // RTW_BUS_STATION
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   132,   153,    14,    35, SPR_IMG_TRUCK_BAY,          STR_180E_BUILD_TRUCK_LOADING_BAY},  // RTW_TRUCK_STATION
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   153,   195,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},        // RTW_BUILD_BRIDGE
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   196,   217,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},        // RTW_BUILD_TUNNEL
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   218,   239,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR},  // RTW_REMOVE
+
 {   WIDGETS_END},
 };
 
 static const WindowDesc _build_road_desc = {
-	WDP_ALIGN_TBR, 22, 218, 36, 218, 36,
+	WDP_ALIGN_TBR, 22, 240, 36, 240, 36,
 	WC_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
 	_build_road_widgets,
@@ -443,23 +557,25 @@
 /** Widget definition of the build tram toolbar */
 static const Widget _build_tramway_widgets[] = {
 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},                     // RTW_CLOSEBOX
-{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   205,     0,    13, STR_1802_TRAMWAY_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},        // RTW_CAPTION
-{  WWT_STICKYBOX,   RESIZE_NONE,     7,   206,   217,     0,    13, 0x0,                        STR_STICKY_BUTTON},                         // RTW_STICKY
+{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   227,     0,    13, STR_1802_TRAMWAY_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},        // RTW_CAPTION
+{  WWT_STICKYBOX,   RESIZE_NONE,     7,   228,   239,     0,    13, 0x0,                        STR_STICKY_BUTTON},                         // RTW_STICKY
 
 {     WWT_IMGBTN,   RESIZE_NONE,     7,     0,    21,    14,    35, SPR_IMG_TRAMWAY_NW,         STR_180B_BUILD_TRAMWAY_SECTION},            // RTW_ROAD_X
 {     WWT_IMGBTN,   RESIZE_NONE,     7,    22,    43,    14,    35, SPR_IMG_TRAMWAY_NE,         STR_180B_BUILD_TRAMWAY_SECTION},            // RTW_ROAD_Y
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},           // RTW_DEMOLISH
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    66,    87,    14,    35, SPR_IMG_ROAD_DEPOT,         STR_180C_BUILD_TRAM_VEHICLE_DEPOT},         // RTW_DEPOT
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    88,   109,    14,    35, SPR_IMG_BUS_STATION,        STR_180D_BUILD_PASSENGER_TRAM_STATION},     // RTW_BUS_STATION
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   110,   131,    14,    35, SPR_IMG_TRUCK_BAY,          STR_180E_BUILD_CARGO_TRAM_STATION},         // RTW_TRUCK_STATION
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   132,   173,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_TRAMWAY_BRIDGE},             // RTW_BUILD_BRIDGE
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   174,   195,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_TRAMWAY_TUNNEL},             // RTW_BUILD_TUNNEL
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   196,   217,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS}, // RTW_REMOVE
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_AUTOTRAM,           STR_BUILD_AUTOTRAM_TIP},                    // RTW_AUTOROAD
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    66,    87,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},           // RTW_DEMOLISH
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    88,   109,    14,    35, SPR_IMG_ROAD_DEPOT,         STR_180C_BUILD_TRAM_VEHICLE_DEPOT},         // RTW_DEPOT
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   110,   131,    14,    35, SPR_IMG_BUS_STATION,        STR_180D_BUILD_PASSENGER_TRAM_STATION},     // RTW_BUS_STATION
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   132,   153,    14,    35, SPR_IMG_TRUCK_BAY,          STR_180E_BUILD_CARGO_TRAM_STATION},         // RTW_TRUCK_STATION
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   153,   195,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_TRAMWAY_BRIDGE},             // RTW_BUILD_BRIDGE
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   196,   217,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_TRAMWAY_TUNNEL},             // RTW_BUILD_TUNNEL
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   218,   239,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS}, // RTW_REMOVE
+
 {   WIDGETS_END},
 };
 
 static const WindowDesc _build_tramway_desc = {
-	WDP_ALIGN_TBR, 22, 218, 36, 218, 36,
+	WDP_ALIGN_TBR, 22, 240, 36, 240, 36,
 	WC_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
 	_build_tramway_widgets,
@@ -479,23 +595,24 @@
 /** Widget definition of the build road toolbar in the scenario editor */
 static const Widget _build_road_scen_widgets[] = {
 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},            // RTW_CLOSEBOX
-{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   139,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},  // RTW_CAPTION
-{  WWT_STICKYBOX,   RESIZE_NONE,     7,   140,   151,     0,    13, 0x0,                        STR_STICKY_BUTTON},                // RTW_STICKY
+{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   161,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},  // RTW_CAPTION
+{  WWT_STICKYBOX,   RESIZE_NONE,     7,   162,   173,     0,    13, 0x0,                        STR_STICKY_BUTTON},                // RTW_STICKY
 
 {     WWT_IMGBTN,   RESIZE_NONE,     7,     0,    21,    14,    35, SPR_IMG_ROAD_NW,            STR_180B_BUILD_ROAD_SECTION},      // RTW_ROAD_X
 {     WWT_IMGBTN,   RESIZE_NONE,     7,    22,    43,    14,    35, SPR_IMG_ROAD_NE,            STR_180B_BUILD_ROAD_SECTION},      // RTW_ROAD_Y
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},  // RTW_DEMOLISH
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_AUTOROAD,           STR_BUILD_AUTOROAD_TIP},           // RTW_AUTOROAD
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    66,    87,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},  // RTW_DEMOLISH
 {      WWT_EMPTY,   RESIZE_NONE,     0,     0,     0,     0,     0, 0x0,                        STR_NULL},                         // RTW_DEPOT
 {      WWT_EMPTY,   RESIZE_NONE,     0,     0,     0,     0,     0, 0x0,                        STR_NULL},                         // RTW_BUS_STATION
 {      WWT_EMPTY,   RESIZE_NONE,     0,     0,     0,     0,     0, 0x0,                        STR_NULL},                         // RTW_TRUCK_STATION
-{     WWT_IMGBTN,   RESIZE_NONE,     7,    66,   107,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},       // RTW_BUILD_BRIDGE
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   108,   129,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},       // RTW_BUILD_TUNNEL
-{     WWT_IMGBTN,   RESIZE_NONE,     7,   130,   151,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR}, // RTW_REMOVE
+{     WWT_IMGBTN,   RESIZE_NONE,     7,    88,   130,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},       // RTW_BUILD_BRIDGE
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   131,   151,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},       // RTW_BUILD_TUNNEL
+{     WWT_IMGBTN,   RESIZE_NONE,     7,   152,   173,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR}, // RTW_REMOVE
 {   WIDGETS_END},
 };
 
 static const WindowDesc _build_road_scen_desc = {
-	WDP_AUTO, WDP_AUTO, 152, 36, 152, 36,
+	WDP_AUTO, WDP_AUTO, 174, 36, 174, 36,
 	WC_SCEN_BUILD_ROAD, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
 	_build_road_scen_widgets,
--- a/src/table/files.h
+++ b/src/table/files.h
@@ -59,7 +59,7 @@
 	{ "autorail.grf",  { 0xed, 0x44, 0x7f, 0xbb, 0x19, 0x44, 0x48, 0x4c, 0x07, 0x8a, 0xb1, 0xc1, 0x5c, 0x12, 0x3a, 0x60 } },
 	{ "canalsw.grf",   { 0x13, 0x9c, 0x98, 0xcf, 0xb8, 0x7c, 0xd7, 0x1f, 0xca, 0x34, 0xa5, 0x6b, 0x65, 0x31, 0xec, 0x0f } },
 	{ "elrailsw.grf",  { 0x4f, 0xf9, 0xac, 0x79, 0x50, 0x28, 0x9b, 0xe2, 0x15, 0x30, 0xa8, 0x1e, 0xd5, 0xfd, 0xe1, 0xda } },
-	{ "openttd.grf",   { 0x20, 0x64, 0x4a, 0xf6, 0x75, 0x26, 0x5b, 0x92, 0xbb, 0x6f, 0x8d, 0x0e, 0x34, 0x7e, 0xa6, 0xe3 } },
+	{ "openttd.grf",   { 0x95, 0xe3, 0x09, 0xe4, 0x2c, 0x2d, 0x47, 0x80, 0xd2, 0x09, 0x06, 0x64, 0xaf, 0x20, 0x32, 0x14 } },
 	{ "trkfoundw.grf", { 0x12, 0x33, 0x3f, 0xa3, 0xd1, 0x86, 0x8b, 0x04, 0x53, 0x18, 0x9c, 0xee, 0xf9, 0x2d, 0xf5, 0x95 } },
 	{ "roadstops.grf", { 0xa1, 0x5b, 0xb3, 0x52, 0x60, 0x12, 0x3c, 0xb7, 0x7b, 0x73, 0x09, 0xc1, 0x1a, 0xb4, 0xd0, 0xb8 } },
 	{ "group.grf",     { 0xe8, 0x52, 0x5f, 0x1c, 0x3e, 0xf9, 0x91, 0x9d, 0x0f, 0x70, 0x8c, 0x8a, 0x21, 0xa4, 0xc7, 0x02 } },
--- a/src/table/sprites.h
+++ b/src/table/sprites.h
@@ -47,7 +47,7 @@
 	SPR_ASCII_SPACE_BIG   = 450,
 
 	/* Extra graphic spritenumbers */
-	OPENTTD_SPRITES_COUNT = 112, // number of gfx-sprites in openttd.grf
+	OPENTTD_SPRITES_COUNT = 116, // number of gfx-sprites in openttd.grf
 	SPR_SIGNALS_BASE  = 4896,
 	SPR_CANALS_BASE   = SPR_SIGNALS_BASE + 486,
 
@@ -1225,6 +1225,7 @@
 	/* road_gui.c */
 	SPR_IMG_ROAD_NW       = 1309,
 	SPR_IMG_ROAD_NE       = 1310,
+	SPR_IMG_AUTOROAD      = SPR_OPENTTD_BASE + 112,
 	SPR_IMG_ROAD_DEPOT    = 1295,
 	SPR_IMG_BUS_STATION   = 749,
 	SPR_IMG_TRUCK_BAY     = 750,
@@ -1233,6 +1234,7 @@
 	SPR_IMG_REMOVE        = 714,
 	SPR_IMG_TRAMWAY_NW    = SPR_TRAMWAY_BASE + 0,
 	SPR_IMG_TRAMWAY_NE    = SPR_TRAMWAY_BASE + 1,
+	SPR_IMG_AUTOTRAM      = SPR_OPENTTD_BASE + 114,
 
 	/* rail_gui.c */
 	SPR_IMG_RAIL_NS    = 1251,
@@ -1349,8 +1351,10 @@
 	/* road cursors */
 	SPR_CURSOR_ROAD_NESW      = 1311,
 	SPR_CURSOR_ROAD_NWSE      = 1312,
+	SPR_CURSOR_AUTOROAD       = SPR_OPENTTD_BASE + 113,
 	SPR_CURSOR_TRAMWAY_NESW   = SPR_TRAMWAY_BASE + 2,
 	SPR_CURSOR_TRAMWAY_NWSE   = SPR_TRAMWAY_BASE + 3,
+	SPR_CURSOR_AUTOTRAM       = SPR_OPENTTD_BASE + 115,
 
 	SPR_CURSOR_ROAD_DEPOT     = 1297,
 	SPR_CURSOR_BUS_STATION    = 2725,