This commit is contained in:
Redo
2025-10-01 16:26:18 -07:00
commit 36ba54b248
43 changed files with 9810 additions and 0 deletions

25
src/tsliblua.cpp Normal file
View File

@@ -0,0 +1,25 @@
// Call a Lua function from TS, return true if success - result will be on Lua stack
bool bll_LuaCall(const char* fname, int argc, const char* argv[]) {
lua_getglobal(gL, fname);
for(int i=0; i<argc; i++) {
lua_pushstring(gL, argv[i]);
}
if(bll_pcall(gL, argc, 1)) {
bll_printError(gL, "call", fname);
return false;
}
return true;
}
// TS lib function: luacall
const char* bll_ts_luacall(ADDR obj, int argc, const char* argv[]) {
if(argc<2) return "";
if(!bll_LuaCall(argv[1], argc-2, &argv[2])) { return ""; }
char* retbuf = BlReturnBuffer(BLL_ARG_MAX);
bll_toarg(gL, retbuf, -1, false); // provide returned value to ts
lua_pop(gL, 1); // pop returned value
return retbuf;
}