summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapdef.h
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-12-07 07:51:48 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-12-07 07:51:48 +0000
commitb58fbcfafc44bc2810863a3722bee2e6a8f7d22d (patch)
tree22a1199ad8ca845bfad04590d9dc5e9891ae8960 /crawl-ref/source/mapdef.h
parentcf61c793d3d3783b2b5a39a8cf01b857806411b2 (diff)
downloadcrawl-ref-b58fbcfafc44bc2810863a3722bee2e6a8f7d22d.tar.gz
crawl-ref-b58fbcfafc44bc2810863a3722bee2e6a8f7d22d.zip
*Breaks save compatibility* - changed monster flags to long, added "god" field for future fun.
dungeon.cc cleanup and rework to support floating vaults. Updated levcomp to support the float orientation. coord_def now has a constructor. USE_RIVERS and USE_NEW_UNRANDS are no longer conditional. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@585 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/mapdef.h')
-rw-r--r--crawl-ref/source/mapdef.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/crawl-ref/source/mapdef.h b/crawl-ref/source/mapdef.h
index 9fc686ea94..1bb4650e1d 100644
--- a/crawl-ref/source/mapdef.h
+++ b/crawl-ref/source/mapdef.h
@@ -13,6 +13,7 @@
#include <vector>
#include "enum.h"
+#include "externs.h"
enum map_flags {
MAPF_PANDEMONIUM_VAULT = 0x01, // A pandemonium minivault.
@@ -50,6 +51,11 @@ public:
int width() const;
int height() const;
+ int glyph(int x, int y) const;
+ bool is_solid(int gly) const;
+
+ bool solid_borders(map_section_type border);
+
void resolve(const std::string &fillins);
// Make all lines the same length.
@@ -66,10 +72,13 @@ public:
private:
void resolve(std::string &s, const std::string &fill);
+ void check_borders();
private:
std::vector<std::string> lines;
int map_width;
+ bool solid_north, solid_east, solid_south, solid_west;
+ bool solid_checked;
};
class mons_list {
@@ -108,7 +117,6 @@ public:
public:
void init();
-
void hmirror();
void vmirror();
void rotate(bool clockwise);
@@ -116,6 +124,12 @@ public:
void resolve();
void fixup();
+ bool can_dock(map_section_type) const;
+ coord_def dock_pos(map_section_type) const;
+ coord_def float_dock();
+ coord_def float_place();
+ coord_def float_random_place() const;
+
bool is_minivault() const;
bool has_tag(const std::string &tag) const;
};