aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/vs2015/jin.vcxproj5
-rw-r--r--build/vs2015/jin.vcxproj.filters6
-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
8 files changed, 97 insertions, 6 deletions
diff --git a/build/vs2015/jin.vcxproj b/build/vs2015/jin.vcxproj
index 19a3603..90b0fd3 100644
--- a/build/vs2015/jin.vcxproj
+++ b/build/vs2015/jin.vcxproj
@@ -89,7 +89,7 @@
<Link>
<AdditionalDependencies>opengl32.lib;glu32.lib;SDL2main.lib;SDL2.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(SolutionDir)libs\SDL2-2.0.5\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <SubSystem>Console</SubSystem>
+ <SubSystem>Windows</SubSystem>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
@@ -118,7 +118,7 @@
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>opengl32.lib;glu32.lib;SDL2main.lib;SDL2.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(SolutionDir)libs\SDL2-2.0.5\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <SubSystem>Console</SubSystem>
+ <SubSystem>Windows</SubSystem>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
@@ -212,6 +212,7 @@
<ClCompile Include="..\..\src\lua\graphics\luaopen_JSL.cpp" />
<ClCompile Include="..\..\src\lua\joypad\luaopen_joypad.cpp" />
<ClCompile Include="..\..\src\lua\keyboard\luaopen_keyboard.cpp" />
+ <ClCompile Include="..\..\src\lua\math\luaopen_math.cpp" />
<ClCompile Include="..\..\src\lua\mouse\luaopen_mouse.cpp" />
<ClCompile Include="..\..\src\lua\luaopen_jin.cpp" />
<ClCompile Include="..\..\src\lua\net\luaopen_net.cpp" />
diff --git a/build/vs2015/jin.vcxproj.filters b/build/vs2015/jin.vcxproj.filters
index 09078f3..862fe57 100644
--- a/build/vs2015/jin.vcxproj.filters
+++ b/build/vs2015/jin.vcxproj.filters
@@ -139,6 +139,9 @@
<Filter Include="src\libjin\Time">
<UniqueIdentifier>{2ca0fd6f-0e11-4215-9ca6-c58179928bd5}</UniqueIdentifier>
</Filter>
+ <Filter Include="src\lua\math">
+ <UniqueIdentifier>{98c4385b-893c-4d60-bb82-2a19ee5ff527}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\main.cpp">
@@ -384,6 +387,9 @@
<ClCompile Include="..\..\src\libjin\Time\Timer.cpp">
<Filter>src\libjin\Time</Filter>
</ClCompile>
+ <ClCompile Include="..\..\src\lua\math\luaopen_math.cpp">
+ <Filter>src\lua\math</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\3rdparty\lua51\lapi.h">
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