diff options
-rw-r--r-- | bin/jin.exe | bin | 1456640 -> 1459200 bytes | |||
-rw-r--r-- | build/vs2015/jin.vcxproj | 81 | ||||
-rw-r--r-- | build/vs2015/jin.vcxproj.filters | 212 | ||||
-rw-r--r-- | src/3rdparty/luax/luax.h | 15 | ||||
-rw-r--r-- | src/libjin/audio/audio.cpp | 37 | ||||
-rw-r--r-- | src/libjin/audio/audio.h | 52 | ||||
-rw-r--r-- | src/libjin/audio/sdl/audio.cpp | 83 | ||||
-rw-r--r-- | src/libjin/audio/sdl/audio.h | 59 | ||||
-rw-r--r-- | src/libjin/audio/sdl/source.cpp | 2 | ||||
-rw-r--r-- | src/libjin/audio/sdl/source.h | 19 | ||||
-rw-r--r-- | src/libjin/audio/source.h | 31 | ||||
-rw-r--r-- | src/libjin/common/subsystem.h | 8 | ||||
-rw-r--r-- | src/libjin/core/thread.cpp (renamed from src/script/thread/luaopen_Thread.cpp) | 0 | ||||
-rw-r--r-- | src/libjin/core/thread.h | 1 | ||||
-rw-r--r-- | src/libjin/core/timer.cpp | 0 | ||||
-rw-r--r-- | src/libjin/core/timer.h | 1 | ||||
-rw-r--r-- | src/libjin/jin.h | 5 | ||||
-rw-r--r-- | src/libjin/math/constant.h | 4 | ||||
-rw-r--r-- | src/libjin/math/math.h | 7 | ||||
-rw-r--r-- | src/libjin/math/rect.h | 15 | ||||
-rw-r--r-- | src/libjin/physics/physics.h | 12 | ||||
-rw-r--r-- | src/libjin/render/image.cpp | 1 | ||||
-rw-r--r-- | src/libjin/utils/endian.h | 3 | ||||
-rw-r--r-- | src/libjin/utils/unittest.cpp | 33 | ||||
-rw-r--r-- | src/libjin/utils/utils.h | 6 | ||||
-rw-r--r-- | src/lua/audio/luaopen_Source.cpp (renamed from src/script/audio/luaopen_Source.cpp) | 2 | ||||
-rw-r--r-- | src/lua/audio/luaopen_audio.cpp (renamed from src/script/audio/luaopen_audio.cpp) | 2 | ||||
-rw-r--r-- | src/lua/core/luaopen_core.cpp (renamed from src/script/core/luaopen_core.cpp) | 2 | ||||
-rw-r--r-- | src/lua/debug/luaopen_debug.cpp (renamed from src/script/debug/luaopen_debug.cpp) | 0 | ||||
-rw-r--r-- | src/lua/embed/boot.lua (renamed from src/script/embed/boot.lua) | 0 | ||||
-rw-r--r-- | src/lua/embed/boot.lua.h (renamed from src/script/embed/boot.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/embed/debug.lua (renamed from src/script/embed/debug.lua) | 0 | ||||
-rw-r--r-- | src/lua/embed/debug.lua.h (renamed from src/script/embed/debug.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/embed/embed.h (renamed from src/script/embed/embed.h) | 0 | ||||
-rw-r--r-- | src/lua/embed/graphics.lua (renamed from src/script/embed/graphics.lua) | 0 | ||||
-rw-r--r-- | src/lua/embed/graphics.lua.h (renamed from src/script/embed/graphics.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/embed/keyboard.lua (renamed from src/script/embed/keyboard.lua) | 0 | ||||
-rw-r--r-- | src/lua/embed/keyboard.lua.h (renamed from src/script/embed/keyboard.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/embed/mouse.lua (renamed from src/script/embed/mouse.lua) | 0 | ||||
-rw-r--r-- | src/lua/embed/mouse.lua.h (renamed from src/script/embed/mouse.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/embed/path.lua (renamed from src/script/embed/path.lua) | 0 | ||||
-rw-r--r-- | src/lua/embed/path.lua.h (renamed from src/script/embed/path.lua.h) | 0 | ||||
-rw-r--r-- | src/lua/event/luaopen_event.cpp (renamed from src/script/event/luaopen_event.cpp) | 2 | ||||
-rw-r--r-- | src/lua/filesystem/luaopen_filesystem.cpp (renamed from src/script/filesystem/luaopen_filesystem.cpp) | 2 | ||||
-rw-r--r-- | src/lua/graphics/luaopen_Canvas.cpp (renamed from src/script/graphics/luaopen_Canvas.cpp) | 4 | ||||
-rw-r--r-- | src/lua/graphics/luaopen_Font.cpp (renamed from src/script/graphics/luaopen_Font.cpp) | 4 | ||||
-rw-r--r-- | src/lua/graphics/luaopen_Image.cpp (renamed from src/script/graphics/luaopen_Image.cpp) | 4 | ||||
-rw-r--r-- | src/lua/graphics/luaopen_JSL.cpp (renamed from src/script/graphics/luaopen_JSL.cpp) | 4 | ||||
-rw-r--r-- | src/lua/graphics/luaopen_graphics.cpp (renamed from src/script/graphics/luaopen_graphics.cpp) | 8 | ||||
-rw-r--r-- | src/lua/joypad/joypad.h (renamed from src/script/joypad/joypad.h) | 0 | ||||
-rw-r--r-- | src/lua/joypad/luaopen_joypad.cpp (renamed from src/script/joypad/luaopen_joypad.cpp) | 2 | ||||
-rw-r--r-- | src/lua/keyboard/luaopen_keyboard.cpp (renamed from src/script/keyboard/luaopen_keyboard.cpp) | 4 | ||||
-rw-r--r-- | src/lua/luaopen_jin.cpp (renamed from src/script/luaopen_jin.cpp) | 2 | ||||
-rw-r--r-- | src/lua/luaopen_jin.h (renamed from src/script/luaopen_jin.h) | 2 | ||||
-rw-r--r-- | src/lua/luaopen_types.h (renamed from src/script/luaopen_types.h) | 0 | ||||
-rw-r--r-- | src/lua/luax.h | 10 | ||||
-rw-r--r-- | src/lua/mouse/luaopen_mouse.cpp (renamed from src/script/mouse/luaopen_mouse.cpp) | 2 | ||||
-rw-r--r-- | src/lua/net/luaopen_net.cpp (renamed from src/script/net/luaopen_net.cpp) | 2 | ||||
-rw-r--r-- | src/lua/thread/luaopen_Thread.cpp | 0 | ||||
-rw-r--r-- | src/lua/time/luaopen_time.cpp (renamed from src/script/time/luaopen_time.cpp) | 2 | ||||
-rw-r--r-- | src/main.cpp | 4 |
61 files changed, 481 insertions, 270 deletions
diff --git a/bin/jin.exe b/bin/jin.exe Binary files differindex 14c5169..784214f 100644 --- a/bin/jin.exe +++ b/bin/jin.exe diff --git a/build/vs2015/jin.vcxproj b/build/vs2015/jin.vcxproj index 8f64c09..1b1f649 100644 --- a/build/vs2015/jin.vcxproj +++ b/build/vs2015/jin.vcxproj @@ -84,6 +84,7 @@ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>$(SolutionDir)..\..\src\;$(SolutionDir)libs\SDL2-2.0.5\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <CompileAs>CompileAsCpp</CompileAs> + <ObjectFileName>$(IntDir)/%(RelativeDir)/</ObjectFileName> </ClCompile> <Link> <AdditionalDependencies>opengl32.lib;glu32.lib;SDL2main.lib;SDL2.lib;%(AdditionalDependencies)</AdditionalDependencies> @@ -110,6 +111,7 @@ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>$(SolutionDir)..\..\src\;$(SolutionDir)libs\SDL2-2.0.5\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <CompileAs>CompileAsCpp</CompileAs> + <ObjectFileName>$(IntDir)/%(RelativeDir)/</ObjectFileName> </ClCompile> <Link> <EnableCOMDATFolding>true</EnableCOMDATFolding> @@ -136,8 +138,12 @@ </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\src\libjin\audio\audio.cpp" /> + <ClCompile Include="..\..\src\libjin\audio\sdl\audio.cpp" /> + <ClCompile Include="..\..\src\libjin\audio\sdl\source.cpp" /> <ClCompile Include="..\..\src\libjin\audio\source.cpp" /> <ClCompile Include="..\..\src\libjin\core\game.cpp" /> + <ClCompile Include="..\..\src\libjin\core\thread.cpp" /> + <ClCompile Include="..\..\src\libjin\core\timer.cpp" /> <ClCompile Include="..\..\src\libjin\fs\filesystem.cpp" /> <ClCompile Include="..\..\src\libjin\input\event.cpp" /> <ClCompile Include="..\..\src\libjin\input\joypad.cpp" /> @@ -181,24 +187,24 @@ <ClCompile Include="..\..\src\libjin\math\matrix.cpp" /> <ClCompile Include="..\..\src\libjin\math\vector.cpp" /> <ClCompile Include="..\..\src\libjin\utils\unittest.cpp" /> - <ClCompile Include="..\..\src\script\audio\luaopen_audio.cpp" /> - <ClCompile Include="..\..\src\script\audio\luaopen_Source.cpp" /> - <ClCompile Include="..\..\src\script\core\luaopen_core.cpp" /> - <ClCompile Include="..\..\src\script\debug\luaopen_debug.cpp" /> - <ClCompile Include="..\..\src\script\event\luaopen_event.cpp" /> - <ClCompile Include="..\..\src\script\filesystem\luaopen_filesystem.cpp" /> - <ClCompile Include="..\..\src\script\graphics\luaopen_Canvas.cpp" /> - <ClCompile Include="..\..\src\script\graphics\luaopen_Font.cpp" /> - <ClCompile Include="..\..\src\script\graphics\luaopen_graphics.cpp" /> - <ClCompile Include="..\..\src\script\graphics\luaopen_Image.cpp" /> - <ClCompile Include="..\..\src\script\graphics\luaopen_JSL.cpp" /> - <ClCompile Include="..\..\src\script\joypad\luaopen_joypad.cpp" /> - <ClCompile Include="..\..\src\script\keyboard\luaopen_keyboard.cpp" /> - <ClCompile Include="..\..\src\script\mouse\luaopen_mouse.cpp" /> - <ClCompile Include="..\..\src\script\luaopen_jin.cpp" /> - <ClCompile Include="..\..\src\script\net\luaopen_net.cpp" /> - <ClCompile Include="..\..\src\script\thread\luaopen_Thread.cpp" /> - <ClCompile Include="..\..\src\script\time\luaopen_time.cpp" /> + <ClCompile Include="..\..\src\lua\audio\luaopen_audio.cpp" /> + <ClCompile Include="..\..\src\lua\audio\luaopen_Source.cpp" /> + <ClCompile Include="..\..\src\lua\core\luaopen_core.cpp" /> + <ClCompile Include="..\..\src\lua\debug\luaopen_debug.cpp" /> + <ClCompile Include="..\..\src\lua\event\luaopen_event.cpp" /> + <ClCompile Include="..\..\src\lua\filesystem\luaopen_filesystem.cpp" /> + <ClCompile Include="..\..\src\lua\graphics\luaopen_Canvas.cpp" /> + <ClCompile Include="..\..\src\lua\graphics\luaopen_Font.cpp" /> + <ClCompile Include="..\..\src\lua\graphics\luaopen_graphics.cpp" /> + <ClCompile Include="..\..\src\lua\graphics\luaopen_Image.cpp" /> + <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\mouse\luaopen_mouse.cpp" /> + <ClCompile Include="..\..\src\lua\luaopen_jin.cpp" /> + <ClCompile Include="..\..\src\lua\net\luaopen_net.cpp" /> + <ClCompile Include="..\..\src\lua\thread\luaopen_Thread.cpp" /> + <ClCompile Include="..\..\src\lua\time\luaopen_time.cpp" /> <ClCompile Include="..\..\src\main.cpp" /> <ClCompile Include="..\..\src\libjin\render\canvas.cpp" /> <ClCompile Include="..\..\src\libjin\render\drawable.cpp" /> @@ -212,10 +218,14 @@ <ClInclude Include="..\..\src\data\font.ttf.h" /> <ClInclude Include="..\..\src\data\icon.png.h" /> <ClInclude Include="..\..\src\libjin\audio\audio.h" /> + <ClInclude Include="..\..\src\libjin\audio\sdl\audio.h" /> + <ClInclude Include="..\..\src\libjin\audio\sdl\source.h" /> <ClInclude Include="..\..\src\libjin\audio\source.h" /> <ClInclude Include="..\..\src\libjin\common\subsystem.h" /> <ClInclude Include="..\..\src\libjin\core\core.h" /> <ClInclude Include="..\..\src\libjin\core\game.h" /> + <ClInclude Include="..\..\src\libjin\core\thread.h" /> + <ClInclude Include="..\..\src\libjin\core\timer.h" /> <ClInclude Include="..\..\src\libjin\debug\debug.h" /> <ClInclude Include="..\..\src\libjin\debug\log.h" /> <ClInclude Include="..\..\src\libjin\fs\buffer.h" /> @@ -261,20 +271,20 @@ <ClInclude Include="..\..\src\libjin\math\math.h" /> <ClInclude Include="..\..\src\libjin\math\matrix.h" /> <ClInclude Include="..\..\src\libjin\math\quad.h" /> - <ClInclude Include="..\..\src\libjin\math\rect.h" /> <ClInclude Include="..\..\src\libjin\math\vector.h" /> + <ClInclude Include="..\..\src\libjin\physics\physics.h" /> <ClInclude Include="..\..\src\libjin\render\render.h" /> <ClInclude Include="..\..\src\libjin\tilemap\tilemap.h" /> - <ClInclude Include="..\..\src\script\embed\debug.lua.h" /> - <ClInclude Include="..\..\src\script\embed\embed.h" /> - <ClInclude Include="..\..\src\script\embed\graphics.lua.h" /> - <ClInclude Include="..\..\src\script\embed\boot.lua.h" /> - <ClInclude Include="..\..\src\script\embed\keyboard.lua.h" /> - <ClInclude Include="..\..\src\script\embed\mouse.lua.h" /> - <ClInclude Include="..\..\src\script\embed\path.lua.h" /> - <ClInclude Include="..\..\src\script\joypad\joypad.h" /> - <ClInclude Include="..\..\src\script\luaopen_jin.h" /> - <ClInclude Include="..\..\src\script\luaopen_types.h" /> + <ClInclude Include="..\..\src\lua\embed\debug.lua.h" /> + <ClInclude Include="..\..\src\lua\embed\embed.h" /> + <ClInclude Include="..\..\src\lua\embed\graphics.lua.h" /> + <ClInclude Include="..\..\src\lua\embed\boot.lua.h" /> + <ClInclude Include="..\..\src\lua\embed\keyboard.lua.h" /> + <ClInclude Include="..\..\src\lua\embed\mouse.lua.h" /> + <ClInclude Include="..\..\src\lua\embed\path.lua.h" /> + <ClInclude Include="..\..\src\lua\joypad\joypad.h" /> + <ClInclude Include="..\..\src\lua\luaopen_jin.h" /> + <ClInclude Include="..\..\src\lua\luaopen_types.h" /> <ClInclude Include="..\..\src\libjin\net\net.h" /> <ClInclude Include="..\..\src\libjin\render\canvas.h" /> <ClInclude Include="..\..\src\libjin\render\color.h" /> @@ -287,15 +297,16 @@ <ClInclude Include="..\..\src\libjin\utils\endian.h" /> <ClInclude Include="..\..\src\libjin\utils\macros.h" /> <ClInclude Include="..\..\src\libjin\utils\utils.h" /> + <ClInclude Include="..\..\src\lua\luax.h" /> </ItemGroup> <ItemGroup> <None Include="..\..\src\3rdparty\lua51\Makefile" /> - <None Include="..\..\src\script\embed\debug.lua" /> - <None Include="..\..\src\script\embed\graphics.lua" /> - <None Include="..\..\src\script\embed\boot.lua" /> - <None Include="..\..\src\script\embed\keyboard.lua" /> - <None Include="..\..\src\script\embed\mouse.lua" /> - <None Include="..\..\src\script\embed\path.lua" /> + <None Include="..\..\src\lua\embed\debug.lua" /> + <None Include="..\..\src\lua\embed\graphics.lua" /> + <None Include="..\..\src\lua\embed\boot.lua" /> + <None Include="..\..\src\lua\embed\keyboard.lua" /> + <None Include="..\..\src\lua\embed\mouse.lua" /> + <None Include="..\..\src\lua\embed\path.lua" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/build/vs2015/jin.vcxproj.filters b/build/vs2015/jin.vcxproj.filters index 8094c37..d0e04de 100644 --- a/build/vs2015/jin.vcxproj.filters +++ b/build/vs2015/jin.vcxproj.filters @@ -43,52 +43,52 @@ <Filter Include="src\3rdparty\luax"> <UniqueIdentifier>{93b29ece-8318-4b20-a65d-2e79c1a2f816}</UniqueIdentifier> </Filter> - <Filter Include="src\script"> + <Filter Include="src\lua"> <UniqueIdentifier>{e082b09b-1cdc-4c21-967b-eaf7130cf620}</UniqueIdentifier> </Filter> - <Filter Include="src\script\embed"> + <Filter Include="src\lua\embed"> <UniqueIdentifier>{cb6d9d4e-046b-44c7-b00a-c316e87e035c}</UniqueIdentifier> </Filter> <Filter Include="src\3rdparty\smount"> <UniqueIdentifier>{dd79db1e-9bec-4f8e-8d37-0d82c74a534b}</UniqueIdentifier> </Filter> - <Filter Include="src\script\core"> + <Filter Include="src\lua\core"> <UniqueIdentifier>{b13ee8dc-41fc-42b3-8b64-f9c261ebfc73}</UniqueIdentifier> </Filter> - <Filter Include="src\script\graphics"> + <Filter Include="src\lua\graphics"> <UniqueIdentifier>{1ed523c3-e203-487f-a13f-a35396f814f3}</UniqueIdentifier> </Filter> - <Filter Include="src\script\audio"> + <Filter Include="src\lua\audio"> <UniqueIdentifier>{4eb54d6d-e336-42f6-8670-d271a458eb56}</UniqueIdentifier> </Filter> - <Filter Include="src\script\event"> + <Filter Include="src\lua\event"> <UniqueIdentifier>{8a740640-925a-4cf6-94d5-89283824a141}</UniqueIdentifier> </Filter> - <Filter Include="src\script\keyboard"> + <Filter Include="src\lua\keyboard"> <UniqueIdentifier>{2a701538-aeee-4f48-a285-0b848c9a3b81}</UniqueIdentifier> </Filter> - <Filter Include="src\script\mouse"> + <Filter Include="src\lua\mouse"> <UniqueIdentifier>{5b69329e-0aa2-4c77-be52-69c09fdbac65}</UniqueIdentifier> </Filter> - <Filter Include="src\script\debug"> + <Filter Include="src\lua\debug"> <UniqueIdentifier>{0280790b-7c7a-406d-8606-b39c944fefaa}</UniqueIdentifier> </Filter> - <Filter Include="src\script\filesystem"> + <Filter Include="src\lua\filesystem"> <UniqueIdentifier>{563ed6fb-3d82-4905-b128-835f3818cc4f}</UniqueIdentifier> </Filter> - <Filter Include="src\script\net"> + <Filter Include="src\lua\net"> <UniqueIdentifier>{6b79b5bf-69c1-458c-81f3-b386b340d39b}</UniqueIdentifier> </Filter> - <Filter Include="src\script\time"> + <Filter Include="src\lua\time"> <UniqueIdentifier>{ee920041-8798-4827-be04-49f9342ba092}</UniqueIdentifier> </Filter> <Filter Include="src\3rdparty\tekcos"> <UniqueIdentifier>{065bf16a-223d-4aae-ab0b-c7b5af5e3596}</UniqueIdentifier> </Filter> - <Filter Include="src\script\thread"> + <Filter Include="src\lua\thread"> <UniqueIdentifier>{7957774a-4f34-4255-ab2e-8da9b6c71983}</UniqueIdentifier> </Filter> - <Filter Include="src\script\embed\script"> + <Filter Include="src\lua\embed\script"> <UniqueIdentifier>{1b7a28ed-7715-48bc-8793-6e575e887f77}</UniqueIdentifier> </Filter> <Filter Include="src\data"> @@ -97,7 +97,7 @@ <Filter Include="src\libjin\tilemap"> <UniqueIdentifier>{be27da6f-98b1-4e99-ac75-c3116f1618de}</UniqueIdentifier> </Filter> - <Filter Include="src\script\joypad"> + <Filter Include="src\lua\joypad"> <UniqueIdentifier>{7fd81749-f776-4e5c-b6e2-33372a143560}</UniqueIdentifier> </Filter> <Filter Include="src\libjin\common"> @@ -109,6 +109,15 @@ <Filter Include="src\libjin\math"> <UniqueIdentifier>{3c5d715c-d885-4af9-95db-3b1ca43cae58}</UniqueIdentifier> </Filter> + <Filter Include="src\libjin\audio\sdl"> + <UniqueIdentifier>{14019a9d-eeaf-42be-b0ec-833217f3c131}</UniqueIdentifier> + </Filter> + <Filter Include="src\libjin\audio\openal"> + <UniqueIdentifier>{eb34937f-6278-4d8e-ad48-3c7a6dd6606c}</UniqueIdentifier> + </Filter> + <Filter Include="src\libjin\physics"> + <UniqueIdentifier>{3eded42e-5a27-433d-9b0a-c25190008be7}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\src\main.cpp"> @@ -252,68 +261,65 @@ <ClCompile Include="..\..\src\3rdparty\smount\smount.c"> <Filter>src\3rdparty\smount</Filter> </ClCompile> - <ClCompile Include="..\..\src\libjin\audio\audio.cpp"> - <Filter>src\libjin\audio</Filter> - </ClCompile> <ClCompile Include="..\..\src\3rdparty\tekcos\tekcos.c"> <Filter>src\3rdparty\tekcos</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\audio\luaopen_audio.cpp"> - <Filter>src\script\audio</Filter> + <ClCompile Include="..\..\src\lua\audio\luaopen_audio.cpp"> + <Filter>src\lua\audio</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\core\luaopen_core.cpp"> - <Filter>src\script\core</Filter> + <ClCompile Include="..\..\src\lua\core\luaopen_core.cpp"> + <Filter>src\lua\core</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\debug\luaopen_debug.cpp"> - <Filter>src\script\debug</Filter> + <ClCompile Include="..\..\src\lua\debug\luaopen_debug.cpp"> + <Filter>src\lua\debug</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\event\luaopen_event.cpp"> - <Filter>src\script\event</Filter> + <ClCompile Include="..\..\src\lua\event\luaopen_event.cpp"> + <Filter>src\lua\event</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\filesystem\luaopen_filesystem.cpp"> - <Filter>src\script\filesystem</Filter> + <ClCompile Include="..\..\src\lua\filesystem\luaopen_filesystem.cpp"> + <Filter>src\lua\filesystem</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\graphics\luaopen_Canvas.cpp"> - <Filter>src\script\graphics</Filter> + <ClCompile Include="..\..\src\lua\graphics\luaopen_Canvas.cpp"> + <Filter>src\lua\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\graphics\luaopen_Font.cpp"> - <Filter>src\script\graphics</Filter> + <ClCompile Include="..\..\src\lua\graphics\luaopen_Font.cpp"> + <Filter>src\lua\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\graphics\luaopen_graphics.cpp"> - <Filter>src\script\graphics</Filter> + <ClCompile Include="..\..\src\lua\graphics\luaopen_graphics.cpp"> + <Filter>src\lua\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\graphics\luaopen_Image.cpp"> - <Filter>src\script\graphics</Filter> + <ClCompile Include="..\..\src\lua\graphics\luaopen_Image.cpp"> + <Filter>src\lua\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\graphics\luaopen_JSL.cpp"> - <Filter>src\script\graphics</Filter> + <ClCompile Include="..\..\src\lua\graphics\luaopen_JSL.cpp"> + <Filter>src\lua\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\keyboard\luaopen_keyboard.cpp"> - <Filter>src\script\keyboard</Filter> + <ClCompile Include="..\..\src\lua\keyboard\luaopen_keyboard.cpp"> + <Filter>src\lua\keyboard</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\mouse\luaopen_mouse.cpp"> - <Filter>src\script\mouse</Filter> + <ClCompile Include="..\..\src\lua\mouse\luaopen_mouse.cpp"> + <Filter>src\lua\mouse</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\net\luaopen_net.cpp"> - <Filter>src\script\net</Filter> + <ClCompile Include="..\..\src\lua\net\luaopen_net.cpp"> + <Filter>src\lua\net</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\time\luaopen_time.cpp"> - <Filter>src\script\time</Filter> + <ClCompile Include="..\..\src\lua\time\luaopen_time.cpp"> + <Filter>src\lua\time</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\luaopen_jin.cpp"> - <Filter>src\script</Filter> + <ClCompile Include="..\..\src\lua\luaopen_jin.cpp"> + <Filter>src\lua</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\thread\luaopen_Thread.cpp"> - <Filter>src\script\thread</Filter> + <ClCompile Include="..\..\src\lua\thread\luaopen_Thread.cpp"> + <Filter>src\lua\thread</Filter> </ClCompile> <ClCompile Include="..\..\src\libjin\audio\source.cpp"> <Filter>src\libjin\audio</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\joypad\luaopen_joypad.cpp"> - <Filter>src\script\joypad</Filter> + <ClCompile Include="..\..\src\lua\joypad\luaopen_joypad.cpp"> + <Filter>src\lua\joypad</Filter> </ClCompile> - <ClCompile Include="..\..\src\script\audio\luaopen_Source.cpp"> - <Filter>src\script\audio</Filter> + <ClCompile Include="..\..\src\lua\audio\luaopen_Source.cpp"> + <Filter>src\lua\audio</Filter> </ClCompile> <ClCompile Include="..\..\src\libjin\input\joypad.cpp"> <Filter>src\libjin\input</Filter> @@ -327,6 +333,21 @@ <ClCompile Include="..\..\src\libjin\math\vector.cpp"> <Filter>src\libjin\math</Filter> </ClCompile> + <ClCompile Include="..\..\src\libjin\audio\sdl\audio.cpp"> + <Filter>src\libjin\audio\sdl</Filter> + </ClCompile> + <ClCompile Include="..\..\src\libjin\audio\sdl\source.cpp"> + <Filter>src\libjin\audio\sdl</Filter> + </ClCompile> + <ClCompile Include="..\..\src\libjin\audio\audio.cpp"> + <Filter>src\libjin\audio</Filter> + </ClCompile> + <ClCompile Include="..\..\src\libjin\core\timer.cpp"> + <Filter>src\libjin\core</Filter> + </ClCompile> + <ClCompile Include="..\..\src\libjin\core\thread.cpp"> + <Filter>src\libjin\core</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\src\3rdparty\GLEE\GLee.h"> @@ -455,26 +476,26 @@ <ClInclude Include="..\..\src\libjin\utils\endian.h"> <Filter>src\libjin\utils</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\embed\debug.lua.h"> - <Filter>src\script\embed</Filter> + <ClInclude Include="..\..\src\lua\embed\debug.lua.h"> + <Filter>src\lua\embed</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\embed\graphics.lua.h"> - <Filter>src\script\embed</Filter> + <ClInclude Include="..\..\src\lua\embed\graphics.lua.h"> + <Filter>src\lua\embed</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\embed\keyboard.lua.h"> - <Filter>src\script\embed</Filter> + <ClInclude Include="..\..\src\lua\embed\keyboard.lua.h"> + <Filter>src\lua\embed</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\embed\embed.h"> - <Filter>src\script\embed</Filter> + <ClInclude Include="..\..\src\lua\embed\embed.h"> + <Filter>src\lua\embed</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\embed\boot.lua.h"> - <Filter>src\script\embed</Filter> + <ClInclude Include="..\..\src\lua\embed\boot.lua.h"> + <Filter>src\lua\embed</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\embed\mouse.lua.h"> - <Filter>src\script\embed</Filter> + <ClInclude Include="..\..\src\lua\embed\mouse.lua.h"> + <Filter>src\lua\embed</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\embed\path.lua.h"> - <Filter>src\script\embed</Filter> + <ClInclude Include="..\..\src\lua\embed\path.lua.h"> + <Filter>src\lua\embed</Filter> </ClInclude> <ClInclude Include="..\..\src\libjin\fs\buffer.h"> <Filter>src\libjin\fs</Filter> @@ -497,11 +518,11 @@ <ClInclude Include="..\..\src\3rdparty\tekcos\tekcos.h"> <Filter>src\3rdparty\tekcos</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\luaopen_jin.h"> - <Filter>src\script</Filter> + <ClInclude Include="..\..\src\lua\luaopen_jin.h"> + <Filter>src\lua</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\luaopen_types.h"> - <Filter>src\script</Filter> + <ClInclude Include="..\..\src\lua\luaopen_types.h"> + <Filter>src\lua</Filter> </ClInclude> <ClInclude Include="..\..\src\libjin\utils\macros.h"> <Filter>src\libjin\utils</Filter> @@ -533,7 +554,7 @@ <ClInclude Include="..\..\src\libjin\tilemap\tilemap.h"> <Filter>src\libjin\tilemap</Filter> </ClInclude> - <ClInclude Include="..\..\src\script\joypad\joypad.h"> + <ClInclude Include="..\..\src\lua\joypad\joypad.h"> <Filter>src\libjin\input</Filter> </ClInclude> <ClInclude Include="..\..\src\libjin\common\subsystem.h"> @@ -554,37 +575,52 @@ <ClInclude Include="..\..\src\libjin\math\quad.h"> <Filter>src\libjin\math</Filter> </ClInclude> - <ClInclude Include="..\..\src\libjin\math\rect.h"> - <Filter>src\libjin\math</Filter> - </ClInclude> <ClInclude Include="..\..\src\libjin\math\constant.h"> <Filter>src\libjin\math</Filter> </ClInclude> <ClInclude Include="..\..\src\libjin\math\vector.h"> <Filter>src\libjin\math</Filter> </ClInclude> + <ClInclude Include="..\..\src\libjin\audio\sdl\audio.h"> + <Filter>src\libjin\audio\sdl</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libjin\audio\sdl\source.h"> + <Filter>src\libjin\audio\sdl</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libjin\physics\physics.h"> + <Filter>src\libjin\physics</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libjin\core\timer.h"> + <Filter>src\libjin\core</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libjin\core\thread.h"> + <Filter>src\libjin\core</Filter> + </ClInclude> + <ClInclude Include="..\..\src\lua\luax.h"> + <Filter>src\lua</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <None Include="..\..\src\3rdparty\lua51\Makefile"> <Filter>src\3rdparty\lua51</Filter> </None> - <None Include="..\..\src\script\embed\boot.lua"> - <Filter>src\script\embed\script</Filter> + <None Include="..\..\src\lua\embed\boot.lua"> + <Filter>src\lua\embed\script</Filter> </None> - <None Include="..\..\src\script\embed\debug.lua"> - <Filter>src\script\embed\script</Filter> + <None Include="..\..\src\lua\embed\debug.lua"> + <Filter>src\lua\embed\script</Filter> </None> - <None Include="..\..\src\script\embed\graphics.lua"> - <Filter>src\script\embed\script</Filter> + <None Include="..\..\src\lua\embed\graphics.lua"> + <Filter>src\lua\embed\script</Filter> </None> - <None Include="..\..\src\script\embed\keyboard.lua"> - <Filter>src\script\embed\script</Filter> + <None Include="..\..\src\lua\embed\keyboard.lua"> + <Filter>src\lua\embed\script</Filter> </None> - <None Include="..\..\src\script\embed\mouse.lua"> - <Filter>src\script\embed\script</Filter> + <None Include="..\..\src\lua\embed\mouse.lua"> + <Filter>src\lua\embed\script</Filter> </None> - <None Include="..\..\src\script\embed\path.lua"> - <Filter>src\script\embed\script</Filter> + <None Include="..\..\src\lua\embed\path.lua"> + <Filter>src\lua\embed\script</Filter> </None> </ItemGroup> </Project>
\ No newline at end of file diff --git a/src/3rdparty/luax/luax.h b/src/3rdparty/luax/luax.h index b5ef0f4..d3047b9 100644 --- a/src/3rdparty/luax/luax.h +++ b/src/3rdparty/luax/luax.h @@ -18,14 +18,14 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - +/** +* include following 3 files before this +* lua.h +* lauxlib.h +* lualib.h +*/ #ifndef __LUAX_H #define __LUAX_H - -#include "3rdparty/lua51/lua.h" -#include "3rdparty/lua51/lauxlib.h" -#include "3rdparty/lua51/lualib.h" - // only for lua 5.1 #if LUA_VERSION_NUM == 501 @@ -331,4 +331,5 @@ inline int luax_register_searcher(lua_State * L, lua_CFunction f, int pos) } #endif -#endif + +#endif
\ No newline at end of file diff --git a/src/libjin/audio/audio.cpp b/src/libjin/audio/audio.cpp index 7142625..edba496 100644 --- a/src/libjin/audio/audio.cpp +++ b/src/libjin/audio/audio.cpp @@ -6,7 +6,7 @@ namespace jin { namespace audio { - + shared Audio* Audio::audio = NULL; bool Audio::init(const SettingBase* setting) @@ -20,40 +20,5 @@ namespace audio CallOnce(_quit()); } - onlyonce bool Audio::_init(const SettingBase* s) - { - if (SDL_Init(SDL_INIT_AUDIO) < 0) - return false; - - const AudioSetting* setting = (AudioSetting*)s; - SDL_AudioSpec wanted; - zero(wanted); - wanted.freq = setting->freq; - wanted.format = setting->format; - wanted.channels = setting->channels; - wanted.samples = setting->samples; - wanted.userdata = setting->userdata; - wanted.callback = setting->callback; - - if (SDL_OpenAudio(&wanted, NULL) < 0) - { - return false; - } - // start audio - SDL_PauseAudio(0); - return true; - } - - onlyonce void Audio::_quit() - { - SDL_CloseAudio(); - delete audio; - } - - shared void defaultCallback(void *udata, Uint8 *stream, int len) - { - - } - } }
\ No newline at end of file diff --git a/src/libjin/audio/audio.h b/src/libjin/audio/audio.h index 80e463f..6d57cd2 100644 --- a/src/libjin/audio/audio.h +++ b/src/libjin/audio/audio.h @@ -10,44 +10,42 @@ namespace jin { namespace audio { - - class Audio : public common::Subsystem + class Source; + + class IAudio { + public: - - struct Setting : SettingBase - { - int freq; - int format; - char channels; - int samples; - SDL_AudioCallback callback; - void* userdata; - }; - - bool init(const SettingBase* setting) override; - void quit() override; - static inline Audio* get() - { - return (audio == NULL ? (audio = new Audio()) : audio); - } + virtual void play() = 0; + virtual void stop() = 0; + virtual bool pause() = 0; + virtual bool pause(Source* source) = 0; + virtual bool resume() = 0; + virtual bool resume(Source* source) = 0; + virtual void rewind() = 0; + virtual void setVolume(float volume) = 0; + virtual float getVolume() = 0; - static void defaultCallback(void *udata, Uint8 *stream, int len); + }; - private: + class Audio : public common::Subsystem, IAudio + { - Audio() {}; - ~Audio() {}; + public: + + Audio() {}; + virtual ~Audio() {}; + + bool init(const SettingBase* setting) override; + void quit() override; + + protected: static Audio* audio; - onlyonce bool _init(const SettingBase* setting) override; - onlyonce void _quit() override; }; - typedef Audio::Setting AudioSetting; - } } diff --git a/src/libjin/audio/sdl/audio.cpp b/src/libjin/audio/sdl/audio.cpp new file mode 100644 index 0000000..0559c18 --- /dev/null +++ b/src/libjin/audio/sdl/audio.cpp @@ -0,0 +1,83 @@ +#include "audio.h" + +namespace jin +{ +namespace audio +{ + + onlyonce bool SDLAudio::_init(const SettingBase* s) + { + if (SDL_Init(SDL_INIT_AUDIO) < 0) + return false; + + const SDLAudioSetting* setting = (SDLAudioSetting*)s; + SDL_AudioSpec wanted; + zero(wanted); + wanted.freq = setting->rate; + wanted.format = setting->resolution; + wanted.channels = setting->channels; + wanted.samples = setting->samples; + wanted.userdata = setting->userdata; + wanted.callback = setting->callback; + + if (SDL_OpenAudio(&wanted, NULL) < 0) + { + return false; + } + // start audio + SDL_PauseAudio(0); + return true; + } + + onlyonce void SDLAudio::_quit() + { + SDL_CloseAudio(); + delete audio; + } + + void SDLAudio::defaultCallback(void *udata, Uint8 *stream, int len) + { + + } + + void SDLAudio::play() {} + + void SDLAudio::stop() {} + + bool SDLAudio::pause() + { + return false; + } + + bool SDLAudio::pause(Source* source) + { + return false; + } + + bool SDLAudio::resume() + { + return false; + } + + bool SDLAudio::resume(Source* source) + { + return false; + } + + void SDLAudio::rewind() + { + + } + + void SDLAudio::setVolume(float volume) + { + + } + + float SDLAudio::getVolume() + { + return 0.f; + } + +} +} diff --git a/src/libjin/audio/sdl/audio.h b/src/libjin/audio/sdl/audio.h new file mode 100644 index 0000000..920f56a --- /dev/null +++ b/src/libjin/audio/sdl/audio.h @@ -0,0 +1,59 @@ +#ifndef __JIN_AUDIO_SDL_H +#define __JIN_AUDIO_SDL_H + +#include "../audio.h" + +namespace jin +{ +namespace audio +{ + + class SDLAudio : public Audio + { + + public: + + struct Setting : SettingBase + { + int rate; // + int resolution; // ֱ + char channels; // + int samples; // ȡ + SDL_AudioCallback callback; // Ƶص + void* userdata; // Զ + }; + + static void defaultCallback(void *udata, Uint8 *stream, int len); + + static inline Audio* get() + { + return audio != NULL ? audio : (audio = new SDLAudio()); + } + + /* IAudio interface */ + void play() override; + void stop() override; + bool pause() override; + bool pause(Source* source) override; + bool resume() override; + bool resume(Source* source) override; + void rewind() override; + void setVolume(float volume) override; + float getVolume() override; + + private: + + SDLAudio() {} + ~SDLAudio() {} + + onlyonce bool _init(const SettingBase* setting) override; + onlyonce void _quit() override; + + }; + + typedef SDLAudio::Setting SDLAudioSetting; + +} +} + +#endif
\ No newline at end of file diff --git a/src/libjin/audio/sdl/source.cpp b/src/libjin/audio/sdl/source.cpp new file mode 100644 index 0000000..cca4d3e --- /dev/null +++ b/src/libjin/audio/sdl/source.cpp @@ -0,0 +1,2 @@ +#include "source.h" + diff --git a/src/libjin/audio/sdl/source.h b/src/libjin/audio/sdl/source.h new file mode 100644 index 0000000..052a49e --- /dev/null +++ b/src/libjin/audio/sdl/source.h @@ -0,0 +1,19 @@ +#ifndef __JIN_SOURCE_SDL_H +#define __JIN_SOURCE_SDL_H + +#include "../source.h" + +namespace jin +{ +namespace audio +{ + + class SDLSource : public Source + { + + }; + +} +} + +#endif
\ No newline at end of file diff --git a/src/libjin/audio/source.h b/src/libjin/audio/source.h index 96da208..79fa8e0 100644 --- a/src/libjin/audio/source.h +++ b/src/libjin/audio/source.h @@ -10,21 +10,32 @@ namespace audio class Source { + public: - void play(); - void stop(); - void pause(); - void resume(); - void rewind(); - void isStopped() const; - void isPaused() const; - void isFinished() const; - void setPitch(float pitch); - void setVolume(float volume); + + virtual void play() = 0; + virtual void stop() = 0; + virtual void pause() = 0; + virtual void resume() = 0; + virtual void rewind() = 0; + virtual void isStopped() const = 0; + virtual void isPaused() const = 0; + virtual void isFinished() const = 0; + virtual void setPitch(float pitch) = 0; + virtual void setVolume(float volume) = 0; + virtual bool setLoop(bool loop) = 0; + virtual void setRate(float rate) = 0; + + protected: + + Source(); + virtual ~Source(); private: + unsigned char * curPos; unsigned int length; + }; } diff --git a/src/libjin/common/subsystem.h b/src/libjin/common/subsystem.h index ad28061..ca4b33d 100644 --- a/src/libjin/common/subsystem.h +++ b/src/libjin/common/subsystem.h @@ -10,6 +10,7 @@ namespace common class Subsystem { + public: struct Setting {}; @@ -20,11 +21,14 @@ namespace common virtual void quit() = 0; - private: + protected: - virtual onlyonce bool _init(const Setting* setting) = 0; + Subsystem() {}; + virtual ~Subsystem() {}; + virtual onlyonce bool _init(const Setting* setting) = 0; virtual onlyonce void _quit() = 0; + }; } diff --git a/src/script/thread/luaopen_Thread.cpp b/src/libjin/core/thread.cpp index e69de29..e69de29 100644 --- a/src/script/thread/luaopen_Thread.cpp +++ b/src/libjin/core/thread.cpp diff --git a/src/libjin/core/thread.h b/src/libjin/core/thread.h new file mode 100644 index 0000000..6f70f09 --- /dev/null +++ b/src/libjin/core/thread.h @@ -0,0 +1 @@ +#pragma once diff --git a/src/libjin/core/timer.cpp b/src/libjin/core/timer.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/libjin/core/timer.cpp diff --git a/src/libjin/core/timer.h b/src/libjin/core/timer.h new file mode 100644 index 0000000..6f70f09 --- /dev/null +++ b/src/libjin/core/timer.h @@ -0,0 +1 @@ +#pragma once diff --git a/src/libjin/jin.h b/src/libjin/jin.h index 95895f7..32c04c7 100644 --- a/src/libjin/jin.h +++ b/src/libjin/jin.h @@ -9,4 +9,9 @@ #include "net/net.h" #include "render/render.h" +#define JIN_VERSION "Jin 0.1" +#define JIN_RELEASE "Jin 0.1.0" +#define JIN_VERSION_NUM 100 // 00.01.00 +#define JIN_AUTHOR "Chai" + #endif
\ No newline at end of file diff --git a/src/libjin/math/constant.h b/src/libjin/math/constant.h index 74acaea..f2f740f 100644 --- a/src/libjin/math/constant.h +++ b/src/libjin/math/constant.h @@ -3,4 +3,8 @@ #define PI 3.1415926f +// int16 Χ +#define INT16_RANGE_LEFT -32768 +#define INT16_RANGE_RIGHT 32767 + #endif
\ No newline at end of file diff --git a/src/libjin/math/math.h b/src/libjin/math/math.h index fdf1725..f6a299e 100644 --- a/src/libjin/math/math.h +++ b/src/libjin/math/math.h @@ -6,6 +6,11 @@ #include "constant.h" #include "matrix.h" #include "quad.h" -#include "rect.h" + +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#define max(a,b) (((a) > (b)) ? (a) : (b)) +#define clamp(a, mi,ma) min(max(a,mi),ma) +#define within(a,min,max) (a >= min && a <= max) +#define without(a,min,max) (a < min || a > max) #endif
\ No newline at end of file diff --git a/src/libjin/math/rect.h b/src/libjin/math/rect.h deleted file mode 100644 index 79c1df2..0000000 --- a/src/libjin/math/rect.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef __JIN_RECT_H -#define __JIN_RECT_H - -namespace jin -{ -namespace math -{ - class Rect - { - public: - int x, y, w, h; - }; -} -} -#endif
\ No newline at end of file diff --git a/src/libjin/physics/physics.h b/src/libjin/physics/physics.h new file mode 100644 index 0000000..9927301 --- /dev/null +++ b/src/libjin/physics/physics.h @@ -0,0 +1,12 @@ +#ifndef __JIN_PHYSICS_H +#define __JIN_PHYSICS_H + +namespace jin +{ +namespace physics +{ + +} +} + +#endif
\ No newline at end of file diff --git a/src/libjin/render/image.cpp b/src/libjin/render/image.cpp index 583bd8d..7955aa2 100644 --- a/src/libjin/render/image.cpp +++ b/src/libjin/render/image.cpp @@ -1,6 +1,7 @@ #include "image.h" #include "3rdparty/stb/stb_image.h" #include "../utils/utils.h" +#include "../math/math.h" namespace jin { diff --git a/src/libjin/utils/endian.h b/src/libjin/utils/endian.h index df28ddb..d4c441a 100644 --- a/src/libjin/utils/endian.h +++ b/src/libjin/utils/endian.h @@ -1,6 +1,3 @@ -/** -* -*/ #ifndef JIN_LIL_ENDIAN && JIN_BIG_ENDIAN #define JIN_LIL_ENDIAN 2 diff --git a/src/libjin/utils/unittest.cpp b/src/libjin/utils/unittest.cpp index 764a2bd..5b73312 100644 --- a/src/libjin/utils/unittest.cpp +++ b/src/libjin/utils/unittest.cpp @@ -2,32 +2,41 @@ #if UNITTEST #include <stdio.h> -#include "../audio/audio.h" +#include "../audio/sdl/audio.h" using namespace jin::audio; -void fill_audio(void *udata, Uint8 *stream, int len) +int sample_nr = 0; + +void fill_audio(void *user_data, Uint8 *raw_buffer, int bytes) { - printf("%d\n", len); - memset(stream, 0x11, len); + Sint16 *buffer = (Sint16*)raw_buffer; + int length = bytes / 2; // 2 bytes per sample for AUDIO_S16SYS + int &sample_nr(*(int*)user_data); + + for (int i = 0; i < length; i++, sample_nr++) + { + double time = (double)sample_nr / (double)44100; + buffer[i] = (Sint16)(28000 * sin(2.0f * M_PI * 441.0f * time)); // render 441 HZ sine wave + } } int main(int argc, char* argv[]) { - Audio* audio = Audio::get(); - - AudioSetting setting; - setting.freq = 22050; - setting.format = AUDIO_S16; - setting.channels = 2; + Audio* audio = SDLAudio::get(); + SDLAudioSetting setting; + setting.rate = 44100; + setting.resolution = AUDIO_S16SYS; + setting.channels = 1; setting.callback = fill_audio; - setting.samples = 1024; - setting.userdata = NULL; + setting.samples = 44100; + setting.userdata = &sample_nr; audio->init(&setting); while (true) { SDL_Delay(100); } + audio->quit(); return 0; } diff --git a/src/libjin/utils/utils.h b/src/libjin/utils/utils.h index 1a4ef35..d597c83 100644 --- a/src/libjin/utils/utils.h +++ b/src/libjin/utils/utils.h @@ -1,12 +1,6 @@ #ifndef __JIN_UTILS_H #define __JIN_UTILS_H -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#define clamp(a, mi,ma) min(max(a,mi),ma) - -#define within(a,min,max) (a >= min && a <= max) -#define without(a,min,max) (a < min || a > max) #include "macros.h" #include "endian.h" diff --git a/src/script/audio/luaopen_Source.cpp b/src/lua/audio/luaopen_Source.cpp index 2ab5d16..8ecaf7e 100644 --- a/src/script/audio/luaopen_Source.cpp +++ b/src/lua/audio/luaopen_Source.cpp @@ -1,4 +1,4 @@ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" namespace jin { diff --git a/src/script/audio/luaopen_audio.cpp b/src/lua/audio/luaopen_audio.cpp index 78d7a69..992c3ec 100644 --- a/src/script/audio/luaopen_audio.cpp +++ b/src/lua/audio/luaopen_audio.cpp @@ -1,6 +1,6 @@ #include <SDL2/SDL.h> -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "libjin/jin.h" namespace jin diff --git a/src/script/core/luaopen_core.cpp b/src/lua/core/luaopen_core.cpp index a222013..c8df1b6 100644 --- a/src/script/core/luaopen_core.cpp +++ b/src/lua/core/luaopen_core.cpp @@ -1,4 +1,4 @@ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "libjin/jin.h" namespace jin diff --git a/src/script/debug/luaopen_debug.cpp b/src/lua/debug/luaopen_debug.cpp index b33c058..b33c058 100644 --- a/src/script/debug/luaopen_debug.cpp +++ b/src/lua/debug/luaopen_debug.cpp diff --git a/src/script/embed/boot.lua b/src/lua/embed/boot.lua index 2f6fa93..2f6fa93 100644 --- a/src/script/embed/boot.lua +++ b/src/lua/embed/boot.lua diff --git a/src/script/embed/boot.lua.h b/src/lua/embed/boot.lua.h index 21c1899..21c1899 100644 --- a/src/script/embed/boot.lua.h +++ b/src/lua/embed/boot.lua.h diff --git a/src/script/embed/debug.lua b/src/lua/embed/debug.lua index 76f59ed..76f59ed 100644 --- a/src/script/embed/debug.lua +++ b/src/lua/embed/debug.lua diff --git a/src/script/embed/debug.lua.h b/src/lua/embed/debug.lua.h index 79c95ba..79c95ba 100644 --- a/src/script/embed/debug.lua.h +++ b/src/lua/embed/debug.lua.h diff --git a/src/script/embed/embed.h b/src/lua/embed/embed.h index 2ef8b75..2ef8b75 100644 --- a/src/script/embed/embed.h +++ b/src/lua/embed/embed.h diff --git a/src/script/embed/graphics.lua b/src/lua/embed/graphics.lua index 03a891d..03a891d 100644 --- a/src/script/embed/graphics.lua +++ b/src/lua/embed/graphics.lua diff --git a/src/script/embed/graphics.lua.h b/src/lua/embed/graphics.lua.h index 85cf979..85cf979 100644 --- a/src/script/embed/graphics.lua.h +++ b/src/lua/embed/graphics.lua.h diff --git a/src/script/embed/keyboard.lua b/src/lua/embed/keyboard.lua index 08214f8..08214f8 100644 --- a/src/script/embed/keyboard.lua +++ b/src/lua/embed/keyboard.lua diff --git a/src/script/embed/keyboard.lua.h b/src/lua/embed/keyboard.lua.h index 66e3c2a..66e3c2a 100644 --- a/src/script/embed/keyboard.lua.h +++ b/src/lua/embed/keyboard.lua.h diff --git a/src/script/embed/mouse.lua b/src/lua/embed/mouse.lua index 9dcd472..9dcd472 100644 --- a/src/script/embed/mouse.lua +++ b/src/lua/embed/mouse.lua diff --git a/src/script/embed/mouse.lua.h b/src/lua/embed/mouse.lua.h index f57d08c..f57d08c 100644 --- a/src/script/embed/mouse.lua.h +++ b/src/lua/embed/mouse.lua.h diff --git a/src/script/embed/path.lua b/src/lua/embed/path.lua index 5b99dd2..5b99dd2 100644 --- a/src/script/embed/path.lua +++ b/src/lua/embed/path.lua diff --git a/src/script/embed/path.lua.h b/src/lua/embed/path.lua.h index b398c99..b398c99 100644 --- a/src/script/embed/path.lua.h +++ b/src/lua/embed/path.lua.h diff --git a/src/script/event/luaopen_event.cpp b/src/lua/event/luaopen_event.cpp index 16ecbad..8a84c97 100644 --- a/src/script/event/luaopen_event.cpp +++ b/src/lua/event/luaopen_event.cpp @@ -3,7 +3,7 @@ */ #include <SDl2/SDL.h> -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "libjin/jin.h" using namespace jin::input; diff --git a/src/script/filesystem/luaopen_filesystem.cpp b/src/lua/filesystem/luaopen_filesystem.cpp index 2060d40..db0216b 100644 --- a/src/script/filesystem/luaopen_filesystem.cpp +++ b/src/lua/filesystem/luaopen_filesystem.cpp @@ -1,4 +1,4 @@ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "libjin/jin.h" #include <string> diff --git a/src/script/graphics/luaopen_Canvas.cpp b/src/lua/graphics/luaopen_Canvas.cpp index 1e22772..5dede84 100644 --- a/src/script/graphics/luaopen_Canvas.cpp +++ b/src/lua/graphics/luaopen_Canvas.cpp @@ -1,5 +1,5 @@ -#include "3rdparty/luax/luax.h" -#include "../luaopen_types.h" +#include "lua/luax.h" +#include "lua/luaopen_types.h" #include "libjin/jin.h" namespace jin diff --git a/src/script/graphics/luaopen_Font.cpp b/src/lua/graphics/luaopen_Font.cpp index 82dc078..387b220 100644 --- a/src/script/graphics/luaopen_Font.cpp +++ b/src/lua/graphics/luaopen_Font.cpp @@ -1,5 +1,5 @@ -#include "3rdparty/luax/luax.h" -#include "../luaopen_types.h" +#include "lua/luax.h" +#include "lua/luaopen_types.h" #include "libjin/jin.h" using namespace jin::render; diff --git a/src/script/graphics/luaopen_Image.cpp b/src/lua/graphics/luaopen_Image.cpp index 246ea09..c5648a5 100644 --- a/src/script/graphics/luaopen_Image.cpp +++ b/src/lua/graphics/luaopen_Image.cpp @@ -1,6 +1,6 @@ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "libjin/jin.h" -#include "../luaopen_types.h" +#include "lua/luaopen_types.h" using namespace jin::render; diff --git a/src/script/graphics/luaopen_JSL.cpp b/src/lua/graphics/luaopen_JSL.cpp index d5db363..93ca5d3 100644 --- a/src/script/graphics/luaopen_JSL.cpp +++ b/src/lua/graphics/luaopen_JSL.cpp @@ -1,6 +1,6 @@ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "libjin/jin.h" -#include "../luaopen_types.h" +#include "lua/luaopen_types.h" namespace jin { diff --git a/src/script/graphics/luaopen_graphics.cpp b/src/lua/graphics/luaopen_graphics.cpp index 40bdaa1..6fa5a4d 100644 --- a/src/script/graphics/luaopen_graphics.cpp +++ b/src/lua/graphics/luaopen_graphics.cpp @@ -1,9 +1,7 @@ -#include "3rdparty/luax/luax.h" - #include "libjin/jin.h" - -#include "../luaopen_types.h" -#include "../embed/graphics.lua.h" +#include "lua/luax.h" +#include "lua/luaopen_types.h" +#include "lua/embed/graphics.lua.h" namespace jin { diff --git a/src/script/joypad/joypad.h b/src/lua/joypad/joypad.h index e8d309b..e8d309b 100644 --- a/src/script/joypad/joypad.h +++ b/src/lua/joypad/joypad.h diff --git a/src/script/joypad/luaopen_joypad.cpp b/src/lua/joypad/luaopen_joypad.cpp index 0166a57..6c98c3b 100644 --- a/src/script/joypad/luaopen_joypad.cpp +++ b/src/lua/joypad/luaopen_joypad.cpp @@ -1,5 +1,5 @@ #include "libjin/jin.h" -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" namespace jin { diff --git a/src/script/keyboard/luaopen_keyboard.cpp b/src/lua/keyboard/luaopen_keyboard.cpp index 1ec1859..ea1386c 100644 --- a/src/script/keyboard/luaopen_keyboard.cpp +++ b/src/lua/keyboard/luaopen_keyboard.cpp @@ -1,5 +1,5 @@ -#include "3rdparty/luax/luax.h" -#include "script/embed/keyboard.lua.h" +#include "lua/luax.h" +#include "lua/embed/keyboard.lua.h" namespace jin { diff --git a/src/script/luaopen_jin.cpp b/src/lua/luaopen_jin.cpp index dcf8830..93e0422 100644 --- a/src/script/luaopen_jin.cpp +++ b/src/lua/luaopen_jin.cpp @@ -1,5 +1,5 @@ #include "luaopen_jin.h" -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" // embed all lua scripts #include "embed/embed.h" diff --git a/src/script/luaopen_jin.h b/src/lua/luaopen_jin.h index 161b482..3d446a5 100644 --- a/src/script/luaopen_jin.h +++ b/src/lua/luaopen_jin.h @@ -21,7 +21,7 @@ #ifndef __JIN_M_JIN_H #define __JIN_M_JIN_H -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #define MODULE_NAME "jin" #define VERSION "0.1.0" diff --git a/src/script/luaopen_types.h b/src/lua/luaopen_types.h index bb6f5b1..bb6f5b1 100644 --- a/src/script/luaopen_types.h +++ b/src/lua/luaopen_types.h diff --git a/src/lua/luax.h b/src/lua/luax.h new file mode 100644 index 0000000..3b587d3 --- /dev/null +++ b/src/lua/luax.h @@ -0,0 +1,10 @@ +#ifndef __JIN_LUA_LUAX_H +#define __JIN_LUA_LUAX_H + +#include "3rdparty/lua51/lua.h" +#include "3rdparty/lua51/lauxlib.h" +#include "3rdparty/lua51/lualib.h" + +#include "3rdparty/luax/luax.h" + +#endif
\ No newline at end of file diff --git a/src/script/mouse/luaopen_mouse.cpp b/src/lua/mouse/luaopen_mouse.cpp index 29819e1..a013f3d 100644 --- a/src/script/mouse/luaopen_mouse.cpp +++ b/src/lua/mouse/luaopen_mouse.cpp @@ -1,4 +1,4 @@ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "SDL2/SDL.h" namespace jin { diff --git a/src/script/net/luaopen_net.cpp b/src/lua/net/luaopen_net.cpp index 363a131..821f273 100644 --- a/src/script/net/luaopen_net.cpp +++ b/src/lua/net/luaopen_net.cpp @@ -1,7 +1,7 @@ /** * Notice: the net module is not finished yet. */ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include "3rdparty/tekcos/tekcos.h" namespace jin diff --git a/src/lua/thread/luaopen_Thread.cpp b/src/lua/thread/luaopen_Thread.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/lua/thread/luaopen_Thread.cpp diff --git a/src/script/time/luaopen_time.cpp b/src/lua/time/luaopen_time.cpp index a26be17..f7310dc 100644 --- a/src/script/time/luaopen_time.cpp +++ b/src/lua/time/luaopen_time.cpp @@ -1,4 +1,4 @@ -#include "3rdparty/luax/luax.h" +#include "lua/luax.h" #include <SDL2/SDL.h> namespace jin { diff --git a/src/main.cpp b/src/main.cpp index 4617beb..505f48c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,8 +5,8 @@ #include <direct.h> #endif -#include "3rdparty/luax/luax.h" -#include "script/luaopen_jin.h" +#include "lua/luax.h" +#include "lua/luaopen_jin.h" #include "libjin/jin.h" |