diff options
author | Adam Borowski <kilobyte@angband.pl> | 2012-08-31 00:44:20 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2012-08-31 00:44:20 +0200 |
commit | a9eeb4a370e85069c25286e5cedc9682d5d04b2e (patch) | |
tree | 450c0ccd5f5353553d5b96edee2850623dffcc03 /crawl-ref/source/dungeon.h | |
parent | 57aec7d2a0ae1095fb1babd8f0fcc276927bf8e5 (diff) | |
parent | 35613e094ca5d0be028ee9261afebf3e35faa563 (diff) | |
download | crawl-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.h | 34 |
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 |