summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapmark.h
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-08-17 22:20:13 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-08-17 22:20:13 +0000
commit48b1b54aaf8c7ccc2b016158f58cf34385dd5068 (patch)
treed415f77648211e196b6f7d8f5075eaf6a1d411db /crawl-ref/source/mapmark.h
parent78698f0432bba7bdac30f21a17a30c1cf88ae11b (diff)
downloadcrawl-ref-48b1b54aaf8c7ccc2b016158f58cf34385dd5068.tar.gz
crawl-ref-48b1b54aaf8c7ccc2b016158f58cf34385dd5068.zip
Fixed map marker crashes.
Reduced size of Pan demon bands summoned post-Orb (cbus). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2010 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/mapmark.h')
-rw-r--r--crawl-ref/source/mapmark.h30
1 files changed, 5 insertions, 25 deletions
diff --git a/crawl-ref/source/mapmark.h b/crawl-ref/source/mapmark.h
index cc7e2ee5ee..af4c40e536 100644
--- a/crawl-ref/source/mapmark.h
+++ b/crawl-ref/source/mapmark.h
@@ -9,16 +9,6 @@
//////////////////////////////////////////////////////////////////////////
// Map markers
-// Can't change this order without breaking saves.
-enum map_marker_type
-{
- MAT_FEATURE, // Stock marker.
- MAT_LUA_MARKER,
- MAT_CORRUPTION_NEXUS,
- NUM_MAP_MARKER_TYPES,
- MAT_ANY
-};
-
class map_marker
{
public:
@@ -27,6 +17,7 @@ public:
map_marker_type get_type() const { return type; }
+ virtual map_marker *clone() const = 0;
virtual void activate();
virtual void write(tagHeader &) const;
virtual void read(tagHeader &);
@@ -61,6 +52,7 @@ public:
void write(tagHeader &) const;
void read(tagHeader &);
std::string debug_describe() const;
+ map_marker *clone() const;
static map_marker *read(tagHeader &, map_marker_type);
static map_marker *parse(const std::string &s, const std::string &)
throw (std::string);
@@ -77,7 +69,7 @@ public:
void write(tagHeader &) const;
void read(tagHeader &);
-
+ map_marker *clone() const;
std::string debug_describe() const;
static map_marker *read(tagHeader &, map_marker_type);
@@ -98,12 +90,13 @@ public:
void write(tagHeader &) const;
void read(tagHeader &);
+ map_marker *clone() const;
std::string debug_describe() const;
std::string feature_description() const;
std::string property(const std::string &pname) const;
void notify_dgn_event(const dgn_event &e);
-
+
static map_marker *read(tagHeader &, map_marker_type);
static map_marker *parse(const std::string &s, const std::string &)
throw (std::string);
@@ -117,17 +110,4 @@ private:
std::string call_str_fn(const char *fn) const;
};
-void env_activate_markers();
-void env_add_marker(map_marker *);
-void env_remove_marker(map_marker *);
-void env_remove_markers_at(const coord_def &c, map_marker_type);
-std::vector<map_marker*> env_get_all_markers(map_marker_type = MAT_ANY);
-map_marker *env_find_marker(const coord_def &c, map_marker_type);
-map_marker *env_find_marker(map_marker_type type);
-std::vector<map_marker*> env_get_markers(const coord_def &c);
-void env_clear_markers();
-std::string env_property_at(const coord_def &c, map_marker_type,
- const std::string &key);
-void env_move_markers(const coord_def &from, const coord_def &to);
-
#endif