diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-19 19:37:48 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-19 19:37:48 +0000 |
commit | 64e63ce318b1f6aa12c0b5acd29a6b297b5593b8 (patch) | |
tree | e022d9aab4f317108cb4dc43ef9bb9b0b8e316b7 /crawl-ref/source/dungeon.cc | |
parent | 16cca6c2b58dcabfda943fe6a379481b9d079f85 (diff) | |
download | crawl-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.cc | 5 |
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) |