summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/direct.h
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/direct.h')
-rw-r--r--crawl-ref/source/direct.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/crawl-ref/source/direct.h b/crawl-ref/source/direct.h
index f8be4357a7..9541e23825 100644
--- a/crawl-ref/source/direct.h
+++ b/crawl-ref/source/direct.h
@@ -23,9 +23,26 @@
* spells2 - spells3 - spells4
* *********************************************************************** */
+// An object that modifies the behaviour of the direction prompt.
+class targeting_behaviour
+{
+public:
+ targeting_behaviour(bool just_looking = false);
+ virtual ~targeting_behaviour();
+
+ // Returns a keystroke for the prompt.
+ virtual int get_key();
+ virtual command_type get_command(int key = -1);
+ virtual bool should_redraw();
+
+public:
+ bool just_looking;
+ bool compass;
+};
+
void direction( dist &moves, targeting_type restricts = DIR_NONE,
targ_mode_type mode = TARG_ANY, bool just_looking = false,
- const char *prompt = NULL );
+ const char *prompt = NULL, targeting_behaviour *mod = NULL );
bool in_los_bounds(int x, int y);
bool in_viewport_bounds(int x, int y);