aboutsummaryrefslogtreecommitdiffstats
path: root/src/script.c
diff options
context:
space:
mode:
authorClyne Sullivan <tullivan99@gmail.com>2018-03-01 13:03:40 -0500
committerClyne Sullivan <tullivan99@gmail.com>2018-03-01 13:03:40 -0500
commit51b884c44c858aa56aae6675a2c3a8b2d882768e (patch)
treeaf052ed484d44e6594b18f01a4edceabd99b852c /src/script.c
parent4614429f5751e14e37ceedb7130b7a829c89476a (diff)
keypad support, making stuff good
Diffstat (limited to 'src/script.c')
-rw-r--r--src/script.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/script.c b/src/script.c
index adf402b..78165b0 100644
--- a/src/script.c
+++ b/src/script.c
@@ -8,6 +8,7 @@
#include <random.h>
#include <serial.h>
#include <stack.h>
+#include <keypad.h>
int script_puts(interpreter *it);
int script_gets(interpreter *it);
@@ -17,6 +18,7 @@ int script_ppos(interpreter *it);
int script_line(interpreter *it);
int script_color(interpreter *it);
int script_rand(interpreter *it);
+int script_getkey(interpreter *it);
void script_loadlib(interpreter *it)
{
@@ -28,6 +30,7 @@ void script_loadlib(interpreter *it)
inew_cfunc(it, "line", script_line);
inew_cfunc(it, "color", script_color);
inew_cfunc(it, "rand", script_rand);
+ inew_cfunc(it, "getkey", script_getkey);
}
int script_puts(interpreter *it)
@@ -118,3 +121,16 @@ int script_rand(interpreter *it)
free(v);
return 0;
}
+
+int script_getkey(interpreter *it)
+{
+ variable *v = (variable *)malloc(sizeof(variable));
+ v->valtype = INTEGER;
+ INT(v) = keypad_get();
+ v->svalue = 0;
+ isetstr(v);
+ iret(it, v);
+ free(v->svalue);
+ free(v);
+ return 0;
+}