1145 assert(size != 0); |
1145 assert(size != 0); |
1146 if (mode != 0) { |
1146 if (mode != 0) { |
1147 /* Raise land */ |
1147 /* Raise land */ |
1148 h = 15; |
1148 h = 15; |
1149 BEGIN_TILE_LOOP(tile2, size, size, tile) |
1149 BEGIN_TILE_LOOP(tile2, size, size, tile) |
1150 h = min(h, _map_type_and_height[tile2]&0xF); |
1150 h = min(h, TileHeight(tile2)); |
1151 END_TILE_LOOP(tile2, size, size, tile) |
1151 END_TILE_LOOP(tile2, size, size, tile) |
1152 } else { |
1152 } else { |
1153 /* Lower land */ |
1153 /* Lower land */ |
1154 h = 0; |
1154 h = 0; |
1155 BEGIN_TILE_LOOP(tile2, size, size, tile) |
1155 BEGIN_TILE_LOOP(tile2, size, size, tile) |
1156 h = max(h, _map_type_and_height[tile2]&0xF); |
1156 h = max(h, TileHeight(tile2)); |
1157 END_TILE_LOOP(tile2, size, size, tile) |
1157 END_TILE_LOOP(tile2, size, size, tile) |
1158 } |
1158 } |
1159 |
1159 |
1160 BEGIN_TILE_LOOP(tile2, size, size, tile) |
1160 BEGIN_TILE_LOOP(tile2, size, size, tile) |
1161 if ((uint)(_map_type_and_height[tile2]&0xF) == h) { |
1161 if (TileHeight(tile2) == h) { |
1162 DoCommandP(tile2, 8, (uint32)mode, NULL, CMD_TERRAFORM_LAND | CMD_AUTO); |
1162 DoCommandP(tile2, 8, (uint32)mode, NULL, CMD_TERRAFORM_LAND | CMD_AUTO); |
1163 } |
1163 } |
1164 END_TILE_LOOP(tile2, size, size, tile) |
1164 END_TILE_LOOP(tile2, size, size, tile) |
1165 } |
1165 } |
1166 |
1166 |