diff options
23 files changed, 1023 insertions, 244 deletions
diff --git a/bin/SDL2.dll b/bin/SDL2.dll Binary files differindex 22a805d..1784df8 100644 --- a/bin/SDL2.dll +++ b/bin/SDL2.dll diff --git a/bin/cembed.exe b/bin/cembed.exe Binary files differnew file mode 100644 index 0000000..dd580c5 --- /dev/null +++ b/bin/cembed.exe diff --git a/bin/jin.exe b/bin/jin.exe Binary files differindex eb1ec38..9f205e0 100644 --- a/bin/jin.exe +++ b/bin/jin.exe diff --git a/bin/lua51.dll b/bin/lua51.dll Binary files differindex 080ff13..975804a 100644 --- a/bin/lua51.dll +++ b/bin/lua51.dll diff --git a/build/vc++/3rdparty/cembed/cembed.vcxproj b/build/vc++/3rdparty/cembed/cembed.vcxproj new file mode 100644 index 0000000..04e1300 --- /dev/null +++ b/build/vc++/3rdparty/cembed/cembed.vcxproj @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <VCProjectVersion>15.0</VCProjectVersion> + <ProjectGuid>{DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}</ProjectGuid> + <RootNamespace>cembed</RootNamespace> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="Shared"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <OutDir>$(SolutionDir)..\..\bin</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>$(SolutionDir)..\..\bin</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <Link> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\3rdparty\cembed\cembed.c" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/build/vc++/3rdparty/cembed/cembed.vcxproj.filters b/build/vc++/3rdparty/cembed/cembed.vcxproj.filters new file mode 100644 index 0000000..3600749 --- /dev/null +++ b/build/vc++/3rdparty/cembed/cembed.vcxproj.filters @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\3rdparty\cembed\cembed.c" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/build/vc++/3rdparty/cembed/cembed.vcxproj.user b/build/vc++/3rdparty/cembed/cembed.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/vc++/3rdparty/cembed/cembed.vcxproj.user @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup /> +</Project>
\ No newline at end of file diff --git a/build/vc++/jin.sln b/build/vc++/jin.sln index a1f5d5f..b1807ac 100644 --- a/build/vc++/jin.sln +++ b/build/vc++/jin.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27703.2047 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjin-lua", "jin.vcxproj", "{A3E35ECA-62EB-45CE-8152-674FBC7F7A3B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjin-lua", "libjin-lua\libjin-lua.vcxproj", "{A3E35ECA-62EB-45CE-8152-674FBC7F7A3B}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjin", "libjin\libjin.vcxproj", "{9EE02090-C15E-4520-9C05-C435E45EF2FC}" EndProject @@ -47,6 +47,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luax", "3rdparty\luax\luax. EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua51", "3rdparty\Lua51\Lua51.vcxproj", "{4156CD69-6FC4-4B32-B008-BB94C8AE17F5}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cembed", "3rdparty\cembed\cembed.vcxproj", "{DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -183,6 +185,14 @@ Global {4156CD69-6FC4-4B32-B008-BB94C8AE17F5}.Release|x64.Build.0 = Release|x64 {4156CD69-6FC4-4B32-B008-BB94C8AE17F5}.Release|x86.ActiveCfg = Release|Win32 {4156CD69-6FC4-4B32-B008-BB94C8AE17F5}.Release|x86.Build.0 = Release|Win32 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Debug|x64.ActiveCfg = Debug|x64 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Debug|x64.Build.0 = Debug|x64 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Debug|x86.ActiveCfg = Debug|Win32 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Debug|x86.Build.0 = Debug|Win32 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Release|x64.ActiveCfg = Release|x64 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Release|x64.Build.0 = Release|x64 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Release|x86.ActiveCfg = Release|Win32 + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -206,6 +216,7 @@ Global {45AC0438-98A8-4369-A21D-BBCBE7995B34} = {2A2F610D-E42B-426F-8DC8-79E0C6FCCDD2} {C6B16179-5640-4D41-8756-0525D25EB569} = {65DFFFA6-F434-47FB-9DB2-DCF019060B92} {4156CD69-6FC4-4B32-B008-BB94C8AE17F5} = {2A2F610D-E42B-426F-8DC8-79E0C6FCCDD2} + {DE837ACB-AA3B-4C91-9CA1-395D1B85E11F} = {65DFFFA6-F434-47FB-9DB2-DCF019060B92} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {633D8D43-3349-43F7-8835-7D7F58BAD2A8} diff --git a/build/vc++/jin/jin.vcxproj b/build/vc++/jin/jin.vcxproj index 7c0c145..98ae932 100644 --- a/build/vc++/jin/jin.vcxproj +++ b/build/vc++/jin/jin.vcxproj @@ -143,7 +143,7 @@ <ClCompile Include="..\..\..\src\jin\main.cpp" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\jin.vcxproj"> + <ProjectReference Include="..\libjin-lua\libjin-lua.vcxproj"> <Project>{a3e35eca-62eb-45ce-8152-674fbc7f7a3b}</Project> </ProjectReference> </ItemGroup> diff --git a/build/vc++/jin.vcxproj b/build/vc++/libjin-lua/libjin-lua.vcxproj index cfc6eba..57d1837 100644 --- a/build/vc++/jin.vcxproj +++ b/build/vc++/libjin-lua/libjin-lua.vcxproj @@ -117,7 +117,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(SolutionDir)..\..\src\;$(SolutionDir)..\..\src\3rdparty\LuaJIT-2.0.5\include;$(SolutionDir)..\..\src\3rdparty\;$(SolutionDir)..\..\src\3rdparty\SDL2\include;$(SolutionDir)..\..\src\lua;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(SolutionDir)..\..\..\src\;$(SolutionDir)..\..\..\src\3rdparty\LuaJIT-2.0.5\include;$(SolutionDir)..\..\..\src\3rdparty\;$(SolutionDir)..\..\..\src\3rdparty\SDL2\include;$(SolutionDir)..\..\..\src\lua;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <CompileAs>CompileAsCpp</CompileAs> <ObjectFileName>$(IntDir)/%(RelativeDir)/</ObjectFileName> <FavorSizeOrSpeed>Size</FavorSizeOrSpeed> @@ -147,117 +147,110 @@ </Link> </ItemDefinitionGroup> <ItemGroup> - <ClCompile Include="..\..\src\lua\common\je_lua_runtime.cpp" /> - <ClCompile Include="..\..\src\lua\common\je_lua_callback.cpp" /> - <ClCompile Include="..\..\src\lua\common\je_lua_function.cpp" /> - <ClCompile Include="..\..\src\lua\common\je_lua_port.h" /> - <ClCompile Include="..\..\src\lua\common\je_lua_object.cpp" /> - <ClCompile Include="..\..\src\lua\common\je_lua_reference.cpp" /> - <ClCompile Include="..\..\src\lua\common\je_lua_shared.cpp" /> - <ClCompile Include="..\..\src\lua\je_lua_jin.cpp" /> - <ClCompile Include="..\..\src\lua\modules\ai\je_lua_ai.cpp" /> - <ClCompile Include="..\..\src\lua\modules\ai\je_lua_behavior_tree.cpp" /> - <ClCompile Include="..\..\src\lua\modules\ai\je_lua_state_machine.cpp" /> - <ClCompile Include="..\..\src\lua\modules\audio\je_lua_audio.cpp" /> - <ClCompile Include="..\..\src\lua\modules\audio\je_lua_source.cpp" /> - <ClCompile Include="..\..\src\lua\modules\bit\je_lua_bit.cpp" /> - <ClCompile Include="..\..\src\lua\modules\core\je_lua_core.cpp" /> - <ClCompile Include="..\..\src\lua\modules\event\je_lua_event.cpp" /> - <ClCompile Include="..\..\src\lua\modules\filesystem\je_lua_filesystem.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_animation.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_animator.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_bitmap.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_canvas.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_particle_system.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_sprite.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_spritesheet.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_text.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_texture_font.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_ttf.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_ttf_data.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_graphics.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_page.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_texture.cpp" /> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_shader.cpp" /> - <ClCompile Include="..\..\src\lua\modules\joypad\je_lua_joypad.cpp" /> - <ClCompile Include="..\..\src\lua\modules\keyboard\je_lua_keyboard.cpp" /> - <ClCompile Include="..\..\src\lua\modules\math\je_lua_math.cpp" /> - <ClCompile Include="..\..\src\lua\modules\mouse\je_lua_mouse.cpp" /> - <ClCompile Include="..\..\src\lua\modules\net\je_lua_buffer.cpp" /> - <ClCompile Include="..\..\src\lua\modules\net\je_lua_net.cpp" /> - <ClCompile Include="..\..\src\lua\modules\net\je_lua_socket.cpp" /> - <ClCompile Include="..\..\src\lua\modules\thread\je_lua_thread.cpp" /> - <ClCompile Include="..\..\src\lua\modules\time\je_lua_time.cpp" /> - <ClCompile Include="..\..\src\lua\modules\time\je_lua_timer.cpp" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\src\lua\common\je_lua.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_common.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_constant.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_error.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_callback.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_function.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_object.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_reference.h" /> - <ClInclude Include="..\..\src\lua\common\je_lua_shared.hpp" /> - <ClInclude Include="..\..\src\lua\embed\embed.h" /> - <ClInclude Include="..\..\src\lua\embed\scripts\ai.lua.h" /> - <ClInclude Include="..\..\src\lua\embed\scripts\boot.lua.h" /> - <ClInclude Include="..\..\src\lua\embed\scripts\graphics.lua.h" /> - <ClInclude Include="..\..\src\lua\embed\scripts\keyboard.lua.h" /> - <ClInclude Include="..\..\src\lua\embed\scripts\mouse.lua.h" /> - <ClInclude Include="..\..\src\lua\embed\scripts\net.lua.h" /> - <ClInclude Include="..\..\src\lua\embed\scripts\path.lua.h" /> - <ClInclude Include="..\..\src\lua\je_lua_jin.h" /> - <ClInclude Include="..\..\src\lua\modules\ai\je_lua_ai.h" /> - <ClInclude Include="..\..\src\lua\modules\ai\je_lua_behavior_tree.h" /> - <ClInclude Include="..\..\src\lua\modules\ai\je_lua_state_machine.h" /> - <ClInclude Include="..\..\src\lua\modules\audio\je_lua_audio.h" /> - <ClInclude Include="..\..\src\lua\modules\audio\je_lua_source.h" /> - <ClInclude Include="..\..\src\lua\modules\bit\je_lua_bit.h" /> - <ClInclude Include="..\..\src\lua\modules\core\je_lua_core.h" /> - <ClInclude Include="..\..\src\lua\modules\event\je_lua_event.h" /> - <ClInclude Include="..\..\src\lua\modules\filesystem\je_lua_filesystem.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_animation.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_animator.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_bitmap.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_canvas.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_graphics.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_page.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_particle_system.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_shader.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_sprite.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_spritesheet.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_text.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_texture.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_texture_font.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_ttf.h" /> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_ttf_data.h" /> - <ClInclude Include="..\..\src\lua\modules\je_lua_modules.h" /> - <ClInclude Include="..\..\src\lua\modules\joypad\je_lua_joypad.h" /> - <ClInclude Include="..\..\src\lua\modules\keyboard\je_lua_keyboard.h" /> - <ClInclude Include="..\..\src\lua\modules\math\je_lua_math.h" /> - <ClInclude Include="..\..\src\lua\modules\mouse\je_lua_mouse.h" /> - <ClInclude Include="..\..\src\lua\modules\net\je_lua_buffer.h" /> - <ClInclude Include="..\..\src\lua\modules\net\je_lua_net.h" /> - <ClInclude Include="..\..\src\lua\modules\net\je_lua_socket.h" /> - <ClInclude Include="..\..\src\lua\modules\thread\je_lua_thread.h" /> - <ClInclude Include="..\..\src\lua\modules\time\je_lua_time.h" /> - <ClInclude Include="..\..\src\lua\modules\time\je_lua_timer.h" /> - <ClInclude Include="..\..\src\lua\resources\font.ttf.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="jin.rc" /> + <ClCompile Include="..\..\..\src\lua\common\je_lua_runtime.cpp" /> + <ClCompile Include="..\..\..\src\lua\common\je_lua_callback.cpp" /> + <ClCompile Include="..\..\..\src\lua\common\je_lua_function.cpp" /> + <ClCompile Include="..\..\..\src\lua\common\je_lua_port.h" /> + <ClCompile Include="..\..\..\src\lua\common\je_lua_object.cpp" /> + <ClCompile Include="..\..\..\src\lua\common\je_lua_reference.cpp" /> + <ClCompile Include="..\..\..\src\lua\common\je_lua_shared.cpp" /> + <ClCompile Include="..\..\..\src\lua\je_lua_jin.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\ai\je_lua_ai.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\ai\je_lua_behavior_tree.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\ai\je_lua_state_machine.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\audio\je_lua_audio.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\audio\je_lua_source.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\bit\je_lua_bit.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\core\je_lua_core.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\event\je_lua_event.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\filesystem\je_lua_filesystem.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_animation.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_animator.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_bitmap.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_canvas.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_particle_system.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_sprite.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_spritesheet.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_text.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_texture_font.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_ttf.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_ttf_data.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_graphics.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_page.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_texture.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_shader.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\joypad\je_lua_joypad.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\keyboard\je_lua_keyboard.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\math\je_lua_math.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\mouse\je_lua_mouse.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\net\je_lua_buffer.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\net\je_lua_net.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\net\je_lua_socket.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\thread\je_lua_thread.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\time\je_lua_time.cpp" /> + <ClCompile Include="..\..\..\src\lua\modules\time\je_lua_timer.cpp" /> </ItemGroup> <ItemGroup> - <Image Include="..\..\res\icon.ico" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_common.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_constant.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_error.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_callback.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_function.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_object.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_reference.h" /> + <ClInclude Include="..\..\..\src\lua\common\je_lua_shared.hpp" /> + <ClInclude Include="..\..\..\src\lua\embed\embed.h" /> + <ClInclude Include="..\..\..\src\lua\embed\scripts\ai.lua.h" /> + <ClInclude Include="..\..\..\src\lua\embed\scripts\boot.lua.h" /> + <ClInclude Include="..\..\..\src\lua\embed\scripts\graphics.lua.h" /> + <ClInclude Include="..\..\..\src\lua\embed\scripts\keyboard.lua.h" /> + <ClInclude Include="..\..\..\src\lua\embed\scripts\mouse.lua.h" /> + <ClInclude Include="..\..\..\src\lua\embed\scripts\net.lua.h" /> + <ClInclude Include="..\..\..\src\lua\embed\scripts\path.lua.h" /> + <ClInclude Include="..\..\..\src\lua\je_lua_jin.h" /> + <ClInclude Include="..\..\..\src\lua\modules\ai\je_lua_ai.h" /> + <ClInclude Include="..\..\..\src\lua\modules\ai\je_lua_behavior_tree.h" /> + <ClInclude Include="..\..\..\src\lua\modules\ai\je_lua_state_machine.h" /> + <ClInclude Include="..\..\..\src\lua\modules\audio\je_lua_audio.h" /> + <ClInclude Include="..\..\..\src\lua\modules\audio\je_lua_source.h" /> + <ClInclude Include="..\..\..\src\lua\modules\bit\je_lua_bit.h" /> + <ClInclude Include="..\..\..\src\lua\modules\core\je_lua_core.h" /> + <ClInclude Include="..\..\..\src\lua\modules\event\je_lua_event.h" /> + <ClInclude Include="..\..\..\src\lua\modules\filesystem\je_lua_filesystem.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_animation.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_animator.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_bitmap.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_canvas.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_graphics.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_page.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_particle_system.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_shader.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_sprite.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_spritesheet.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_text.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_texture.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_texture_font.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_ttf.h" /> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_ttf_data.h" /> + <ClInclude Include="..\..\..\src\lua\modules\je_lua_modules.h" /> + <ClInclude Include="..\..\..\src\lua\modules\joypad\je_lua_joypad.h" /> + <ClInclude Include="..\..\..\src\lua\modules\keyboard\je_lua_keyboard.h" /> + <ClInclude Include="..\..\..\src\lua\modules\math\je_lua_math.h" /> + <ClInclude Include="..\..\..\src\lua\modules\mouse\je_lua_mouse.h" /> + <ClInclude Include="..\..\..\src\lua\modules\net\je_lua_buffer.h" /> + <ClInclude Include="..\..\..\src\lua\modules\net\je_lua_net.h" /> + <ClInclude Include="..\..\..\src\lua\modules\net\je_lua_socket.h" /> + <ClInclude Include="..\..\..\src\lua\modules\thread\je_lua_thread.h" /> + <ClInclude Include="..\..\..\src\lua\modules\time\je_lua_time.h" /> + <ClInclude Include="..\..\..\src\lua\modules\time\je_lua_timer.h" /> + <ClInclude Include="..\..\..\src\lua\resources\font.ttf.h" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="3rdparty\LuaJIT-2.0.5\LuaJIT-2.0.5.vcxproj"> + <ProjectReference Include="..\3rdparty\LuaJIT-2.0.5\LuaJIT-2.0.5.vcxproj"> <Project>{45ac0438-98a8-4369-a21d-bbcbe7995b34}</Project> </ProjectReference> - <ProjectReference Include="libjin\libjin.vcxproj"> + <ProjectReference Include="..\libjin\libjin.vcxproj"> <Project>{9ee02090-c15e-4520-9c05-c435e45ef2fc}</Project> </ProjectReference> </ItemGroup> diff --git a/build/vc++/jin.vcxproj.filters b/build/vc++/libjin-lua/libjin-lua.vcxproj.filters index 029c097..bf1010a 100644 --- a/build/vc++/jin.vcxproj.filters +++ b/build/vc++/libjin-lua/libjin-lua.vcxproj.filters @@ -55,9 +55,6 @@ <Filter Include="source\embed"> <UniqueIdentifier>{9cf92f3f-bcc5-442b-aa92-c88eeb1c5e45}</UniqueIdentifier> </Filter> - <Filter Include="resource"> - <UniqueIdentifier>{579f12b8-5758-4be5-9cd7-e1fa62fdef74}</UniqueIdentifier> - </Filter> <Filter Include="source\modules\ai"> <UniqueIdentifier>{fc3fecf1-63e8-4d28-97a7-bf6a1817f57b}</UniqueIdentifier> </Filter> @@ -66,308 +63,295 @@ </Filter> </ItemGroup> <ItemGroup> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_sprite.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_sprite.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_graphics.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_graphics.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_page.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_page.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_shader.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_shader.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_text.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_text.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_texture.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_texture.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_texture_font.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_texture_font.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_ttf.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_ttf.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_ttf_data.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_ttf_data.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_canvas.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_canvas.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_bitmap.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_bitmap.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\audio\je_lua_audio.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\audio\je_lua_audio.cpp"> <Filter>source\modules\audio</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\audio\je_lua_source.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\audio\je_lua_source.cpp"> <Filter>source\modules\audio</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\bit\je_lua_bit.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\bit\je_lua_bit.cpp"> <Filter>source\modules\bit</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\core\je_lua_core.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\core\je_lua_core.cpp"> <Filter>source\modules\core</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\event\je_lua_event.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\event\je_lua_event.cpp"> <Filter>source\modules\event</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\filesystem\je_lua_filesystem.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\filesystem\je_lua_filesystem.cpp"> <Filter>source\modules\filesystem</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\joypad\je_lua_joypad.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\joypad\je_lua_joypad.cpp"> <Filter>source\modules\joypad</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\keyboard\je_lua_keyboard.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\keyboard\je_lua_keyboard.cpp"> <Filter>source\modules\keyboard</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\math\je_lua_math.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\math\je_lua_math.cpp"> <Filter>source\modules\math</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\mouse\je_lua_mouse.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\mouse\je_lua_mouse.cpp"> <Filter>source\modules\mouse</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\net\je_lua_buffer.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\net\je_lua_buffer.cpp"> <Filter>source\modules\net</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\net\je_lua_net.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\net\je_lua_net.cpp"> <Filter>source\modules\net</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\net\je_lua_socket.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\net\je_lua_socket.cpp"> <Filter>source\modules\net</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\thread\je_lua_thread.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\thread\je_lua_thread.cpp"> <Filter>source\modules\thread</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\time\je_lua_time.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\time\je_lua_time.cpp"> <Filter>source\modules\time</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_particle_system.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_particle_system.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\common\je_lua_port.h"> + <ClCompile Include="..\..\..\src\lua\common\je_lua_port.h"> <Filter>source\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\ai\je_lua_behavior_tree.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\ai\je_lua_behavior_tree.cpp"> <Filter>source\modules\ai</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\ai\je_lua_ai.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\ai\je_lua_ai.cpp"> <Filter>source\modules\ai</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\ai\je_lua_state_machine.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\ai\je_lua_state_machine.cpp"> <Filter>source\modules\ai</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\time\je_lua_timer.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\time\je_lua_timer.cpp"> <Filter>source\modules\time</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\common\je_lua_reference.cpp"> + <ClCompile Include="..\..\..\src\lua\common\je_lua_reference.cpp"> <Filter>source\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\common\je_lua_callback.cpp"> + <ClCompile Include="..\..\..\src\lua\common\je_lua_callback.cpp"> <Filter>source\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_spritesheet.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_spritesheet.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\common\je_lua_function.cpp"> + <ClCompile Include="..\..\..\src\lua\common\je_lua_function.cpp"> <Filter>source\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_animation.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_animation.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\modules\graphics\je_lua_animator.cpp"> + <ClCompile Include="..\..\..\src\lua\modules\graphics\je_lua_animator.cpp"> <Filter>source\modules\graphics</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\common\je_lua_shared.cpp"> + <ClCompile Include="..\..\..\src\lua\common\je_lua_shared.cpp"> <Filter>source\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\common\je_lua_object.cpp"> + <ClCompile Include="..\..\..\src\lua\common\je_lua_object.cpp"> <Filter>source\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\common\je_lua_runtime.cpp"> + <ClCompile Include="..\..\..\src\lua\common\je_lua_runtime.cpp"> <Filter>source\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\lua\je_lua_jin.cpp"> + <ClCompile Include="..\..\..\src\lua\je_lua_jin.cpp"> <Filter>source</Filter> </ClCompile> </ItemGroup> <ItemGroup> - <ClInclude Include="resource.h"> - <Filter>resource</Filter> - </ClInclude> - <ClInclude Include="..\..\src\lua\resources\font.ttf.h"> + <ClInclude Include="..\..\..\src\lua\resources\font.ttf.h"> <Filter>source\resources</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\net\je_lua_buffer.h"> + <ClInclude Include="..\..\..\src\lua\modules\net\je_lua_buffer.h"> <Filter>source\modules\net</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\thread\je_lua_thread.h"> + <ClInclude Include="..\..\..\src\lua\modules\thread\je_lua_thread.h"> <Filter>source\modules\thread</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_common.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_common.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_constant.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_constant.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_error.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_error.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\embed.h"> + <ClInclude Include="..\..\..\src\lua\embed\embed.h"> <Filter>source\embed</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\scripts\boot.lua.h"> + <ClInclude Include="..\..\..\src\lua\embed\scripts\boot.lua.h"> <Filter>source\embed\scripts</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\scripts\graphics.lua.h"> + <ClInclude Include="..\..\..\src\lua\embed\scripts\graphics.lua.h"> <Filter>source\embed\scripts</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\scripts\keyboard.lua.h"> + <ClInclude Include="..\..\..\src\lua\embed\scripts\keyboard.lua.h"> <Filter>source\embed\scripts</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\scripts\mouse.lua.h"> + <ClInclude Include="..\..\..\src\lua\embed\scripts\mouse.lua.h"> <Filter>source\embed\scripts</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\scripts\net.lua.h"> + <ClInclude Include="..\..\..\src\lua\embed\scripts\net.lua.h"> <Filter>source\embed\scripts</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\scripts\path.lua.h"> + <ClInclude Include="..\..\..\src\lua\embed\scripts\path.lua.h"> <Filter>source\embed\scripts</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\embed\scripts\ai.lua.h"> + <ClInclude Include="..\..\..\src\lua\embed\scripts\ai.lua.h"> <Filter>source\embed\scripts</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\time\je_lua_timer.h"> + <ClInclude Include="..\..\..\src\lua\modules\time\je_lua_timer.h"> <Filter>source\modules\time</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_shared.hpp"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_shared.hpp"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_reference.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_reference.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_callback.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_callback.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_page.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_page.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_spritesheet.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_spritesheet.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_sprite.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_sprite.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_bitmap.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_bitmap.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_canvas.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_canvas.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_graphics.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_graphics.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_particle_system.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_particle_system.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_shader.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_shader.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_text.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_text.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_texture.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_texture.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_texture_font.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_texture_font.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_ttf.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_ttf.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_ttf_data.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_ttf_data.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\ai\je_lua_ai.h"> + <ClInclude Include="..\..\..\src\lua\modules\ai\je_lua_ai.h"> <Filter>source\modules\ai</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\ai\je_lua_behavior_tree.h"> + <ClInclude Include="..\..\..\src\lua\modules\ai\je_lua_behavior_tree.h"> <Filter>source\modules\ai</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\ai\je_lua_state_machine.h"> + <ClInclude Include="..\..\..\src\lua\modules\ai\je_lua_state_machine.h"> <Filter>source\modules\ai</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\audio\je_lua_audio.h"> + <ClInclude Include="..\..\..\src\lua\modules\audio\je_lua_audio.h"> <Filter>source\modules\audio</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\audio\je_lua_source.h"> + <ClInclude Include="..\..\..\src\lua\modules\audio\je_lua_source.h"> <Filter>source\modules\audio</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\bit\je_lua_bit.h"> + <ClInclude Include="..\..\..\src\lua\modules\bit\je_lua_bit.h"> <Filter>source\modules\bit</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\core\je_lua_core.h"> + <ClInclude Include="..\..\..\src\lua\modules\core\je_lua_core.h"> <Filter>source\modules\core</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\event\je_lua_event.h"> + <ClInclude Include="..\..\..\src\lua\modules\event\je_lua_event.h"> <Filter>source\modules\event</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\filesystem\je_lua_filesystem.h"> + <ClInclude Include="..\..\..\src\lua\modules\filesystem\je_lua_filesystem.h"> <Filter>source\modules\filesystem</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\joypad\je_lua_joypad.h"> + <ClInclude Include="..\..\..\src\lua\modules\joypad\je_lua_joypad.h"> <Filter>source\modules\joypad</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\keyboard\je_lua_keyboard.h"> + <ClInclude Include="..\..\..\src\lua\modules\keyboard\je_lua_keyboard.h"> <Filter>source\modules\keyboard</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\math\je_lua_math.h"> + <ClInclude Include="..\..\..\src\lua\modules\math\je_lua_math.h"> <Filter>source\modules\math</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\mouse\je_lua_mouse.h"> + <ClInclude Include="..\..\..\src\lua\modules\mouse\je_lua_mouse.h"> <Filter>source\modules\mouse</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\net\je_lua_net.h"> + <ClInclude Include="..\..\..\src\lua\modules\net\je_lua_net.h"> <Filter>source\modules\net</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\net\je_lua_socket.h"> + <ClInclude Include="..\..\..\src\lua\modules\net\je_lua_socket.h"> <Filter>source\modules\net</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\time\je_lua_time.h"> + <ClInclude Include="..\..\..\src\lua\modules\time\je_lua_time.h"> <Filter>source\modules\time</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_function.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_function.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_animation.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_animation.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\graphics\je_lua_animator.h"> + <ClInclude Include="..\..\..\src\lua\modules\graphics\je_lua_animator.h"> <Filter>source\modules\graphics</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\modules\je_lua_modules.h"> + <ClInclude Include="..\..\..\src\lua\modules\je_lua_modules.h"> <Filter>source\modules</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\common\je_lua_object.h"> + <ClInclude Include="..\..\..\src\lua\common\je_lua_object.h"> <Filter>source\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\lua\je_lua_jin.h"> + <ClInclude Include="..\..\..\src\lua\je_lua_jin.h"> <Filter>source</Filter> </ClInclude> </ItemGroup> - <ItemGroup> - <ResourceCompile Include="jin.rc"> - <Filter>resource</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <Image Include="..\..\res\icon.ico"> - <Filter>resource</Filter> - </Image> - </ItemGroup> </Project>
\ No newline at end of file diff --git a/build/vc++/jin.vcxproj.user b/build/vc++/libjin-lua/libjin-lua.vcxproj.user index fbd2421..a8fee8c 100644 --- a/build/vc++/jin.vcxproj.user +++ b/build/vc++/libjin-lua/libjin-lua.vcxproj.user @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\bin</LocalDebuggerWorkingDirectory> + <LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\bin</LocalDebuggerWorkingDirectory> <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\bin</LocalDebuggerWorkingDirectory> + <LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\bin</LocalDebuggerWorkingDirectory> <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> </PropertyGroup> <PropertyGroup> diff --git a/build/vc++/resource.h b/build/vc++/resource.h Binary files differdeleted file mode 100644 index fdc6053..0000000 --- a/build/vc++/resource.h +++ /dev/null diff --git a/src/3rdparty/cembed/cembed.c b/src/3rdparty/cembed/cembed.c new file mode 100644 index 0000000..0488b67 --- /dev/null +++ b/src/3rdparty/cembed/cembed.c @@ -0,0 +1,230 @@ +/* +** Copyright (c) 2018 rxi +** +** Permission is hereby granted, free of charge, to any person obtaining a copy +** of this software and associated documentation files (the "Software"), to +** deal in the Software without restriction, including without limitation the +** rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +** sell copies of the Software, and to permit persons to whom the Software is +** furnished to do so, subject to the following conditions: +** +** The above copyright notice and this permission notice shall be included in +** all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +** LIABILITY, WHETHER IN AN ACTION 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 <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <ctype.h> + +#define VERSION "v0.2" + + +typedef struct { + FILE *fp; + unsigned char buf[4096]; + int idx; + int eof_idx; +} BufferedFile; + + +static BufferedFile bf_writer(FILE *fp) { + BufferedFile bf = { .fp = fp }; + return bf; +} + + +static BufferedFile bf_reader(FILE *fp) { + BufferedFile bf = { .fp = fp,.idx = sizeof(bf.buf),.eof_idx = -1 }; + return bf; +} + + +static void bf_flush(BufferedFile *bf) { + fwrite(bf->buf, 1, bf->idx, bf->fp); + bf->idx = 0; +} + + +static void bf_write_byte(BufferedFile *bf, char b) { + bf->buf[bf->idx++] = b; + if (bf->idx == sizeof(bf->buf)) { bf_flush(bf); } +} + + +static int bf_read_byte(BufferedFile *bf) { + if (bf->idx == sizeof(bf->buf)) { + int n = fread(bf->buf, 1, sizeof(bf->buf), bf->fp); + if (n != sizeof(bf->buf)) { bf->eof_idx = n; } + bf->idx = 0; + } + if (bf->idx == bf->eof_idx) { return EOF; } + return bf->buf[bf->idx++]; +} + + +static void error(const char *fmt, ...) { + va_list vp; + fprintf(stderr, "Error: "); + va_start(vp, fmt); + vfprintf(stderr, fmt, vp); + va_end(vp); + fprintf(stderr, "\n"); + exit(EXIT_FAILURE); +} + + +static void safename(char *dst, const char *filename) { + const char *p = filename; + char *q = dst; + while (*p) { + if (isalpha(*p) || isdigit(*p)) { + *q = *p; + } + else { + *q = '_'; + } + q++; p++; + } + *q = '\0'; +} + + +static void write_byte_string(BufferedFile *bf, unsigned char n) { + if (n >= 100) { bf_write_byte(bf, '0' + (n / 100) % 10); } + if (n >= 10) { bf_write_byte(bf, '0' + (n / 10) % 10); } + bf_write_byte(bf, '0' + n % 10); +} + + +static void write_embedded(FILE *fp, const char *filename, + const char *varprefix, int nostatic, int zerobyte) +{ + FILE *infp = fopen(filename, "rb"); + if (!infp) { + error("failed to open file '%s'", filename); + } + + char varname[256]; + if (strlen(filename) >= sizeof(varname)) { + error("filename too long"); + } + safename(varname, filename); + + if (!nostatic) { fprintf(fp, "static "); } + fprintf(fp, "unsigned char %s%s[] = {", varprefix, varname); + BufferedFile inbf = bf_reader(infp); + BufferedFile bf = bf_writer(fp); + int n = 0; + + for (;;) { + int chr = bf_read_byte(&inbf); + if (chr == EOF) { break; } + if (n > 0) { bf_write_byte(&bf, ','); } + if (n % 20 == 0) { bf_write_byte(&bf, '\n'); } + write_byte_string(&bf, chr); + n++; + } + + bf_flush(&bf); + if (zerobyte) { fprintf(fp, ",0"); } + fprintf(fp, "\n};\n\n"); + + fclose(infp); +} + + +static void print_help(void) { + printf( + "Usage: cembed [OPTION]... [FILE]...\n" + "Create C header with file data embedded in char arrays\n" + "\n" + " -o <filename> output file\n" + " -p <prefix> prefix to place before variable names\n" + " -s omits `static` keyword\n" + " -z adds zero byte to end of array\n" + " -h display this help message\n" + " -v display version number\n"); +} + + +int main(int argc, char **argv) { + char **arg = argv + 1; + char **arg_end = argv + argc; + + /* defaults */ + const char *outfile = NULL; + const char *prefix = ""; + int zerobyte = 0; + int nostatic = 0; + + /* handle options */ + while (arg != arg_end && (*arg)[0] == '-') { + switch ((*arg)[1]) { + case 'h': + print_help(); + exit(EXIT_SUCCESS); + break; + + case 'v': + printf("cembed " VERSION "\n"); + exit(EXIT_SUCCESS); + break; + + case 's': + nostatic = 1; + break; + + case 'z': + zerobyte = 1; + break; + + case 'o': + arg++; + if (arg == arg_end) { error("expected filename after option '-o'"); } + outfile = *arg; + break; + + case 'p': + arg++; + if (arg == arg_end) { error("expected prefix after option '-p'"); } + prefix = *arg; + break; + + default: + error("invalid option '%s'", *arg); + break; + } + + arg++; + } + + /* no file arguments: print help */ + if (arg == arg_end) { + print_help(); + exit(EXIT_SUCCESS); + } + + /* open output */ + FILE *fp = outfile ? fopen(outfile, "wb") : stdout; + if (!fp) { error("failed to open output file '%s'", outfile); } + + /* write files */ + while (arg != arg_end) { + write_embedded(fp, *arg, prefix, nostatic, zerobyte); + arg++; + } + + /* clean up */ + if (fp != stdout) { fclose(fp); } + return EXIT_SUCCESS; +} diff --git a/src/libjin/common/je_object.h b/src/libjin/common/je_object.h index 677b474..581500f 100644 --- a/src/libjin/common/je_object.h +++ b/src/libjin/common/je_object.h @@ -11,6 +11,7 @@ namespace JinEngine { public: virtual ~Object() {}; + }; } // namespace JinEngine diff --git a/src/lua/embed/scripts/ai.lua b/src/lua/embed/scripts/ai.lua new file mode 100644 index 0000000..a69da84 --- /dev/null +++ b/src/lua/embed/scripts/ai.lua @@ -0,0 +1,26 @@ +/* graphics.lua */ +static const char* ai_lua = R"( +jin.ai = jin.ai or {} + +local ja = jin.ai + +ja.StateMachineType = { + STEPWISE = 1, + ITERATIVE = 2, +} + + + +)"; + + +//local sp = jin.graphics.newSprite() +//local sm = jin.ai.newStateMachine(jin.StateMachineMode.STEPWISE, sp) +//sm:addState("run") +//sm:addEnterCallback("run", function(spr) +// spr:setRun() +//end) +// +//function jin.core.onUpdate(dt) +// sm:update() +//end diff --git a/src/lua/embed/scripts/boot.lua b/src/lua/embed/scripts/boot.lua new file mode 100644 index 0000000..4b97b69 --- /dev/null +++ b/src/lua/embed/scripts/boot.lua @@ -0,0 +1,139 @@ +/* boot.lua */ +static const char* boot_lua = R"( +local cwd = jin.args['cwd'] or '.' +jin.filesystem.init() +jin.filesystem.mount(cwd) + +------------------------------------------------------------------------- +-- Config game +------------------------------------------------------------------------- + +jin.config = {} +if jin.filesystem.exist("config.lua") then + xpcall(function()jin.config = require "config" end, function()end) +end +jin.config.width = jin.config.width or 580 +jin.config.height = jin.config.height or 450 +jin.config.vsync = jin.config.vsync or true +jin.config.title = jin.config.title or ("jin v" .. jin.version) +jin.config.resizable = jin.config.resizable or false +jin.config.fullscreen = jin.config.fullscreen or false +jin.config.fps = jin.config.fps or 60 +jin.config.icon = jin.config.icon or "" + +------------------------------------------------------------------------- +-- Default game loop +------------------------------------------------------------------------- + +local function call(func, ...) + if func then + return func(...) + end +end + +local step = jin.time.step +jin.time.step = nil + +function jin.core.run() + jin.graphics.reset() + call(jin.core.onLoad) + local dt = 0 + while jin.core.running() do + for _, e in pairs(jin.event.poll()) do + if e.type == "KeyDown" then + jin.keyboard.set(e.key, true) + elseif e.type == "KeyUp" then + jin.keyboard.set(e.key, false) + end + call(jin.core.onEvent, e) + end + step() + dt = jin.time.getDelta() + call(jin.core.onUpdate, dt) + jin.graphics.clear() + call(jin.core.onDraw) + jin.graphics.present() + jin.time.sleep(0.001) + end +end + +------------------------------------------------------------------------- +-- Boot game +------------------------------------------------------------------------- + +-- Display error message. +local function onError(msg) + jin.audio.destroy() + jin.graphics.showWindow() + local err = "Error:\n" .. msg .. "\n" .. debug.traceback() + jin.graphics.reset() + jin.graphics.setClearColor(100, 100, 100, 255) + jin.graphics.clear() + jin.graphics.print(err, 5, 5) + jin.graphics.present() + while jin.core.running() do + for _, e in pairs(jin.event.poll()) do + if e.type == "Quit" then + jin.core.stop() + end + end + jin.time.sleep(0.001) + end +end + +-- No game screen. +local function noGame() + jin.graphics.showWindow() + jin.graphics.reset() + jin.graphics.setClearColor(100, 100, 100, 255) + jin.graphics.clear() + jin.graphics.print("No Game", 5, 5) + jin.graphics.present() + while jin.core.running() do + for _, e in pairs(jin.event.poll()) do + if e.type == "Quit" then + jin.core.stop() + end + end + jin.time.sleep(0.001) + end +end + +local function boot() + if jin.filesystem.exist("main.lua") then + call(function() + require"main" + jin.core.run() + end) + else + noGame() + end +end + +------------------------------------------------------------------------- +-- Initialize sub systems +------------------------------------------------------------------------- + +jin.audio.init() +jin.graphics.init(jin.config) + +------------------------------------------------------------------------- +-- Boot game +------------------------------------------------------------------------- + +xpcall(boot, onError) + +------------------------------------------------------------------------- +-- Destroy sub-systems +------------------------------------------------------------------------- + +jin.graphics.destroy() +jin.audio.destroy() + +------------------------------------------------------------------------- +-- Quit game +------------------------------------------------------------------------- + +jin.core.quit() + +)";
\ No newline at end of file diff --git a/src/lua/embed/scripts/graphics.lua b/src/lua/embed/scripts/graphics.lua new file mode 100644 index 0000000..0a66127 --- /dev/null +++ b/src/lua/embed/scripts/graphics.lua @@ -0,0 +1,139 @@ +/* graphics.lua */ +static const char* graphics_lua = R"( +jin.graphics = jin.graphics or {} + +local jg = jin.graphics + +jg.RenderMode = { + FILL = 1, + LINE = 2, +} + +jg.SpriteOrigin = { + TOPLEFT = 0, + TOPCENTER = 1, + TOPRIGHT = 2, + MIDDLELEFT = 3, + MIDDLECENTER = 4, + MIDDLERIGHT = 5, + BOTTOMLEFT = 6, + BOTTOMCENTER = 7, + BOTTOMRIGHT = 8 +} + +jg.SpriteMode = { + SINGLE = 1, + RANDOM = 2, + ANIMATED = 3 +} + +-- built in shaders +jg.Shaders = { + Font = nil, + Texture = nil, + Sprite = nil, + SpriteSheet = nil, + Default = nil +} + +local function compileBuiltInShaders() + jg.Shaders.Font = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return Color(col.rgb, texel(tex, v.uv).a); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.Texture = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.Sprite = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.SpriteSheet = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.Default = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) +end + +local _init = jg.init +local initialized = false +jg.init = function(setting) + if initialized then + return initialized + end + initialized = _init(setting) + if initialized then + compileBuiltInShaders() + jg.useShader(jg.Shaders.Default) + end + return initialized +end + +jg.unuseShader = function() + jg.useShader(jg.Shaders.Default) +end + +-- Reset all attributes to default value. +jg.reset = function() + jg.setColor(255, 255, 255, 255) + jg.setClearColor(0, 0, 0, 255) + jg.clear() + jg.unsetFont() + jg.unuseShader() +end + +)";
\ No newline at end of file diff --git a/src/lua/embed/scripts/graphics.lua.h b/src/lua/embed/scripts/graphics.lua.h index 1dddbf5..0a66127 100644 --- a/src/lua/embed/scripts/graphics.lua.h +++ b/src/lua/embed/scripts/graphics.lua.h @@ -27,44 +27,104 @@ jg.SpriteMode = { ANIMATED = 3 } -local default_shader = nil -local default_shader_source = [[ -#VERTEX_SHADER - -Vertex vert(Vertex v) -{ - return v; +-- built in shaders +jg.Shaders = { + Font = nil, + Texture = nil, + Sprite = nil, + SpriteSheet = nil, + Default = nil } -#END_VERTEX_SHADER - -#FRAGMENT_SHADER - -Color frag(Color col, Texture tex, Vertex v) -{ - return col * texel(tex, v.uv); -} - -#END_FRAGMENT_SHADER -]] +local function compileBuiltInShaders() + jg.Shaders.Font = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return Color(col.rgb, texel(tex, v.uv).a); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.Texture = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.Sprite = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.SpriteSheet = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) + jg.Shaders.Default = jg.newShader([[ + #VERTEX_SHADER + Vertex vert(Vertex v) + { + return v; + } + #END_VERTEX_SHADER + #FRAGMENT_SHADER + Color frag(Color col, Texture tex, Vertex v) + { + return col * texel(tex, v.uv); + } + #END_FRAGMENT_SHADER + ]]) +end local _init = jg.init local initialized = false - jg.init = function(setting) if initialized then return initialized end initialized = _init(setting) if initialized then - default_shader = jg.newShader(default_shader_source) - jg.useShader(default_shader) + compileBuiltInShaders() + jg.useShader(jg.Shaders.Default) end return initialized end jg.unuseShader = function() - jg.useShader(default_shader) + jg.useShader(jg.Shaders.Default) end -- Reset all attributes to default value. diff --git a/src/lua/embed/scripts/keyboard.lua b/src/lua/embed/scripts/keyboard.lua new file mode 100644 index 0000000..e989928 --- /dev/null +++ b/src/lua/embed/scripts/keyboard.lua @@ -0,0 +1,17 @@ + +static const char* keyboard_lua = R"( +jin.keyboard = jin.keyboard or {} + +local jk = jin.keyboard + +local keys = {} + +function jin.keyboard.isPressed(k) + return keys[k] +end + +function jin.keyboard.set(k, status) + keys[k] = status +end + +)"; diff --git a/src/lua/embed/scripts/mouse.lua b/src/lua/embed/scripts/mouse.lua new file mode 100644 index 0000000..ca070a3 --- /dev/null +++ b/src/lua/embed/scripts/mouse.lua @@ -0,0 +1,16 @@ +static const char* mouse_lua = R"( +jin.mouse = jin.mouse or {} + +local jm = jin.mouse + +local button = {} + +function jin.mouse.isDown(btn) + return button[btn] +end + +function jin.mouse.set(btn, status) + button[btn] = status +end + +)";
\ No newline at end of file diff --git a/src/lua/embed/scripts/net.lua b/src/lua/embed/scripts/net.lua new file mode 100644 index 0000000..a986ce6 --- /dev/null +++ b/src/lua/embed/scripts/net.lua @@ -0,0 +1,7 @@ +/* net.lua */ +static const char* net_lua = R"( +jin.net = jin.net or {} + +local jn = jin.net + +)";
\ No newline at end of file diff --git a/src/lua/embed/scripts/path.lua b/src/lua/embed/scripts/path.lua new file mode 100644 index 0000000..f7e1ec3 --- /dev/null +++ b/src/lua/embed/scripts/path.lua @@ -0,0 +1,16 @@ +/* path.lua */ +static const char* path_lua = R"( +jin.path = jin.path or {} + +local jp = jin.path + +-- game root directory +jin._root = nil + +-- return full path of a given path +function jin.path.full(path) + local root = jin._dir .. '/' .. jin._argv[2] + return root .. '/' .. path +end + +)";
\ No newline at end of file |