103 { |
103 { |
104 TileIndex start_tile = e->we.place.starttile; |
104 TileIndex start_tile = e->we.place.starttile; |
105 TileIndex end_tile = e->we.place.tile; |
105 TileIndex end_tile = e->we.place.tile; |
106 |
106 |
107 switch (e->we.place.select_proc) { |
107 switch (e->we.place.select_proc) { |
108 case GUI_PlaceProc_DemolishArea: |
108 case DDSP_DEMOLISH_AREA: |
109 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA)); |
109 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA)); |
110 break; |
110 break; |
111 case GUI_PlaceProc_LevelArea: |
111 case DDSP_LEVEL_AREA: |
112 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_LEVEL_LAND | CMD_AUTO); |
112 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_LEVEL_LAND | CMD_AUTO); |
113 break; |
113 break; |
114 case GUI_PlaceProc_RockyArea: |
114 case DDSP_CREATE_ROCKS: |
115 GenerateRockyArea(end_tile, start_tile); |
115 GenerateRockyArea(end_tile, start_tile); |
116 break; |
116 break; |
117 case GUI_PlaceProc_DesertArea: |
117 case DDSP_CREATE_DESERT: |
118 GenerateDesertArea(end_tile, start_tile); |
118 GenerateDesertArea(end_tile, start_tile); |
119 break; |
119 break; |
120 case GUI_PlaceProc_WaterArea: |
120 case DDSP_CREATE_WATER: |
121 DoCommandP(end_tile, start_tile, _ctrl_pressed, CcBuildCanal, CMD_BUILD_CANAL | CMD_AUTO | CMD_MSG(STR_CANT_BUILD_CANALS)); |
121 DoCommandP(end_tile, start_tile, _ctrl_pressed, CcBuildCanal, CMD_BUILD_CANAL | CMD_AUTO | CMD_MSG(STR_CANT_BUILD_CANALS)); |
122 break; |
122 break; |
123 default: |
123 default: |
124 return false; |
124 return false; |
125 } |
125 } |
160 ); |
160 ); |
161 } |
161 } |
162 |
162 |
163 void PlaceProc_LevelLand(TileIndex tile) |
163 void PlaceProc_LevelLand(TileIndex tile) |
164 { |
164 { |
165 VpStartPlaceSizing(tile, VPM_X_AND_Y, GUI_PlaceProc_LevelArea); |
165 VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_LEVEL_AREA); |
166 } |
166 } |
167 |
167 |
168 static void TerraformClick_Lower(Window *w) |
168 static void TerraformClick_Lower(Window *w) |
169 { |
169 { |
170 HandlePlacePushButton(w, 4, ANIMCURSOR_LOWERLAND, 2, PlaceProc_LowerLand); |
170 HandlePlacePushButton(w, 4, ANIMCURSOR_LOWERLAND, 2, PlaceProc_LowerLand); |
242 case WE_PLACE_DRAG: |
242 case WE_PLACE_DRAG: |
243 VpSelectTilesWithMethod(e->we.place.pt.x, e->we.place.pt.y, e->we.place.select_method); |
243 VpSelectTilesWithMethod(e->we.place.pt.x, e->we.place.pt.y, e->we.place.select_method); |
244 break; |
244 break; |
245 |
245 |
246 case WE_PLACE_MOUSEUP: |
246 case WE_PLACE_MOUSEUP: |
247 if (e->we.place.pt.x != -1 && e->we.place.select_method == VPM_X_AND_Y) { |
247 if (e->we.place.pt.x != -1) { |
248 GUIPlaceProcDragXY(e); |
248 switch (e->we.place.select_proc) { |
|
249 case DDSP_DEMOLISH_AREA: |
|
250 case DDSP_LEVEL_AREA: |
|
251 GUIPlaceProcDragXY(e); |
|
252 break; |
|
253 } |
249 } |
254 } |
250 break; |
255 break; |
251 |
256 |
252 case WE_ABORT_PLACE_OBJ: |
257 case WE_ABORT_PLACE_OBJ: |
253 RaiseWindowButtons(w); |
258 RaiseWindowButtons(w); |