summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.h
diff options
context:
space:
mode:
authorennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-22 13:18:50 +0000
committerennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-22 13:18:50 +0000
commit9a1e7565ec8802a38a9649744920923fc262dff7 (patch)
tree700f62fb01028913c0d99ab99645a004d4f42fa7 /crawl-ref/source/dungeon.h
parent0d4f7611a414a3f92ade376733eb51bda0328000 (diff)
downloadcrawl-ref-9a1e7565ec8802a38a9649744920923fc262dff7.tar.gz
crawl-ref-9a1e7565ec8802a38a9649744920923fc262dff7.zip
Pushing some dungeon-related lua functions back into C++.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5176 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/dungeon.h')
-rw-r--r--crawl-ref/source/dungeon.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/crawl-ref/source/dungeon.h b/crawl-ref/source/dungeon.h
index b1fe5f3c59..4644cd05fe 100644
--- a/crawl-ref/source/dungeon.h
+++ b/crawl-ref/source/dungeon.h
@@ -340,4 +340,33 @@ void dgn_set_lt_callback(std::string level_type_name,
// vaults used in the current level).
bool dgn_square_is_passable(const coord_def &c);
+struct spec_room
+{
+ bool created;
+ bool hooked_up;
+ int x1;
+ int y1;
+ int x2;
+ int y2;
+
+ spec_room() : created(false), hooked_up(false), x1(0), y1(0), x2(0), y2(0)
+ {
+ }
+};
+
+bool join_the_dots(const coord_def &from, const coord_def &to,
+ unsigned mmask, bool early_exit = false);
+void spotty_level(bool seeded, int iterations, bool boxy);
+void smear_feature(int iterations, bool boxy, dungeon_feature_type feature,
+ int x1, int y1, int x2, int y2);
+bool octa_room(spec_room &sr, int oblique_max,
+ dungeon_feature_type type_floor);
+
+int count_feature_in_box(int x0, int y0, int x1, int y1,
+ dungeon_feature_type feat);
+int count_antifeature_in_box(int x0, int y0, int x1, int y1,
+ dungeon_feature_type feat);
+int count_neighbours(int x, int y, dungeon_feature_type feat);
+
+
#endif