summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.h
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2012-08-31 00:44:20 +0200
committerAdam Borowski <kilobyte@angband.pl>2012-08-31 00:44:20 +0200
commita9eeb4a370e85069c25286e5cedc9682d5d04b2e (patch)
tree450c0ccd5f5353553d5b96edee2850623dffcc03 /crawl-ref/source/dungeon.h
parent57aec7d2a0ae1095fb1babd8f0fcc276927bf8e5 (diff)
parent35613e094ca5d0be028ee9261afebf3e35faa563 (diff)
downloadcrawl-ref-a9eeb4a370e85069c25286e5cedc9682d5d04b2e.tar.gz
crawl-ref-a9eeb4a370e85069c25286e5cedc9682d5d04b2e.zip
Merge branch 'master' into glasnost
Yay for conflicts galore (wax removal, std:: purge, tileidx changes).
Diffstat (limited to 'crawl-ref/source/dungeon.h')
-rw-r--r--crawl-ref/source/dungeon.h34
1 files changed, 13 insertions, 21 deletions
diff --git a/crawl-ref/source/dungeon.h b/crawl-ref/source/dungeon.h
index 90d0d69417..87386961cd 100644
--- a/crawl-ref/source/dungeon.h
+++ b/crawl-ref/source/dungeon.h
@@ -7,6 +7,7 @@
#ifndef DUNGEON_H
#define DUNGEON_H
+#include "bitary.h"
#include "fixedarray.h"
#include "env.h"
#include "externs.h"
@@ -29,18 +30,6 @@
#define OVERFLOW_TEMPLES_KEY "overflow_temples_key"
#define TEMPLE_MAP_KEY "temple_map_key"
-#if TAG_MAJOR_VERSION == 33
-enum oldportal_type
-{
- PORTAL_NONE = 0,
- PORTAL_LABYRINTH,
- PORTAL_HELL,
- PORTAL_ABYSS,
- PORTAL_PANDEMONIUM,
- NUM_PORTALS
-};
-#endif
-
const int MAKE_GIFT_ITEM = 350; // worse than the next one
const int MAKE_GOOD_ITEM = 351;
const unsigned short INVALID_MAP_INDEX = 10000;
@@ -62,10 +51,11 @@ enum map_mask_type
MMT_NO_TRAP = 0x80, // No trap generation
MMT_MIMIC = 0x100, // Feature mimics
MMT_NO_MIMIC = 0x200, // This feature shouldn't be turned into a mimic.
+ MMT_WAS_DOOR_MIMIC = 0x400, // There was a door mimic there.
};
class dgn_region;
-typedef std::vector<dgn_region> dgn_region_list;
+typedef vector<dgn_region> dgn_region_list;
class dgn_region
{
@@ -142,7 +132,7 @@ public:
map_section_type orient;
map_def map;
- std::vector<coord_def> exits;
+ vector<coord_def> exits;
int level_number;
@@ -180,16 +170,16 @@ private:
class unwind_vault_placement_mask
{
public:
- unwind_vault_placement_mask(const map_mask *mask);
+ unwind_vault_placement_mask(const map_bitmask *mask);
~unwind_vault_placement_mask();
private:
- const map_mask *oldmask;
+ const map_bitmask *oldmask;
};
extern bool Generating_Level;
-extern std::vector<vault_placement> Temp_Vaults;
+extern vector<vault_placement> Temp_Vaults;
-extern const map_mask *Vault_Placement_Mask;
+extern const map_bitmask *Vault_Placement_Mask;
void init_level_connectivity();
void read_level_connectivity(reader &th);
@@ -259,7 +249,7 @@ void dgn_place_multiple_items(item_list &list,
bool set_level_flags(uint32_t flags, bool silent = false);
bool unset_level_flags(uint32_t flags, bool silent = false);
-void dgn_set_branch_epilogue(branch_type br, std::string callback_name);
+void dgn_set_branch_epilogue(branch_type br, string callback_name);
void dgn_reset_level(bool enable_random_maps = true);
@@ -296,12 +286,12 @@ vault_placement *dgn_vault_at(coord_def gp);
void dgn_seen_vault_at(coord_def gp);
int count_neighbours(int x, int y, dungeon_feature_type feat);
-inline int count_neighbours(const coord_def& p, dungeon_feature_type feat)
+static inline int count_neighbours(const coord_def& p, dungeon_feature_type feat)
{
return count_neighbours(p.x, p.y, feat);
}
-std::string dump_vault_maps();
+string dump_vault_maps();
bool dgn_square_travel_ok(const coord_def &c);
@@ -309,4 +299,6 @@ bool join_the_dots(const coord_def &from, const coord_def &to, unsigned mmask);
int count_feature_in_box(int x0, int y0, int x1, int y1,
dungeon_feature_type feat);
bool door_vetoed(const coord_def pos);
+
+void fixup_misplaced_items(void);
#endif