int lh_saveimage(lua_State *L) { checkArg(L, 2, "saveimage"); Image *o = luaO(1, Image); if(useGL(o)) screenshotGL(luaStr(2)); else SDL_SaveBMP(o->s, luaStr(2)); return 0; }
int lh_internal(lua_State *L) { checkArg(L, 3, "internal"); P = new InternalProcess(luaO(1, Screen), luaO(2, Font), luaStr(3)); return retObjectEv(L, P); }
int lh_logopen(lua_State *L) { checkArg(L, 1, "argv"); logfile && logfile != stdin && fclose(logfile); const char *buf = luaStr(1); if(strcmp(buf, "-") == 0) logfile = stdout; else logfile = fopen(buf, "wt"); errfile = logfile; return 0; }
int lh_loadimage(lua_State *L) { checkArg(L, 1, "loadimage"); Image *o = new Image(luaStr(1)); if(!o->s) { delete o; return retInt(L, 0); } return retObject(L, o); }
int lh_imagetitle(lua_State *L) { checkArg(L, 2, "imagetitle"); luaO(1, Image) -> title = luaStr(2); return 0; }
int lh_logprint(lua_State *L) { logfile && fprintf(logfile, "%s", luaStr(1)); return 0; }
int lh_hydrauserdir(lua_State *L) { checkArg(L, 1, "hydrauserdir"); hydraUserdir(luaStr(1)); return 0; }
int lh_ansidebug(lua_State *L) { checkArg(L, 1, "debugansi"); if(ldf) fclose(ldf); ldf = fopen(luaStr(1), "wt"); return 0; }