diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-06-08 15:30:36 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-06-08 15:30:36 (GMT) |
| commit | 3ea25c83b7dc039b23af2eeb4279a046fa0bf259 (patch) | |
| tree | 2e665e8b179bc44c266c0aa090384bd2ba93fd37 /src/luaconsole.c | |
| parent | e94ed7bc113c42a3f8541aa6031f38ab6ddf8063 (diff) | |
| download | powder-3ea25c83b7dc039b23af2eeb4279a046fa0bf259.zip powder-3ea25c83b7dc039b23af2eeb4279a046fa0bf259.tar.gz | |
message_box and input for Lua API, also autorun.lua
Diffstat (limited to 'src/luaconsole.c')
| -rw-r--r-- | src/luaconsole.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/luaconsole.c b/src/luaconsole.c index 052aa98..091b976 100644 --- a/src/luaconsole.c +++ b/src/luaconsole.c @@ -30,6 +30,8 @@ void luacon_open(){ {"delete", &luatpt_delete}, {"register_step", &luatpt_register_step}, {"unregister_step", &luatpt_unregister_step}, + {"input", &luatpt_input}, + {"message_box", &luatpt_message_box}, {NULL,NULL} }; @@ -703,4 +705,45 @@ int luatpt_unregister_step(lua_State* l) } return 0; } +int luatpt_input(lua_State* l) +{ + char *prompt, *title, *result, *shadow, *text; + title = mystrdup(luaL_optstring(l, 1, "Title")); + prompt = mystrdup(luaL_optstring(l, 2, "Enter some text:")); + text = mystrdup(luaL_optstring(l, 3, "")); + shadow = mystrdup(luaL_optstring(l, 4, "")); + + if (vid_buf!=NULL) + { + result = input_ui(vid_buf, title, prompt, text, shadow); + lua_pushstring(l, result); + free(result); + free(title); + free(prompt); + free(text); + free(shadow); + return 1; + } + free(title); + free(prompt); + free(text); + free(shadow); + return luaL_error(l, "Screen buffer does not exist"); +} +int luatpt_message_box(lua_State* l) +{ + char *title, *text; + title = mystrdup(luaL_optstring(l, 1, "Title")); + text = mystrdup(luaL_optstring(l, 2, "Message")); + if (vid_buf!=NULL) + { + info_ui(vid_buf, title, text); + free(title); + free(text); + return 0; + } + free(title); + free(text); + return luaL_error(l, "Screen buffer does not exist");; +} #endif |
