summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dgn-proclayouts.h
diff options
context:
space:
mode:
authorBrendan Hickey <brendan@bhickey.net>2013-03-02 17:39:09 -0800
committerBrendan Hickey <brendan@bhickey.net>2013-03-02 17:45:20 -0800
commit2a9ad8e908992dffb255856b15b4afe9c01906c0 (patch)
treef547eba3e5d9bebc2571ac02f0973854b52a1064 /crawl-ref/source/dgn-proclayouts.h
parenta843345b50b3ee2e58450861978ec8bfc4d7b887 (diff)
downloadcrawl-ref-2a9ad8e908992dffb255856b15b4afe9c01906c0.tar.gz
crawl-ref-2a9ad8e908992dffb255856b15b4afe9c01906c0.zip
Dungeon Levels in the Abyss
Use chunks of real levels to generate abyss levels.
Diffstat (limited to 'crawl-ref/source/dgn-proclayouts.h')
-rw-r--r--crawl-ref/source/dgn-proclayouts.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/crawl-ref/source/dgn-proclayouts.h b/crawl-ref/source/dgn-proclayouts.h
index 5eddf69d23..7a34e15a9a 100644
--- a/crawl-ref/source/dgn-proclayouts.h
+++ b/crawl-ref/source/dgn-proclayouts.h
@@ -14,6 +14,9 @@
#include "externs.h"
#include "worley.h"
+dungeon_feature_type sanitize_feature(dungeon_feature_type feature,
+ bool strict = false);
+
class ProceduralSample
{
public:
@@ -35,7 +38,7 @@ class ProceduralSamplePQCompare
public:
bool operator() (const ProceduralSample &lhs, const ProceduralSample &rhs)
{
- return lhs.changepoint() > rhs.changepoint();
+ return lhs.changepoint() > rhs.changepoint();
}
};
@@ -130,4 +133,16 @@ class NewAbyssLayout : public ProceduralLayout
private:
const uint32_t seed;
};
+
+class LevelLayout : public ProceduralLayout
+{
+ public:
+ LevelLayout(level_id id, uint32_t _seed, const ProceduralLayout &_layout);
+ ProceduralSample operator()(const coord_def &p, const uint32_t offset = 0) const;
+ private:
+ feature_grid grid;
+ uint32_t seed;
+ const ProceduralLayout &layout;
+};
+
#endif /* PROC_LAYOUTS_H */