(svn r7239) Enumerate the widgets in the airport, dock, rail and road toolbars
This commit is contained in:
		| @@ -41,14 +41,20 @@ static void PlaceAir_DemolishArea(TileIndex tile) | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | enum { | ||||||
|  | 	ATW_AIRPORT  = 3, | ||||||
|  | 	ATW_DEMOLISH = 4 | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
| static void BuildAirClick_Airport(Window *w) | static void BuildAirClick_Airport(Window *w) | ||||||
| { | { | ||||||
| 	if (HandlePlacePushButton(w, 3, SPR_CURSOR_AIRPORT, 1, PlaceAirport)) ShowBuildAirportPicker(); | 	if (HandlePlacePushButton(w, ATW_AIRPORT, SPR_CURSOR_AIRPORT, 1, PlaceAirport)) ShowBuildAirportPicker(); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildAirClick_Demolish(Window *w) | static void BuildAirClick_Demolish(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 4, ANIMCURSOR_DEMOLISH, 1, PlaceAir_DemolishArea); | 	HandlePlacePushButton(w, ATW_DEMOLISH, ANIMCURSOR_DEMOLISH, 1, PlaceAir_DemolishArea); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildAirClick_Landscaping(Window *w) | static void BuildAirClick_Landscaping(Window *w) | ||||||
|   | |||||||
							
								
								
									
										23
									
								
								dock_gui.c
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								dock_gui.c
									
									
									
									
									
								
							| @@ -65,35 +65,44 @@ static void PlaceDocks_BuildLock(TileIndex tile) | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | enum { | ||||||
|  | 	DTW_CANAL    = 3, | ||||||
|  | 	DTW_LOCK     = 4, | ||||||
|  | 	DTW_DEMOLISH = 6, | ||||||
|  | 	DTW_DEPOT    = 7, | ||||||
|  | 	DTW_STATION  = 8, | ||||||
|  | 	DTW_BUOY     = 9 | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
| static void BuildDocksClick_Canal(Window *w) | static void BuildDocksClick_Canal(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 3, SPR_CURSOR_CANAL, 1, PlaceDocks_BuildCanal); | 	HandlePlacePushButton(w, DTW_CANAL, SPR_CURSOR_CANAL, 1, PlaceDocks_BuildCanal); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildDocksClick_Lock(Window *w) | static void BuildDocksClick_Lock(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 4, SPR_CURSOR_LOCK, 1, PlaceDocks_BuildLock); | 	HandlePlacePushButton(w, DTW_LOCK, SPR_CURSOR_LOCK, 1, PlaceDocks_BuildLock); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildDocksClick_Demolish(Window *w) | static void BuildDocksClick_Demolish(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 6, ANIMCURSOR_DEMOLISH, 1, PlaceDocks_DemolishArea); | 	HandlePlacePushButton(w, DTW_DEMOLISH, ANIMCURSOR_DEMOLISH, 1, PlaceDocks_DemolishArea); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildDocksClick_Depot(Window *w) | static void BuildDocksClick_Depot(Window *w) | ||||||
| { | { | ||||||
| 	if (HandlePlacePushButton(w, 7, SPR_CURSOR_SHIP_DEPOT, 1, PlaceDocks_Depot)) ShowBuildDocksDepotPicker(); | 	if (HandlePlacePushButton(w, DTW_DEPOT, SPR_CURSOR_SHIP_DEPOT, 1, PlaceDocks_Depot)) ShowBuildDocksDepotPicker(); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildDocksClick_Dock(Window *w) | static void BuildDocksClick_Dock(Window *w) | ||||||
| { | { | ||||||
|  | 	if (HandlePlacePushButton(w, DTW_STATION, SPR_CURSOR_DOCK, 3, PlaceDocks_Dock)) ShowBuildDockStationPicker(); | ||||||
| 	if (HandlePlacePushButton(w, 8, SPR_CURSOR_DOCK, 3, PlaceDocks_Dock)) ShowBuildDockStationPicker(); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildDocksClick_Buoy(Window *w) | static void BuildDocksClick_Buoy(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 9, SPR_CURSOR_BOUY, 1, PlaceDocks_Buoy); | 	HandlePlacePushButton(w, DTW_BUOY, SPR_CURSOR_BOUY, 1, PlaceDocks_Buoy); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildDocksClick_Landscaping(Window *w) | static void BuildDocksClick_Landscaping(Window *w) | ||||||
|   | |||||||
							
								
								
									
										89
									
								
								rail_gui.c
									
									
									
									
									
								
							
							
						
						
									
										89
									
								
								rail_gui.c
									
									
									
									
									
								
							| @@ -225,39 +225,60 @@ static void PlaceRail_AutoSignals(TileIndex tile) | |||||||
| 	VpStartPlaceSizing(tile, VPM_SIGNALDIRS); | 	VpStartPlaceSizing(tile, VPM_SIGNALDIRS); | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** Enum referring to the widgets of the build rail toolbar */ | ||||||
|  | enum { | ||||||
|  | 	RTW_CAPTION        =  1, | ||||||
|  | 	RTW_BUILD_NS       =  4, | ||||||
|  | 	RTW_BUILD_X        =  5, | ||||||
|  | 	RTW_BUILD_EW       =  6, | ||||||
|  | 	RTW_BUILD_Y        =  7, | ||||||
|  | 	RTW_AUTORAIL       =  8, | ||||||
|  | 	RTW_DEMOLISH       =  9, | ||||||
|  | 	RTW_BUILD_DEPOT    = 10, | ||||||
|  | 	RTW_BUILD_WAYPOINT = 11, | ||||||
|  | 	RTW_BUILD_STATION  = 12, | ||||||
|  | 	RTW_BUILD_SIGNALS  = 13, | ||||||
|  | 	RTW_BUILD_BRIDGE   = 14, | ||||||
|  | 	RTW_BUILD_TUNNEL   = 15, | ||||||
|  | 	RTW_REMOVE         = 16, | ||||||
|  | 	RTW_CONVERT_RAIL   = 17 | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
| static void BuildRailClick_N(Window *w) | static void BuildRailClick_N(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 4, GetRailTypeInfo(_cur_railtype)->cursor.rail_ns, 1, PlaceRail_N); | 	HandlePlacePushButton(w, RTW_BUILD_NS, GetRailTypeInfo(_cur_railtype)->cursor.rail_ns, 1, PlaceRail_N); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_NE(Window *w) | static void BuildRailClick_NE(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 5, GetRailTypeInfo(_cur_railtype)->cursor.rail_swne, 1, PlaceRail_NE); | 	HandlePlacePushButton(w, RTW_BUILD_X, GetRailTypeInfo(_cur_railtype)->cursor.rail_swne, 1, PlaceRail_NE); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_E(Window *w) | static void BuildRailClick_E(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 6, GetRailTypeInfo(_cur_railtype)->cursor.rail_ew, 1, PlaceRail_E); | 	HandlePlacePushButton(w, RTW_BUILD_EW, GetRailTypeInfo(_cur_railtype)->cursor.rail_ew, 1, PlaceRail_E); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_NW(Window *w) | static void BuildRailClick_NW(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 7, GetRailTypeInfo(_cur_railtype)->cursor.rail_nwse, 1, PlaceRail_NW); | 	HandlePlacePushButton(w, RTW_BUILD_Y, GetRailTypeInfo(_cur_railtype)->cursor.rail_nwse, 1, PlaceRail_NW); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_AutoRail(Window *w) | static void BuildRailClick_AutoRail(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 8, GetRailTypeInfo(_cur_railtype)->cursor.autorail, VHM_RAIL, PlaceRail_AutoRail); | 	HandlePlacePushButton(w, RTW_AUTORAIL, GetRailTypeInfo(_cur_railtype)->cursor.autorail, VHM_RAIL, PlaceRail_AutoRail); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_Demolish(Window *w) | static void BuildRailClick_Demolish(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 9, ANIMCURSOR_DEMOLISH, 1, PlaceProc_DemolishArea); | 	HandlePlacePushButton(w, RTW_DEMOLISH, ANIMCURSOR_DEMOLISH, 1, PlaceProc_DemolishArea); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_Depot(Window *w) | static void BuildRailClick_Depot(Window *w) | ||||||
| { | { | ||||||
| 	if (HandlePlacePushButton(w, 10, GetRailTypeInfo(_cur_railtype)->cursor.depot, 1, PlaceRail_Depot)) { | 	if (HandlePlacePushButton(w, RTW_BUILD_DEPOT, GetRailTypeInfo(_cur_railtype)->cursor.depot, 1, PlaceRail_Depot)) { | ||||||
| 		ShowBuildTrainDepotPicker(); | 		ShowBuildTrainDepotPicker(); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @@ -265,7 +286,7 @@ static void BuildRailClick_Depot(Window *w) | |||||||
| static void BuildRailClick_Waypoint(Window *w) | static void BuildRailClick_Waypoint(Window *w) | ||||||
| { | { | ||||||
| 	_waypoint_count = GetNumCustomStations(STAT_CLASS_WAYP); | 	_waypoint_count = GetNumCustomStations(STAT_CLASS_WAYP); | ||||||
| 	if (HandlePlacePushButton(w, 11, SPR_CURSOR_WAYPOINT, 1, PlaceRail_Waypoint) && | 	if (HandlePlacePushButton(w, RTW_BUILD_WAYPOINT, SPR_CURSOR_WAYPOINT, 1, PlaceRail_Waypoint) && | ||||||
| 			_waypoint_count > 1) { | 			_waypoint_count > 1) { | ||||||
| 		ShowBuildWaypointPicker(); | 		ShowBuildWaypointPicker(); | ||||||
| 	} | 	} | ||||||
| @@ -273,32 +294,32 @@ static void BuildRailClick_Waypoint(Window *w) | |||||||
|  |  | ||||||
| static void BuildRailClick_Station(Window *w) | static void BuildRailClick_Station(Window *w) | ||||||
| { | { | ||||||
| 	if (HandlePlacePushButton(w, 12, SPR_CURSOR_RAIL_STATION, 1, PlaceRail_Station)) ShowStationBuilder(); | 	if (HandlePlacePushButton(w, RTW_BUILD_STATION, SPR_CURSOR_RAIL_STATION, 1, PlaceRail_Station)) ShowStationBuilder(); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_AutoSignals(Window *w) | static void BuildRailClick_AutoSignals(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 13, ANIMCURSOR_BUILDSIGNALS, VHM_RECT, PlaceRail_AutoSignals); | 	HandlePlacePushButton(w, RTW_BUILD_SIGNALS, ANIMCURSOR_BUILDSIGNALS, VHM_RECT, PlaceRail_AutoSignals); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_Bridge(Window *w) | static void BuildRailClick_Bridge(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 14, SPR_CURSOR_BRIDGE, 1, PlaceRail_Bridge); | 	HandlePlacePushButton(w, RTW_BUILD_BRIDGE, SPR_CURSOR_BRIDGE, 1, PlaceRail_Bridge); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_Tunnel(Window *w) | static void BuildRailClick_Tunnel(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 15, GetRailTypeInfo(_cur_railtype)->cursor.tunnel, 3, PlaceRail_Tunnel); | 	HandlePlacePushButton(w, RTW_BUILD_TUNNEL, GetRailTypeInfo(_cur_railtype)->cursor.tunnel, 3, PlaceRail_Tunnel); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_Remove(Window *w) | static void BuildRailClick_Remove(Window *w) | ||||||
| { | { | ||||||
| 	if (IsWindowWidgetDisabled(w, 16)) return; | 	if (IsWindowWidgetDisabled(w, RTW_REMOVE)) return; | ||||||
| 	SetWindowDirty(w); | 	SetWindowDirty(w); | ||||||
| 	SndPlayFx(SND_15_BEEP); | 	SndPlayFx(SND_15_BEEP); | ||||||
|  |  | ||||||
| 	ToggleWidgetLoweredState(w, 16); | 	ToggleWidgetLoweredState(w, RTW_REMOVE); | ||||||
| 	_remove_button_clicked = IsWindowWidgetLowered(w, 16); | 	_remove_button_clicked = IsWindowWidgetLowered(w, RTW_REMOVE); | ||||||
| 	SetSelectionRed(_remove_button_clicked); | 	SetSelectionRed(_remove_button_clicked); | ||||||
|  |  | ||||||
| 	// handle station builder | 	// handle station builder | ||||||
| @@ -309,7 +330,7 @@ static void BuildRailClick_Remove(Window *w) | |||||||
|  |  | ||||||
| static void BuildRailClick_Convert(Window *w) | static void BuildRailClick_Convert(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 17, GetRailTypeInfo(_cur_railtype)->cursor.convert, 1, PlaceRail_ConvertRail); | 	HandlePlacePushButton(w, RTW_CONVERT_RAIL, GetRailTypeInfo(_cur_railtype)->cursor.convert, 1, PlaceRail_ConvertRail); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRailClick_Landscaping(Window *w) | static void BuildRailClick_Landscaping(Window *w) | ||||||
| @@ -406,20 +427,27 @@ static void UpdateRemoveWidgetStatus(Window *w, int clicked_widget) | |||||||
| { | { | ||||||
| 	/* If it is the removal button that has been clicked, do nothing, | 	/* If it is the removal button that has been clicked, do nothing, | ||||||
| 	 * as it is up to the other buttons to drive removal status */ | 	 * as it is up to the other buttons to drive removal status */ | ||||||
| 	if (clicked_widget == 16) return; | 	if (clicked_widget == RTW_REMOVE) return; | ||||||
|  |  | ||||||
| 	switch (clicked_widget) { | 	switch (clicked_widget) { | ||||||
| 		case 4: case 5: case 6: case 7: case 8: case 11: case 12: case 13: | 		case RTW_BUILD_NS: | ||||||
|  | 		case RTW_BUILD_X: | ||||||
|  | 		case RTW_BUILD_EW: | ||||||
|  | 		case RTW_BUILD_Y: | ||||||
|  | 		case RTW_AUTORAIL: | ||||||
|  | 		case RTW_BUILD_WAYPOINT: | ||||||
|  | 		case RTW_BUILD_STATION: | ||||||
|  | 		case RTW_BUILD_SIGNALS: | ||||||
| 			/* Removal button is enabled only if the rail/signal/waypoint/station | 			/* Removal button is enabled only if the rail/signal/waypoint/station | ||||||
| 			 * button is still lowered.  Once raised, it has to be disabled */ | 			 * button is still lowered.  Once raised, it has to be disabled */ | ||||||
| 			SetWindowWidgetDisabledState(w, 16, !IsWindowWidgetLowered(w, clicked_widget)); | 			SetWindowWidgetDisabledState(w, RTW_REMOVE, !IsWindowWidgetLowered(w, clicked_widget)); | ||||||
| 			break; | 			break; | ||||||
|  |  | ||||||
| 		default: | 		default: | ||||||
| 			/* When any other buttons than rail/signal/waypoint/station, raise and | 			/* When any other buttons than rail/signal/waypoint/station, raise and | ||||||
| 			 * disable the removal button*/ | 			 * disable the removal button*/ | ||||||
| 			DisableWindowWidget(w, 16); | 			DisableWindowWidget(w, RTW_REMOVE); | ||||||
| 			RaiseWindowWidget(w, 16); | 			RaiseWindowWidget(w, RTW_REMOVE); | ||||||
| 			break; | 			break; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @@ -427,7 +455,7 @@ static void UpdateRemoveWidgetStatus(Window *w, int clicked_widget) | |||||||
| static void BuildRailToolbWndProc(Window *w, WindowEvent *e) | static void BuildRailToolbWndProc(Window *w, WindowEvent *e) | ||||||
| { | { | ||||||
| 	switch (e->event) { | 	switch (e->event) { | ||||||
| 	case WE_CREATE: DisableWindowWidget(w, 16); break; | 	case WE_CREATE: DisableWindowWidget(w, RTW_REMOVE); break; | ||||||
|  |  | ||||||
| 	case WE_PAINT: DrawWindowWidgets(w); break; | 	case WE_PAINT: DrawWindowWidgets(w); break; | ||||||
|  |  | ||||||
| @@ -494,8 +522,8 @@ static void BuildRailToolbWndProc(Window *w, WindowEvent *e) | |||||||
|  |  | ||||||
| 	case WE_ABORT_PLACE_OBJ: | 	case WE_ABORT_PLACE_OBJ: | ||||||
| 		RaiseWindowButtons(w); | 		RaiseWindowButtons(w); | ||||||
| 		DisableWindowWidget(w, 16); | 		DisableWindowWidget(w, RTW_REMOVE); | ||||||
| 		InvalidateWidget(w, 16); | 		InvalidateWidget(w, RTW_REMOVE); | ||||||
|  |  | ||||||
| 		w = FindWindowById(WC_BUILD_STATION, 0); | 		w = FindWindowById(WC_BUILD_STATION, 0); | ||||||
| 		if (w != NULL) WP(w,def_d).close = true; | 		if (w != NULL) WP(w,def_d).close = true; | ||||||
| @@ -554,19 +582,6 @@ static const WindowDesc _build_rail_desc = { | |||||||
| 	BuildRailToolbWndProc | 	BuildRailToolbWndProc | ||||||
| }; | }; | ||||||
|  |  | ||||||
| /** Enum referring to the widgets of the build rail toolbar |  | ||||||
|  */ |  | ||||||
| typedef enum { |  | ||||||
| 	RTW_CAPTION = 1, |  | ||||||
| 	RTW_BUILD_NS = 4, |  | ||||||
| 	RTW_BUILD_X = 5, |  | ||||||
| 	RTW_BUILD_EW = 6, |  | ||||||
| 	RTW_BUILD_Y = 7, |  | ||||||
| 	RTW_AUTORAIL = 8, |  | ||||||
| 	RTW_BUILD_DEPOT = 10, |  | ||||||
| 	RTW_BUILD_TUNNEL = 15, |  | ||||||
| 	RTW_CONVERT_RAIL = 17 |  | ||||||
| } RailToolbarWidgets; |  | ||||||
|  |  | ||||||
| /** Configures the rail toolbar for railtype given | /** Configures the rail toolbar for railtype given | ||||||
|  * @param railtype the railtype to display |  * @param railtype the railtype to display | ||||||
|   | |||||||
							
								
								
									
										48
									
								
								road_gui.c
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								road_gui.c
									
									
									
									
									
								
							| @@ -107,59 +107,73 @@ static void PlaceRoad_DemolishArea(TileIndex tile) | |||||||
| 	VpStartPlaceSizing(tile, 4); | 	VpStartPlaceSizing(tile, 4); | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | enum { | ||||||
|  | 	RTW_ROAD_X        =  3, | ||||||
|  | 	RTW_ROAD_Y        =  4, | ||||||
|  | 	RTW_DEMOLISH      =  5, | ||||||
|  | 	RTW_DEPOT         =  6, | ||||||
|  | 	RTW_BUS_STATION   =  7, | ||||||
|  | 	RTW_TRUCK_STATION =  8, | ||||||
|  | 	RTW_BUILD_BRIDGE  =  9, | ||||||
|  | 	RTW_BUILD_TUNNEL  = 10, | ||||||
|  | 	RTW_REMOVE        = 11 | ||||||
|  | }; | ||||||
|  |  | ||||||
|  |  | ||||||
| typedef void OnButtonClick(Window *w); | typedef void OnButtonClick(Window *w); | ||||||
|  |  | ||||||
| static void BuildRoadClick_NE(Window *w) | static void BuildRoadClick_NE(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 3, SPR_CURSOR_ROAD_NESW, 1, PlaceRoad_NE); | 	HandlePlacePushButton(w, RTW_ROAD_X, SPR_CURSOR_ROAD_NESW, 1, PlaceRoad_NE); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_NW(Window *w) | static void BuildRoadClick_NW(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 4, SPR_CURSOR_ROAD_NWSE, 1, PlaceRoad_NW); | 	HandlePlacePushButton(w, RTW_ROAD_Y, SPR_CURSOR_ROAD_NWSE, 1, PlaceRoad_NW); | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| static void BuildRoadClick_Demolish(Window *w) | static void BuildRoadClick_Demolish(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 5, ANIMCURSOR_DEMOLISH, 1, PlaceRoad_DemolishArea); | 	HandlePlacePushButton(w, RTW_DEMOLISH, ANIMCURSOR_DEMOLISH, 1, PlaceRoad_DemolishArea); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_Depot(Window *w) | static void BuildRoadClick_Depot(Window *w) | ||||||
| { | { | ||||||
| 	if (_game_mode == GM_EDITOR) return; | 	if (_game_mode == GM_EDITOR) return; | ||||||
| 	if (HandlePlacePushButton(w, 6, SPR_CURSOR_ROAD_DEPOT, 1, PlaceRoad_Depot)) ShowRoadDepotPicker(); | 	if (HandlePlacePushButton(w, RTW_DEPOT, SPR_CURSOR_ROAD_DEPOT, 1, PlaceRoad_Depot)) ShowRoadDepotPicker(); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_BusStation(Window *w) | static void BuildRoadClick_BusStation(Window *w) | ||||||
| { | { | ||||||
| 	if (_game_mode == GM_EDITOR) return; | 	if (_game_mode == GM_EDITOR) return; | ||||||
| 	if (HandlePlacePushButton(w, 7, SPR_CURSOR_BUS_STATION, 1, PlaceRoad_BusStation)) ShowBusStationPicker(); | 	if (HandlePlacePushButton(w, RTW_BUS_STATION, SPR_CURSOR_BUS_STATION, 1, PlaceRoad_BusStation)) ShowBusStationPicker(); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_TruckStation(Window *w) | static void BuildRoadClick_TruckStation(Window *w) | ||||||
| { | { | ||||||
| 	if (_game_mode == GM_EDITOR) return; | 	if (_game_mode == GM_EDITOR) return; | ||||||
| 	if (HandlePlacePushButton(w, 8, SPR_CURSOR_TRUCK_STATION, 1, PlaceRoad_TruckStation)) ShowTruckStationPicker(); | 	if (HandlePlacePushButton(w, RTW_TRUCK_STATION, SPR_CURSOR_TRUCK_STATION, 1, PlaceRoad_TruckStation)) ShowTruckStationPicker(); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_Bridge(Window *w) | static void BuildRoadClick_Bridge(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 9, SPR_CURSOR_BRIDGE, 1, PlaceRoad_Bridge); | 	HandlePlacePushButton(w, RTW_BUILD_BRIDGE, SPR_CURSOR_BRIDGE, 1, PlaceRoad_Bridge); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_Tunnel(Window *w) | static void BuildRoadClick_Tunnel(Window *w) | ||||||
| { | { | ||||||
| 	HandlePlacePushButton(w, 10, SPR_CURSOR_ROAD_TUNNEL, 3, PlaceRoad_Tunnel); | 	HandlePlacePushButton(w, RTW_BUILD_TUNNEL, SPR_CURSOR_ROAD_TUNNEL, 3, PlaceRoad_Tunnel); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_Remove(Window *w) | static void BuildRoadClick_Remove(Window *w) | ||||||
| { | { | ||||||
| 	if (IsWindowWidgetDisabled(w, 11)) return; | 	if (IsWindowWidgetDisabled(w, RTW_REMOVE)) return; | ||||||
| 	SetWindowDirty(w); | 	SetWindowDirty(w); | ||||||
| 	SndPlayFx(SND_15_BEEP); | 	SndPlayFx(SND_15_BEEP); | ||||||
| 	ToggleWidgetLoweredState(w, 11); | 	ToggleWidgetLoweredState(w, RTW_REMOVE); | ||||||
| 	SetSelectionRed(IsWindowWidgetLowered(w, 11)); | 	SetSelectionRed(IsWindowWidgetLowered(w, RTW_REMOVE)); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void BuildRoadClick_Landscaping(Window *w) | static void BuildRoadClick_Landscaping(Window *w) | ||||||
| @@ -183,11 +197,11 @@ static OnButtonClick* const _build_road_button_proc[] = { | |||||||
| static void BuildRoadToolbWndProc(Window *w, WindowEvent *e) | static void BuildRoadToolbWndProc(Window *w, WindowEvent *e) | ||||||
| { | { | ||||||
| 	switch (e->event) { | 	switch (e->event) { | ||||||
| 	case WE_CREATE: DisableWindowWidget(w, 11); break; | 	case WE_CREATE: DisableWindowWidget(w, RTW_REMOVE); break; | ||||||
|  |  | ||||||
| 	case WE_PAINT: | 	case WE_PAINT: | ||||||
| 		if (IsWindowWidgetLowered(w, 3) || IsWindowWidgetLowered(w, 4)) { | 		if (IsWindowWidgetLowered(w, RTW_ROAD_X) || IsWindowWidgetLowered(w, RTW_ROAD_Y)) { | ||||||
| 			EnableWindowWidget(w, 11); | 			EnableWindowWidget(w, RTW_REMOVE); | ||||||
| 		} | 		} | ||||||
| 		DrawWindowWidgets(w); | 		DrawWindowWidgets(w); | ||||||
| 		break; | 		break; | ||||||
| @@ -215,14 +229,14 @@ static void BuildRoadToolbWndProc(Window *w, WindowEvent *e) | |||||||
| 		break; | 		break; | ||||||
|  |  | ||||||
| 	case WE_PLACE_OBJ: | 	case WE_PLACE_OBJ: | ||||||
| 		_remove_button_clicked = IsWindowWidgetLowered(w, 11); | 		_remove_button_clicked = IsWindowWidgetLowered(w, RTW_REMOVE); | ||||||
| 		_place_proc(e->we.place.tile); | 		_place_proc(e->we.place.tile); | ||||||
| 		break; | 		break; | ||||||
|  |  | ||||||
| 	case WE_ABORT_PLACE_OBJ: | 	case WE_ABORT_PLACE_OBJ: | ||||||
| 		RaiseWindowButtons(w); | 		RaiseWindowButtons(w); | ||||||
| 		DisableWindowWidget(w, 11); | 		DisableWindowWidget(w, RTW_REMOVE); | ||||||
| 		InvalidateWidget(w, 11); | 		InvalidateWidget(w, RTW_REMOVE); | ||||||
|  |  | ||||||
| 		w = FindWindowById(WC_BUS_STATION, 0); | 		w = FindWindowById(WC_BUS_STATION, 0); | ||||||
| 		if (w != NULL) WP(w,def_d).close = true; | 		if (w != NULL) WP(w,def_d).close = true; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 tron
					tron