|
|
|
@ -149,7 +149,7 @@ static void PlaceRail_Depot(TileIndex tile)
|
|
|
|
|
static void PlaceRail_Waypoint(TileIndex tile)
|
|
|
|
|
{
|
|
|
|
|
if (_remove_button_clicked) {
|
|
|
|
|
DoCommandP(tile, 0, 0, CMD_REMOVE_FROM_RAIL_WAYPOINT | CMD_MSG(STR_CANT_REMOVE_TRAIN_WAYPOINT), CcPlaySound1E);
|
|
|
|
|
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_REMOVE_STATION);
|
|
|
|
|
} else {
|
|
|
|
|
DoCommandP(tile, _cur_waypoint_type, 0, CMD_BUILD_RAIL_WAYPOINT | CMD_MSG(STR_CANT_BUILD_TRAIN_WAYPOINT), CcPlaySound1E);
|
|
|
|
|
}
|
|
|
|
@ -167,8 +167,7 @@ void CcStation(bool success, TileIndex tile, uint32 p1, uint32 p2)
|
|
|
|
|
static void PlaceRail_Station(TileIndex tile)
|
|
|
|
|
{
|
|
|
|
|
if (_remove_button_clicked) {
|
|
|
|
|
VpStartPlaceSizing(tile, VPM_X_AND_Y_LIMITED, DDSP_REMOVE_STATION);
|
|
|
|
|
VpSetPlaceSizingLimit(-1);
|
|
|
|
|
VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_REMOVE_STATION);
|
|
|
|
|
} else if (_settings_client.gui.station_dragdrop) {
|
|
|
|
|
VpStartPlaceSizing(tile, VPM_X_AND_Y_LIMITED, DDSP_BUILD_STATION);
|
|
|
|
|
VpSetPlaceSizingLimit(_settings_game.station.station_spread);
|
|
|
|
@ -750,11 +749,19 @@ struct BuildRailToolbarWindow : Window {
|
|
|
|
|
|
|
|
|
|
case DDSP_REMOVE_STATION:
|
|
|
|
|
case DDSP_BUILD_STATION:
|
|
|
|
|
if (_remove_button_clicked) {
|
|
|
|
|
DoCommandP(end_tile, start_tile, 0, CMD_REMOVE_FROM_RAIL_STATION | CMD_MSG(STR_CANT_REMOVE_PART_OF_STATION), CcPlaySound1E);
|
|
|
|
|
break;
|
|
|
|
|
if (this->IsWidgetLowered(RTW_BUILD_STATION)) {
|
|
|
|
|
/* Station */
|
|
|
|
|
if (_remove_button_clicked) {
|
|
|
|
|
DoCommandP(end_tile, start_tile, 0, CMD_REMOVE_FROM_RAIL_STATION | CMD_MSG(STR_CANT_REMOVE_PART_OF_STATION), CcPlaySound1E);
|
|
|
|
|
} else {
|
|
|
|
|
HandleStationPlacement(start_tile, end_tile);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
/* Waypoint */
|
|
|
|
|
if (_remove_button_clicked) {
|
|
|
|
|
DoCommandP(end_tile, start_tile, 0, CMD_REMOVE_FROM_RAIL_WAYPOINT | CMD_MSG(STR_CANT_REMOVE_TRAIN_WAYPOINT), CcPlaySound1E);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
HandleStationPlacement(start_tile, end_tile);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|