aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-07-31 19:16:12 +0800
committerchai <chaifix@163.com>2018-07-31 19:16:12 +0800
commit7398463cd602c4b355f5b25ecf3049489ec14ea6 (patch)
treecade038ac611799dc3d861ec82a1f014e6cc3adc /src
parent67241b8841a5ccb01667c70cff260e64beb7c598 (diff)
*update
Diffstat (limited to 'src')
-rw-r--r--src/libjin/Audio/SDL/SDLAudio.cpp2
-rw-r--r--src/libjin/Thread/Thread.h3
-rw-r--r--src/libjin/modules.h2
-rw-r--r--src/libjin/thread/thread.h3
-rw-r--r--src/lua/luaopen_jin.cpp2
-rw-r--r--src/lua/math/luaopen_math.cpp80
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