103 |
103 |
104 switch (e->we.place.select_proc) { |
104 switch (e->we.place.select_proc) { |
105 case DDSP_DEMOLISH_AREA: |
105 case DDSP_DEMOLISH_AREA: |
106 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA)); |
106 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA)); |
107 break; |
107 break; |
|
108 case DDSP_RAISE_AND_LEVEL_AREA: |
|
109 DoCommandP(end_tile, start_tile, 1, CcTerraform, CMD_LEVEL_LAND| CMD_MSG(STR_0808_CAN_T_RAISE_LAND_HERE)); |
|
110 break; |
|
111 case DDSP_LOWER_AND_LEVEL_AREA: |
|
112 DoCommandP(end_tile, start_tile, -1, CcTerraform, CMD_LEVEL_LAND | CMD_MSG(STR_0809_CAN_T_LOWER_LAND_HERE)); |
|
113 break; |
108 case DDSP_LEVEL_AREA: |
114 case DDSP_LEVEL_AREA: |
109 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_LEVEL_LAND); |
115 DoCommandP(end_tile, start_tile, 0, CcPlaySound10, CMD_LEVEL_LAND); |
110 break; |
116 break; |
111 case DDSP_CREATE_ROCKS: |
117 case DDSP_CREATE_ROCKS: |
112 GenerateRockyArea(end_tile, start_tile); |
118 GenerateRockyArea(end_tile, start_tile); |
141 VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_DEMOLISH_AREA); |
147 VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_DEMOLISH_AREA); |
142 } |
148 } |
143 |
149 |
144 static void PlaceProc_RaiseLand(TileIndex tile) |
150 static void PlaceProc_RaiseLand(TileIndex tile) |
145 { |
151 { |
146 DoCommandP( |
152 VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_RAISE_AND_LEVEL_AREA); |
147 tile, SLOPE_N, 1, CcTerraform, |
|
148 CMD_TERRAFORM_LAND | CMD_MSG(STR_0808_CAN_T_RAISE_LAND_HERE) |
|
149 ); |
|
150 } |
153 } |
151 |
154 |
152 static void PlaceProc_LowerLand(TileIndex tile) |
155 static void PlaceProc_LowerLand(TileIndex tile) |
153 { |
156 { |
154 DoCommandP( |
157 VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_LOWER_AND_LEVEL_AREA); |
155 tile, SLOPE_N, 0, CcTerraform, |
|
156 CMD_TERRAFORM_LAND | CMD_MSG(STR_0809_CAN_T_LOWER_LAND_HERE) |
|
157 ); |
|
158 } |
158 } |
159 |
159 |
160 void PlaceProc_LevelLand(TileIndex tile) |
160 void PlaceProc_LevelLand(TileIndex tile) |
161 { |
161 { |
162 VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_LEVEL_AREA); |
162 VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_LEVEL_AREA); |
242 |
242 |
243 case WE_PLACE_MOUSEUP: |
243 case WE_PLACE_MOUSEUP: |
244 if (e->we.place.pt.x != -1) { |
244 if (e->we.place.pt.x != -1) { |
245 switch (e->we.place.select_proc) { |
245 switch (e->we.place.select_proc) { |
246 case DDSP_DEMOLISH_AREA: |
246 case DDSP_DEMOLISH_AREA: |
|
247 case DDSP_RAISE_AND_LEVEL_AREA: |
|
248 case DDSP_LOWER_AND_LEVEL_AREA: |
247 case DDSP_LEVEL_AREA: |
249 case DDSP_LEVEL_AREA: |
248 GUIPlaceProcDragXY(e); |
250 GUIPlaceProcDragXY(e); |
249 break; |
251 break; |
250 } |
252 } |
251 } |
253 } |