diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libjin/Audio/SDL/SDLAudio.cpp | 2 | ||||
-rw-r--r-- | src/libjin/Thread/Thread.h | 3 | ||||
-rw-r--r-- | src/libjin/modules.h | 2 | ||||
-rw-r--r-- | src/libjin/thread/thread.h | 3 | ||||
-rw-r--r-- | src/lua/luaopen_jin.cpp | 2 | ||||
-rw-r--r-- | src/lua/math/luaopen_math.cpp | 80 |
6 files changed, 88 insertions, 4 deletions
diff --git a/src/libjin/Audio/SDL/SDLAudio.cpp b/src/libjin/Audio/SDL/SDLAudio.cpp index f7ca70d..4dc9213 100644 --- a/src/libjin/Audio/SDL/SDLAudio.cpp +++ b/src/libjin/Audio/SDL/SDLAudio.cpp @@ -30,7 +30,7 @@ namespace audio onlyonce bool SDLAudio::initSystem(const SettingBase* s) { #if JIN_DEBUG - Loghelper::log(Loglevel::LV_INFO, "Init Audio System"); + Loghelper::log(Loglevel::LV_INFO, "Init audio system"); #endif if (SDL_Init(SDL_INIT_AUDIO) < 0) diff --git a/src/libjin/Thread/Thread.h b/src/libjin/Thread/Thread.h index f736407..2949589 100644 --- a/src/libjin/Thread/Thread.h +++ b/src/libjin/Thread/Thread.h @@ -10,7 +10,8 @@ namespace thread class Thread { - + public: + Thread(); }; } diff --git a/src/libjin/modules.h b/src/libjin/modules.h index a9b5dc5..39c5753 100644 --- a/src/libjin/modules.h +++ b/src/libjin/modules.h @@ -45,6 +45,6 @@ * Debug */ -#define JIN_DEBUG 1 +#define JIN_DEBUG 0 #endif
\ No newline at end of file diff --git a/src/libjin/thread/thread.h b/src/libjin/thread/thread.h index f736407..2949589 100644 --- a/src/libjin/thread/thread.h +++ b/src/libjin/thread/thread.h @@ -10,7 +10,8 @@ namespace thread class Thread { - + public: + Thread(); }; } diff --git a/src/lua/luaopen_jin.cpp b/src/lua/luaopen_jin.cpp index 1d95ebf..7f84467 100644 --- a/src/lua/luaopen_jin.cpp +++ b/src/lua/luaopen_jin.cpp @@ -17,6 +17,7 @@ namespace lua 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); static int l_getversion(lua_State* L) { @@ -68,6 +69,7 @@ namespace lua //{"net", luaopen_net}, {"audio", luaopen_audio}, {"joypad", luaopen_joypad}, + {"math", luaopen_math}, {0, 0} }; diff --git a/src/lua/math/luaopen_math.cpp b/src/lua/math/luaopen_math.cpp new file mode 100644 index 0000000..ea169e3 --- /dev/null +++ b/src/lua/math/luaopen_math.cpp @@ -0,0 +1,80 @@ +#include "lua/luax.h" +#include "libjin/jin.h" + +namespace jin +{ + namespace lua + { + static int l_and(lua_State* L) + { + int a = luax_checkinteger(L, 1); + int b = luax_checkinteger(L, 2); + luax_pushinteger(L, a & b); + return 1; + } + + static int l_or(lua_State* L) + { + int a = luax_checkinteger(L, 1); + int b = luax_checkinteger(L, 2); + luax_pushinteger(L, a | b); + return 1; + } + + static int l_xor(lua_State* L) + { + int a = luax_checkinteger(L, 1); + int b = luax_checkinteger(L, 2); + luax_pushinteger(L, a ^ b); + return 1; + } + + static int l_not(lua_State* L) + { + int n = luax_checkinteger(L, 1); + luax_pushinteger(L, ~n); + return 1; + } + + static int l_lshift(lua_State* L) + { + int a = luax_checkinteger(L, 1); + int b = luax_checkinteger(L, 2); + luax_pushinteger(L, a << b); + return 1; + } + + static int l_rshift(lua_State* L) + { + int a = luax_checkinteger(L, 1); + int b = luax_checkinteger(L, 2); + luax_pushinteger(L, a >> b); + return 1; + } + + static int l_include(lua_State* L) + { + int a = luax_checkinteger(L, 1); + int b = luax_checkinteger(L, 2); + luax_pushboolean(L, (a & b) == b); + return 1; + } + + static const luaL_Reg f[] = { + { "and", l_and }, + { "or" , l_or }, + { "xor", l_xor }, + { "not", l_not }, + { "lshift", l_lshift }, + { "rshift", l_rshift }, + { "inc", l_include}, + { 0, 0 } + }; + + int luaopen_math(lua_State* L) + { + luax_newlib(L, f); + return 1; + } + } +}
\ No newline at end of file |