From fdaf0e7eb6b9d9bdd7d5ab5f814f4ebbf791ff67 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 16 May 2018 15:02:43 +0800 Subject: v0.1.0 --- src/main.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/main.cpp (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..fb77f6d --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,51 @@ +#ifdef _WIN32 +// SDL main entry +#include +// directory +#include +#endif + +#include "libs/luax/luax.h" +#include "lua/luaopen_jin.h" +using namespace jin::lua; + +#include "fs/filesystem.h" + +#include + +int main(int argc, char* argv[]) +{ + // global lua state, all lua values are here + lua_State* L = luax_newstate(); + luax_openlibs(L); + + /** + * open jin module, jin module is on the top + * of stack + */ + luaopen_jin(L); + + // add args to global field + luax_newtable(L); + for (int i = 0; i < argc; i++) + luax_setraw_string(L, -2, i + 1, argv[i]); + luax_setfield(L, -2, "_argv"); + + /** + * jin._dir is the folder of jin binary executable + */ +#define BUFFER_SIZE 512 + char buffer[BUFFER_SIZE]; +#ifdef _WIN32 + _getcwd(buffer, BUFFER_SIZE); +#elif defined __unix__ +#elif defined __APPLE__ +#endif +#undef BUFFER_SIZE + luax_setfield_string(L, "_dir", buffer); + + // boot + boot(L); + + return 0; +} -- cgit v1.1-26-g67d0