diff options
-rw-r--r-- | build/vs2015/jin.vcxproj | 5 | ||||
-rw-r--r-- | build/vs2015/jin.vcxproj.filters | 6 | ||||
-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 |
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 |