summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapmark.h
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2009-10-30 15:46:55 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2009-10-31 22:16:46 +0530
commitad11744e5d49d226fc9c77ed48c3dd8b97921350 (patch)
treec4334fd1e6b4b052ac93593f9021f12c9f10baac /crawl-ref/source/mapmark.h
parent23f8631266eac1a7b4b4727b26a5fc088a6f0184 (diff)
downloadcrawl-ref-ad11744e5d49d226fc9c77ed48c3dd8b97921350.tar.gz
crawl-ref-ad11744e5d49d226fc9c77ed48c3dd8b97921350.zip
lmark.synchronized_markers(): apply one marker's effects to multiple points simultaneously.
synchronized_markers() takes a marker, and a list of method names to override, and returns a set of markers that fire simultaneously, to allow, say, fog machines that fire at random intervals, but always fire in unison. lm_mslav.lua has details. volcano.des has an example volcano entry vault that uses this. Allow fetching a list of Lua markers/marker positions by property value. Renamed dgn.find_marker_prop -> dgn.find_marker_position_by_prop. s/helper/listener/ for fog machine listeners.
Diffstat (limited to 'crawl-ref/source/mapmark.h')
-rw-r--r--crawl-ref/source/mapmark.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/crawl-ref/source/mapmark.h b/crawl-ref/source/mapmark.h
index 71a142ce13..67e64a2804 100644
--- a/crawl-ref/source/mapmark.h
+++ b/crawl-ref/source/mapmark.h
@@ -13,6 +13,7 @@
#include "dlua.h"
#include <map>
#include <string>
+#include <vector>
#include <memory>
//////////////////////////////////////////////////////////////////////////
@@ -23,8 +24,16 @@ class writer;
bool marker_vetoes_operation(const char *op);
bool feature_marker_at(const coord_def &pos, dungeon_feature_type feat);
-const coord_def find_marker_prop(const std::string &prop,
- const std::string &expected = "");
+coord_def find_marker_position_by_prop(const std::string &prop,
+ const std::string &expected = "");
+std::vector<coord_def> find_marker_positions_by_prop(
+ const std::string &prop,
+ const std::string &expected = "",
+ unsigned maxresults = 0);
+std::vector<map_marker*> find_markers_by_prop(
+ const std::string &prop,
+ const std::string &expected = "",
+ unsigned maxresults = 0);
class map_marker
{