From e643aeaed2f270d0f4cf9d3224a89cafbe9aaa00 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Mon, 7 May 2007 17:10:30 +0000 Subject: (svn r9810) -Feature: Add drag and drop removal of station tiles (Wolf01) --- src/rail_gui.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/rail_gui.cpp') diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index d6571e4f6..18fd4e0f6 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -151,7 +151,7 @@ void CcStation(bool success, TileIndex tile, uint32 p1, uint32 p2) static void PlaceRail_Station(TileIndex tile) { if (_remove_button_clicked) { - DoCommandP(tile, 0, 0, CcPlaySound1E, CMD_REMOVE_FROM_RAILROAD_STATION | CMD_MSG(STR_CANT_REMOVE_PART_OF_STATION)); + VpStartPlaceSizing(tile, VPM_X_AND_Y | GUI_PlaceProc_RemoveFromStation); } else if (_railstation.dragdrop) { VpStartPlaceSizing(tile, VPM_X_AND_Y_LIMITED); VpSetPlaceSizingLimit(_patches.station_spread); @@ -514,8 +514,13 @@ static void BuildRailToolbWndProc(Window *w, WindowEvent *e) } else if ((e->we.place.userdata & 0xF) == VPM_X_AND_Y) { if (GUIPlaceProcDragXY(e)) break; - if ((e->we.place.userdata >> 4) == GUI_PlaceProc_ConvertRailArea >> 4) + if ((e->we.place.userdata >> 4) == GUI_PlaceProc_RemoveFromStation >> 4) { + DoCommandP(end_tile, start_tile, 0, CcPlaySound1E, CMD_REMOVE_FROM_RAILROAD_STATION | CMD_MSG(STR_CANT_REMOVE_PART_OF_STATION)); + } + + if ((e->we.place.userdata >> 4) == GUI_PlaceProc_ConvertRailArea >> 4) { DoCommandP(end_tile, start_tile, _cur_railtype, CcPlaySound10, CMD_CONVERT_RAIL | CMD_MSG(STR_CANT_CONVERT_RAIL)); + } } else if (e->we.place.userdata == VPM_X_AND_Y_LIMITED) { HandleStationPlacement(start_tile, end_tile); } else { -- cgit v1.2.3-54-g00ecf