aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/SDL2.dllbin1242112 -> 1242112 bytes
-rw-r--r--bin/cembed.exebin0 -> 41984 bytes
-rw-r--r--bin/jin.exebin1675776 -> 1676800 bytes
-rw-r--r--bin/lua51.dllbin364544 -> 364544 bytes
-rw-r--r--build/vc++/3rdparty/cembed/cembed.vcxproj130
-rw-r--r--build/vc++/3rdparty/cembed/cembed.vcxproj.filters6
-rw-r--r--build/vc++/3rdparty/cembed/cembed.vcxproj.user4
-rw-r--r--build/vc++/jin.sln13
-rw-r--r--build/vc++/jin/jin.vcxproj2
-rw-r--r--build/vc++/libjin-lua/libjin-lua.vcxproj (renamed from build/vc++/jin.vcxproj)205
-rw-r--r--build/vc++/libjin-lua/libjin-lua.vcxproj.filters (renamed from build/vc++/jin.vcxproj.filters)208
-rw-r--r--build/vc++/libjin-lua/libjin-lua.vcxproj.user (renamed from build/vc++/jin.vcxproj.user)4
-rw-r--r--build/vc++/resource.hbin858 -> 0 bytes
-rw-r--r--src/3rdparty/cembed/cembed.c230
-rw-r--r--src/libjin/common/je_object.h1
-rw-r--r--src/lua/embed/scripts/ai.lua26
-rw-r--r--src/lua/embed/scripts/boot.lua139
-rw-r--r--src/lua/embed/scripts/graphics.lua139
-rw-r--r--src/lua/embed/scripts/graphics.lua.h104
-rw-r--r--src/lua/embed/scripts/keyboard.lua17
-rw-r--r--src/lua/embed/scripts/mouse.lua16
-rw-r--r--src/lua/embed/scripts/net.lua7
-rw-r--r--src/lua/embed/scripts/path.lua16
23 files changed, 1023 insertions, 244 deletions
diff --git a/bin/SDL2.dll b/bin/SDL2.dll
index 22a805d..1784df8 100644
--- a/bin/SDL2.dll
+++ b/bin/SDL2.dll
Binary files differ
diff --git a/bin/cembed.exe b/bin/cembed.exe
new file mode 100644
index 0000000..dd580c5
--- /dev/null
+++ b/bin/cembed.exe
Binary files differ
diff --git a/bin/jin.exe b/bin/jin.exe
index eb1ec38..9f205e0 100644
--- a/bin/jin.exe
+++ b/bin/jin.exe
Binary files differ
diff --git a/bin/lua51.dll b/bin/lua51.dll
index 080ff13..975804a 100644
--- a/bin/lua51.dll
+++ b/bin/lua51.dll
Binary files differ
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
deleted file mode 100644
index fdc6053..0000000
--- a/build/vc++/resource.h
+++ /dev/null
Binary files differ
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