67 } |
67 } |
68 } |
68 } |
69 |
69 |
70 static void PlaceRoad_Tunnel(TileIndex tile) |
70 static void PlaceRoad_Tunnel(TileIndex tile) |
71 { |
71 { |
72 DoCommandP(tile, 0x200, 0, CcBuildRoadTunnel, CMD_BUILD_TUNNEL | CMD_AUTO | CMD_MSG(STR_5016_CAN_T_BUILD_TUNNEL_HERE)); |
72 DoCommandP(tile, 0x200 | ROADTYPES_ROAD, 0, CcBuildRoadTunnel, CMD_BUILD_TUNNEL | CMD_AUTO | CMD_MSG(STR_5016_CAN_T_BUILD_TUNNEL_HERE)); |
73 } |
73 } |
74 |
74 |
75 static void BuildRoadOutsideStation(TileIndex tile, DiagDirection direction) |
75 static void BuildRoadOutsideStation(TileIndex tile, DiagDirection direction) |
76 { |
76 { |
77 tile += TileOffsByDiagDir(direction); |
77 tile += TileOffsByDiagDir(direction); |
111 static void PlaceRoad_BusStation(TileIndex tile) |
111 static void PlaceRoad_BusStation(TileIndex tile) |
112 { |
112 { |
113 if (_remove_button_clicked) { |
113 if (_remove_button_clicked) { |
114 DoCommandP(tile, 0, RoadStop::BUS, CcPlaySound1D, CMD_REMOVE_ROAD_STOP | CMD_MSG(STR_CAN_T_REMOVE_BUS_STATION)); |
114 DoCommandP(tile, 0, RoadStop::BUS, CcPlaySound1D, CMD_REMOVE_ROAD_STOP | CMD_MSG(STR_CAN_T_REMOVE_BUS_STATION)); |
115 } else { |
115 } else { |
116 PlaceRoadStop(tile, RoadStop::BUS, CMD_BUILD_ROAD_STOP | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1808_CAN_T_BUILD_BUS_STATION)); |
116 PlaceRoadStop(tile, ROADTYPES_ROAD << 2 | RoadStop::BUS, CMD_BUILD_ROAD_STOP | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1808_CAN_T_BUILD_BUS_STATION)); |
117 } |
117 } |
118 } |
118 } |
119 |
119 |
120 static void PlaceRoad_TruckStation(TileIndex tile) |
120 static void PlaceRoad_TruckStation(TileIndex tile) |
121 { |
121 { |
122 if (_remove_button_clicked) { |
122 if (_remove_button_clicked) { |
123 DoCommandP(tile, 0, RoadStop::TRUCK, CcPlaySound1D, CMD_REMOVE_ROAD_STOP | CMD_MSG(STR_CAN_T_REMOVE_TRUCK_STATION)); |
123 DoCommandP(tile, 0, RoadStop::TRUCK, CcPlaySound1D, CMD_REMOVE_ROAD_STOP | CMD_MSG(STR_CAN_T_REMOVE_TRUCK_STATION)); |
124 } else { |
124 } else { |
125 PlaceRoadStop(tile, RoadStop::TRUCK, CMD_BUILD_ROAD_STOP | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1809_CAN_T_BUILD_TRUCK_STATION)); |
125 PlaceRoadStop(tile, ROADTYPES_ROAD << 2 | RoadStop::TRUCK, CMD_BUILD_ROAD_STOP | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1809_CAN_T_BUILD_TRUCK_STATION)); |
126 } |
126 } |
127 } |
127 } |
128 |
128 |
129 static void PlaceRoad_DemolishArea(TileIndex tile) |
129 static void PlaceRoad_DemolishArea(TileIndex tile) |
130 { |
130 { |
295 TileIndex start_tile = e->we.place.starttile; |
295 TileIndex start_tile = e->we.place.starttile; |
296 TileIndex end_tile = e->we.place.tile; |
296 TileIndex end_tile = e->we.place.tile; |
297 |
297 |
298 if (e->we.place.userdata == 0) { |
298 if (e->we.place.userdata == 0) { |
299 ResetObjectToPlace(); |
299 ResetObjectToPlace(); |
300 ShowBuildBridgeWindow(start_tile, end_tile, 0x80); |
300 ShowBuildBridgeWindow(start_tile, end_tile, 0x80 | ROADTYPES_ROAD); |
301 } else if (e->we.place.userdata != 4) { |
301 } else if (e->we.place.userdata != 4) { |
302 DoCommandP(end_tile, start_tile, _place_road_flag, CcPlaySound1D, |
302 DoCommandP(end_tile, start_tile, _place_road_flag, CcPlaySound1D, |
303 _remove_button_clicked ? |
303 _remove_button_clicked ? |
304 CMD_REMOVE_LONG_ROAD | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1805_CAN_T_REMOVE_ROAD_FROM) : |
304 CMD_REMOVE_LONG_ROAD | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1805_CAN_T_REMOVE_ROAD_FROM) : |
305 CMD_BUILD_LONG_ROAD | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1804_CAN_T_BUILD_ROAD_HERE)); |
305 CMD_BUILD_LONG_ROAD | CMD_AUTO | CMD_NO_WATER | CMD_MSG(STR_1804_CAN_T_BUILD_ROAD_HERE)); |
310 break; |
310 break; |
311 |
311 |
312 case WE_PLACE_PRESIZE: { |
312 case WE_PLACE_PRESIZE: { |
313 TileIndex tile = e->we.place.tile; |
313 TileIndex tile = e->we.place.tile; |
314 |
314 |
315 DoCommand(tile, 0x200, 0, DC_AUTO, CMD_BUILD_TUNNEL); |
315 DoCommand(tile, 0x200 | ROADTYPES_ROAD, 0, DC_AUTO, CMD_BUILD_TUNNEL); |
316 VpSetPresizeRange(tile, _build_tunnel_endtile == 0 ? tile : _build_tunnel_endtile); |
316 VpSetPresizeRange(tile, _build_tunnel_endtile == 0 ? tile : _build_tunnel_endtile); |
317 break; |
317 break; |
318 } |
318 } |
319 |
319 |
320 case WE_DESTROY: |
320 case WE_DESTROY: |