summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/env.h
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2010-06-06 03:25:41 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2010-06-06 03:25:41 +0530
commit38cd069b01c4e3a4fe7705e6c00c7ea197e9b95d (patch)
tree890d4462cfb79d9e2693f902c0b298828a8036aa /crawl-ref/source/env.h
parentc13aec16bd96a485bb69f351258744ca320436ae (diff)
downloadcrawl-ref-38cd069b01c4e3a4fe7705e6c00c7ea197e9b95d.tar.gz
crawl-ref-38cd069b01c4e3a4fe7705e6c00c7ea197e9b95d.zip
Add support for vaults in the Abyss, save vault metadata in the level save.
Vault metadata that was previously discarded at level generation time is now saved in the level file instead. This can be quite costly (~30k per level) if the level has large vaults. The abyss can now use vaults as general scenery (tagged "abyss") or to place the rune ("abyss_rune"). abyss.des currently includes stub vaults for testing.
Diffstat (limited to 'crawl-ref/source/env.h')
-rw-r--r--crawl-ref/source/env.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/crawl-ref/source/env.h b/crawl-ref/source/env.h
index 4e118bc24a..ee97e9a97e 100644
--- a/crawl-ref/source/env.h
+++ b/crawl-ref/source/env.h
@@ -5,10 +5,16 @@
#include "monster.h"
#include "show.h"
#include "trap_def.h"
+#include <set>
typedef FixedArray<short, GXM, GYM> grid_heightmap;
typedef unsigned long terrain_property_t;
+typedef std::set<std::string> string_set;
+
+struct vault_placement;
+typedef std::vector<vault_placement*> vault_placement_refv;
+
struct crawl_environment
{
unsigned char rock_colour;
@@ -24,6 +30,17 @@ struct crawl_environment
FixedArray< unsigned short, GXM, GYM > cgrid; // cloud grid
FixedArray< unsigned short, GXM, GYM > grid_colours; // colour overrides
+ map_mask level_map_mask;
+ map_mask level_map_ids;
+
+ string_set level_uniq_maps;
+ string_set level_uniq_map_tags;
+
+ std::string level_build_method;
+ std::string level_layout_type;
+
+ vault_placement_refv level_vaults;
+
std::auto_ptr<grid_heightmap> heightmap;
// Player-remembered terrain. TODO: move to class player.