mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r20356) -Fix [FS#3983]: apparantly one generic error message can't be understood...
This commit is contained in:
parent
fff8524fb9
commit
b74cee45be
|
@ -3496,6 +3496,8 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Too clos
|
||||||
STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Can't rename station...
|
STR_ERROR_CAN_T_RENAME_STATION :{WHITE}Can't rename station...
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... this is a town owned road
|
STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... this is a town owned road
|
||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
|
||||||
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners
|
||||||
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...
|
||||||
|
|
|
@ -862,7 +862,21 @@ static CommandCost CheckFlatLandRoadStop(TileArea tile_area, DoCommandFlag flags
|
||||||
} else {
|
} else {
|
||||||
bool build_over_road = is_drive_through && IsNormalRoadTile(cur_tile);
|
bool build_over_road = is_drive_through && IsNormalRoadTile(cur_tile);
|
||||||
/* Road bits in the wrong direction. */
|
/* Road bits in the wrong direction. */
|
||||||
if (build_over_road && (GetAllRoadBits(cur_tile) & (axis == AXIS_X ? ROAD_Y : ROAD_X)) != 0) return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION);
|
RoadBits rb = GetAllRoadBits(cur_tile);
|
||||||
|
if (build_over_road && (rb & (axis == AXIS_X ? ROAD_Y : ROAD_X)) != 0) {
|
||||||
|
/* Someone was pedantic and *NEEDED* three fracking different error messages. */
|
||||||
|
switch (CountBits(rb)) {
|
||||||
|
case 1:
|
||||||
|
return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION);
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
if (rb == ROAD_X || rb == ROAD_Y) return_cmd_error(STR_ERROR_DRIVE_THROUGH_DIRECTION);
|
||||||
|
return_cmd_error(STR_ERROR_DRIVE_THROUGH_CORNER);
|
||||||
|
|
||||||
|
default: // 3 or 4
|
||||||
|
return_cmd_error(STR_ERROR_DRIVE_THROUGH_JUNCTION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RoadTypes cur_rts = IsNormalRoadTile(cur_tile) ? GetRoadTypes(cur_tile) : ROADTYPES_NONE;
|
RoadTypes cur_rts = IsNormalRoadTile(cur_tile) ? GetRoadTypes(cur_tile) : ROADTYPES_NONE;
|
||||||
uint num_roadbits = 0;
|
uint num_roadbits = 0;
|
||||||
|
|
Loading…
Reference in New Issue