aboutsummaryrefslogtreecommitdiff
path: root/src/lua/jin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/jin.cpp')
-rw-r--r--src/lua/jin.cpp94
1 files changed, 47 insertions, 47 deletions
diff --git a/src/lua/jin.cpp b/src/lua/jin.cpp
index faae9b2..d9f685b 100644
--- a/src/lua/jin.cpp
+++ b/src/lua/jin.cpp
@@ -1,39 +1,40 @@
-#include "jin.h"
+#include "lua/common/je_lua_common.h"
#include "lua/modules/luax.h"
#include "embed/embed.h"
+#include "jin.h"
namespace JinEngine
{
namespace Lua
{
- extern int luaopen_core(lua_State* L);
- extern int luaopen_graphics(lua_State* L);
- extern int luaopen_audio(lua_State* L);
- extern int luaopen_net(lua_State* L);
- extern int luaopen_event(lua_State* L);
- extern int luaopen_time(lua_State* L);
- extern int luaopen_mouse(lua_State* L);
- extern int luaopen_keyboard(lua_State* L);
- extern int luaopen_filesystem(lua_State* L);
- extern int luaopen_joypad(lua_State* L);
- extern int luaopen_math(lua_State* L);
- extern int luaopen_thread(lua_State* L);
- extern int luaopen_bit(lua_State* L);
+ LUA_PORT int luaopen_core(lua_State* L);
+ LUA_PORT int luaopen_graphics(lua_State* L);
+ LUA_PORT int luaopen_audio(lua_State* L);
+ LUA_PORT int luaopen_net(lua_State* L);
+ LUA_PORT int luaopen_event(lua_State* L);
+ LUA_PORT int luaopen_time(lua_State* L);
+ LUA_PORT int luaopen_mouse(lua_State* L);
+ LUA_PORT int luaopen_keyboard(lua_State* L);
+ LUA_PORT int luaopen_filesystem(lua_State* L);
+ LUA_PORT int luaopen_joypad(lua_State* L);
+ LUA_PORT int luaopen_math(lua_State* L);
+ LUA_PORT int luaopen_thread(lua_State* L);
+ LUA_PORT int luaopen_bit(lua_State* L);
- static int l_getversion(lua_State* L)
+ LUA_IMPLEMENT int l_getversion(lua_State* L)
{
luax_pushstring(L, VERSION);
return 1;
}
- static int l_getAuthor(lua_State* L)
+ LUA_IMPLEMENT int l_getAuthor(lua_State* L)
{
luax_pushstring(L, AUTHOR);
return 1;
}
- static int l_getOS(lua_State* L)
+ LUA_IMPLEMENT int l_getOS(lua_State* L)
{
#ifdef _WIN32
luax_pushstring(L, "windows");
@@ -45,65 +46,64 @@ namespace JinEngine
return 1;
}
- static int l_revision(lua_State* L)
+ LUA_IMPLEMENT int l_revision(lua_State* L)
{
luax_pushnumber(L, REVISION);
return 1;
}
- static const luax_Str s[] = {
+ LUA_IMPLEMENT const luax_Str s[] = {
{ "version", VERSION },
{ "author", AUTHOR },
{ "codename", CODE_NAME },
{ 0, 0 }
};
- static const luax_Num n[] = {
+ LUA_IMPLEMENT const luax_Num n[] = {
{ "revision", REVISION },
{ 0, 0 }
};
- /* sub modules */
- static const luax_Ref mods[] = {
- { "core", luaopen_core },
- { "event", luaopen_event },
- { "graphics", luaopen_graphics },
- { "time", luaopen_time },
- { "mouse", luaopen_mouse },
- { "keyboard", luaopen_keyboard },
- { "filesystem", luaopen_filesystem },
- { "net", luaopen_net },
- { "audio", luaopen_audio },
- { "joypad", luaopen_joypad },
- { "math", luaopen_math },
- { "thread", luaopen_thread },
- { "bit", luaopen_bit },
- //{"ai", luaopen_ai },
- { 0, 0 }
- };
-
/* register jin module, keep it on the top of stack */
- int luaopen_jin(lua_State* L)
+ LUA_EXPORT int luaopen_jin(lua_State* L)
{
luax_globaltable(L, MODULE_NAME);
- /* register values */
+ // Register values.
luax_setfieldstrings(L, s);
luax_setfieldnumbers(L, n);
- /* register submodules */
- for (int i = 0; mods[i].name; ++i)
+ luax_Reg modules[] = {
+ { "core", luaopen_core },
+ { "event", luaopen_event },
+ { "graphics", luaopen_graphics },
+ { "time", luaopen_time },
+ { "mouse", luaopen_mouse },
+ { "keyboard", luaopen_keyboard },
+ { "filesystem", luaopen_filesystem },
+ { "net", luaopen_net },
+ { "audio", luaopen_audio },
+ { "joypad", luaopen_joypad },
+ { "math", luaopen_math },
+ { "thread", luaopen_thread },
+ { "bit", luaopen_bit },
+ //{"ai", luaopen_ai },
+ { 0, 0 }
+ };
+
+ // Register sub modules.
+ for (int i = 0; modules[i].name; ++i)
{
- mods[i].func(L);
- luax_setfield(L, -2, mods[i].name);
+ modules[i].func(L);
+ luax_setfield(L, -2, modules[i].name);
}
return 1;
}
- void boot(lua_State* L)
+ LUA_EXPORT void boot(lua_State* L)
{
- JinEngine::embed::boot(L);
+ JinEngine::Embed::boot(L);
}
} // namespace Lua