#include "unigi/main.h" #include "unigi.platform.sdl2/main.c" #include "unigi.ext/main.c" #include "unigi.ext/main_wrap.c" #ifdef unigi_ext_flag_inline_lua #include "luaconf.h" #include "lapi.c" #include "lcode.c" #include "ldebug.c" #include "ldo.c" #include "ldump.c" #include "lfunc.c" #include "lgc.c" #include "llex.c" #include "lmem.c" #include "lobject.c" #include "lopcodes.c" #include "lparser.c" #include "lstate.c" #include "lstring.c" #include "ltable.c" #include "ltm.c" #include "lundump.c" #include "lvm.c" #include "lzio.c" #include "lauxlib.c" #include "lbaselib.c" #include "ldblib.c" #include "liolib.c" #include "lmathlib.c" #include "loslib.c" #include "ltablib.c" #include "lstrlib.c" #include "loadlib.c" #include "linit.c" #endif #if LUA_VERSION_NUM < 503 #include #endif int main(int argc, char *argv[]) { lua_State *L = luaL_newstate(); assert(L != NULL); luaL_openlibs(L); luaopen_unigi(L); // Load the wrapped module for (int i = 0; i < argc; i++) { lua_pushstring(L, argv[i]); lua_rawseti(L, -2, i + 1); } lua_setglobal(L, "arg"); if (luaL_dostring(L, "main_path = (arg[1]:match(\"(.*[/\\\\])\") or \"./\"):sub(1,-2)\n" "dofile(main_path .. \"/mods/main/script/main.lua\")" ) != 0) { fprintf(stderr, "Error running Lua code: %s\n", lua_tostring(L, -1)); return 1; } return 0; }