Skip to content

Commit b585590

Browse files
committed
planer: map_terrain_add_in_area() function now using tile2i args instead raw values
1 parent 7d317b8 commit b585590

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

src/building/construction/build_planner.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -1319,7 +1319,7 @@ void build_planner::construction_finalize() { // confirm final placement
13191319
}
13201320

13211321
if (special_flags & e_building_flag::Road) {
1322-
map_terrain_add_in_area(end.x(), end.y(), end.x() + size.x - 1, end.y() + size.y - 1, TERRAIN_ROAD);
1322+
map_terrain_add_in_area(end, end.shifted(size.x - 1, size.y - 1), TERRAIN_ROAD);
13231323
map_tiles_update_area_roads(end.x(), end.y(), 5);
13241324
map_tiles_update_all_plazas();
13251325
}
@@ -1512,18 +1512,18 @@ bool build_planner::is_road_tile_for_canal(int grid_offset, int gate_orientation
15121512
}
15131513

15141514
bool build_planner::map_is_straight_road_for_canal(int grid_offset) {
1515-
int road_tiles_x = is_road_tile_for_canal(grid_offset + GRID_OFFSET(1, 0), 2)
1516-
+ is_road_tile_for_canal(grid_offset + GRID_OFFSET(-1, 0), 2);
1517-
int road_tiles_y = is_road_tile_for_canal(grid_offset + GRID_OFFSET(0, -1), 1)
1518-
+ is_road_tile_for_canal(grid_offset + GRID_OFFSET(0, 1), 1);
1515+
int road_tiles_x = is_road_tile_for_canal(grid_offset + GRID_OFFSET(1, 0), 2) + is_road_tile_for_canal(grid_offset + GRID_OFFSET(-1, 0), 2);
1516+
int road_tiles_y = is_road_tile_for_canal(grid_offset + GRID_OFFSET(0, -1), 1) + is_road_tile_for_canal(grid_offset + GRID_OFFSET(0, 1), 1);
15191517

1520-
if (road_tiles_x == 2 && road_tiles_y == 0)
1518+
if (road_tiles_x == 2 && road_tiles_y == 0) {
15211519
return true;
1522-
else if (road_tiles_y == 2 && road_tiles_x == 0)
1520+
}
1521+
1522+
if (road_tiles_y == 2 && road_tiles_x == 0) {
15231523
return true;
1524-
else {
1525-
return false;
15261524
}
1525+
1526+
return false;
15271527
}
15281528

15291529
void build_planner::draw_canal(map_point tile, vec2i pixel, painter &ctx) {

src/grid/terrain.cpp

+6-4
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,15 @@ void map_terrain_add(int grid_offset, int terrain) {
4343
void map_terrain_remove(int grid_offset, int terrain) {
4444
map_grid_and(g_terrain_grid, grid_offset, ~terrain);
4545
}
46-
void map_terrain_add_in_area(int x_min, int y_min, int x_max, int y_max, int terrain) {
47-
for (int yy = y_min; yy <= y_max; yy++) {
48-
for (int xx = x_min; xx <= x_max; xx++) {
49-
map_terrain_add(MAP_OFFSET(xx, yy), terrain);
46+
47+
void map_terrain_add_in_area(tile2i pmin, tile2i pmax, int terrain) {
48+
for (int yy = pmin.y(); yy <= pmax.y(); yy++) {
49+
for (int xx = pmin.x(); xx <= pmax.y(); xx++) {
50+
map_terrain_add(tile2i(xx, yy), terrain);
5051
}
5152
}
5253
}
54+
5355
void map_terrain_add_with_radius(tile2i tile, int size, int radius, int terrain) {
5456
grid_area area = map_grid_get_area(tile, size, radius);
5557

src/grid/terrain.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ inline void map_terrain_add(tile2i tile, int terrain) { map_terrain_add(tile.gri
9090

9191
void map_terrain_remove(int grid_offset, int terrain);
9292

93-
void map_terrain_add_in_area(int x_min, int y_min, int x_max, int y_max, int terrain);
93+
void map_terrain_add_in_area(tile2i pmin, tile2i pmax, int terrain);
9494

9595
void map_terrain_add_with_radius(tile2i tile, int size, int radius, int terrain);
9696

0 commit comments

Comments
 (0)