summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/l_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/l_view.cc')
-rw-r--r--crawl-ref/source/l_view.cc37
1 files changed, 37 insertions, 0 deletions
diff --git a/crawl-ref/source/l_view.cc b/crawl-ref/source/l_view.cc
new file mode 100644
index 0000000000..23175d3670
--- /dev/null
+++ b/crawl-ref/source/l_view.cc
@@ -0,0 +1,37 @@
+/*
+ * File: l_view.cc
+ * Summary: User interaction with env.show.
+ */
+
+#include "AppHdr.h"
+
+#include "l_libs.h"
+
+#include "cluautil.h"
+#include "env.h"
+#include "l_defs.h"
+
+coord_def player2show(const coord_def &s)
+{
+ return (s + coord_def(ENV_SHOW_OFFSET, ENV_SHOW_OFFSET));
+}
+
+LUAFN(view_feature_at)
+{
+ COORDSHOW(s, 1, 2)
+ const coord_def p = player2show(s);
+ lua_pushnumber(ls, env.show(p));
+ return (1);
+}
+
+static const struct luaL_reg view_lib[] =
+{
+ { "feature_at", view_feature_at },
+
+ { NULL, NULL }
+};
+
+void cluaopen_view(lua_State *ls)
+{
+ luaL_openlib(ls, "view", view_lib, 0);
+}