diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-05-30 15:22:39 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-05-30 15:22:39 (GMT) |
| commit | 79a27c2c90823f1f9212d80c6b2d63cde620855c (patch) | |
| tree | 04ed2d7542c57446467483447bee6fafea64fbc2 /src/luaconsole.c | |
| parent | 5dcc3dbb44f1c721a4adbee3db2dd8b5542e870e (diff) | |
| download | powder-79a27c2c90823f1f9212d80c6b2d63cde620855c.zip powder-79a27c2c90823f1f9212d80c6b2d63cde620855c.tar.gz | |
Basics for Lua
Diffstat (limited to 'src/luaconsole.c')
| -rw-r--r-- | src/luaconsole.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/luaconsole.c b/src/luaconsole.c new file mode 100644 index 0000000..4c21613 --- /dev/null +++ b/src/luaconsole.c @@ -0,0 +1,61 @@ +#ifdef LUACONSOLE +#include <luaconsole.h> + +lua_State *l; +void luacon_open(){ + const static struct luaL_reg tptluaapi [] = { + {"test", &luatpt_test}, + {NULL,NULL} + }; + + + l = lua_open(); + luaL_openlibs(l); + luaL_openlib(l, "tpt", tptluaapi, 0); +} +int luacon_step(){ + //Nothing here yet + return 0; +} +int luacon_keypress(char key){ + //Nothing here yet + return 0; +} +int luacon_eval(char *command){ + return luaL_dostring (l, command); +} +void luacon_close(){ + lua_close(l); +} +int process_command_lua(pixel *vid_buf, char *console, char *console_error) +{ + int commandret; + char console2[15]; + char console3[15]; + char console4[15]; + char console5[15]; + //sprintf(console_error, "%s", console); + if (console && strcmp(console, "")!=0 && strncmp(console, " ", 1)!=0) + { + sscanf(console,"%14s %14s %14s %14s", console2, console3, console4, console5); + if (strcmp(console2, "quit")==0) + { + return -1; + } else { + commandret = luacon_eval(console); + if (commandret) + strcpy(console_error,"failed to execute code."); + } + } + return 1; +} +//Being TPT interface methods: +int luatpt_test(lua_State* l) +{ + int testint = 0; + testint = luaL_optint(l, 1, 0); + printf("Test successful, got %d\n", testint); + return 1; +} + +#endif |
