summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-11-19 19:37:48 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-11-19 19:37:48 +0000
commit64e63ce318b1f6aa12c0b5acd29a6b297b5593b8 (patch)
treee022d9aab4f317108cb4dc43ef9bb9b0b8e316b7 /crawl-ref/source/dungeon.cc
parent16cca6c2b58dcabfda943fe6a379481b9d079f85 (diff)
downloadcrawl-ref-64e63ce318b1f6aa12c0b5acd29a6b297b5593b8.tar.gz
crawl-ref-64e63ce318b1f6aa12c0b5acd29a6b297b5593b8.zip
Fixed process_disconnected_zones sometimes filling the whole level with solid rock (affecting layout_big_octagon). Speeded up mapstat report for random vault probabilities.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7507 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/dungeon.cc')
-rw-r--r--crawl-ref/source/dungeon.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 9f4160da0b..6ec32e4d3f 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -670,6 +670,7 @@ int process_disconnected_zones(int x1, int y1, int x2, int y2,
{
memset(travel_point_distance, 0, sizeof(travel_distance_grid_t));
int nzones = 0;
+ int ngood = 0;
for (int y = y1; y <= y2 ; ++y)
for (int x = x1; x <= x2; ++x)
{
@@ -691,7 +692,7 @@ int process_disconnected_zones(int x1, int y1, int x2, int y2,
// If we want only stairless zones, screen out zones that did
// have stairs.
if (choose_stairless && found_exit_stair)
- --nzones;
+ ++ngood;
else if (fill)
{
for (int fy = y1; fy <= y2 ; ++fy)
@@ -701,7 +702,7 @@ int process_disconnected_zones(int x1, int y1, int x2, int y2,
}
}
- return (nzones);
+ return (nzones - ngood);
}
static int _dgn_count_disconnected_zones(bool choose_stairless)