summaryrefslogtreecommitdiff
path: root/src/script.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-11-12 03:21:40 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-11-29 19:13:39 +0200
commitea8d6d7abd86b33169b8c2b80cd382d82ba84b8b (patch)
treee64005d5e451927dcdb2e3a44ad5707491a58742 /src/script.cpp
parentf145d498a6d91e3f5f3dcf921db8b74c98a7dad2 (diff)
downloadminetest-ea8d6d7abd86b33169b8c2b80cd382d82ba84b8b.tar.gz
minetest-ea8d6d7abd86b33169b8c2b80cd382d82ba84b8b.tar.bz2
minetest-ea8d6d7abd86b33169b8c2b80cd382d82ba84b8b.zip
Scripting WIP
Diffstat (limited to 'src/script.cpp')
-rw-r--r--src/script.cpp62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/script.cpp b/src/script.cpp
index 0059683b7..167f81c77 100644
--- a/src/script.cpp
+++ b/src/script.cpp
@@ -41,68 +41,6 @@ void script_error(lua_State *L, const char *fmt, ...)
exit(EXIT_FAILURE);
}
-void script_call_va(lua_State *L, const char *func, const char *sig, ...)
-{
- va_list vl;
- int narg, nres; /* number of arguments and results */
-
- va_start(vl, sig);
- lua_getglobal(L, func); /* push function */
-
- for (narg = 0; *sig; narg++) {
- /* repeat for each argument */
- /* check stack space */
- luaL_checkstack(L, 1, "too many arguments");
- switch (*sig++) {
- case 'd': /* double argument */
- lua_pushnumber(L, va_arg(vl, double));
- break;
- case 'i': /* int argument */
- lua_pushinteger(L, va_arg(vl, int));
- break;
- case 's': /* string argument */
- lua_pushstring(L, va_arg(vl, char *));
- break;
- case '>': /* end of arguments */
- goto endargs;
- default:
- script_error(L, "invalid option (%c)", *(sig - 1));
- }
- }
-endargs:
-
- nres = strlen(sig); /* number of expected results */
-
- if (lua_pcall(L, narg, nres, 0) != 0) /* do the call */
- script_error(L, "error calling '%s': %s", func, lua_tostring(L, -1));
-
- nres = -nres; /* stack index of first result */
- while (*sig) { /* repeat for each result */
- switch (*sig++) {
- case 'd': /* double result */
- if (!lua_isnumber(L, nres))
- script_error(L, "wrong result type");
- *va_arg(vl, double *) = lua_tonumber(L, nres);
- break;
- case 'i': /* int result */
- if (!lua_isnumber(L, nres))
- script_error(L, "wrong result type");
- *va_arg(vl, int *) = lua_tointeger(L, nres);
- break;
- case 's': /* string result */
- if (!lua_isstring(L, nres))
- script_error(L, "wrong result type");
- *va_arg(vl, const char **) = lua_tostring(L, nres);
- break;
- default:
- script_error(L, "invalid option (%c)", *(sig - 1));
- }
- nres++;
- }
-
- va_end(vl);
-}
-
bool script_load(lua_State *L, const char *path)
{
infostream<<"Loading and running script from "<<path<<std::endl;