diff options
73 files changed, 1315 insertions, 282 deletions
diff --git a/Build/Asura.Editor/Asura.Editor.vcxproj b/Build/Asura.Editor/Asura.Editor.vcxproj index c16be0a..cc38c61 100644 --- a/Build/Asura.Editor/Asura.Editor.vcxproj +++ b/Build/Asura.Editor/Asura.Editor.vcxproj @@ -76,6 +76,7 @@ <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> @@ -108,6 +109,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <EnableCOMDATFolding>true</EnableCOMDATFolding> @@ -115,6 +117,38 @@ </Link> </ItemDefinitionGroup> <ItemGroup> + <ClCompile Include="..\..\source\Asura.Editor\dui_module.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\editor.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\layout\vertical_layout.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\main.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\button.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\checkbox.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hslider.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hvslider.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\label.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\panel.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\progress.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\radio_button.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\textbox.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\vslider.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\source\Asura.Editor\dui_module.h" /> + <ClInclude Include="..\..\source\Asura.Editor\editor.h" /> + <ClInclude Include="..\..\source\Asura.Editor\layout\horizontal_layout.h" /> + <ClInclude Include="..\..\source\Asura.Editor\layout\vertical_layout.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\button.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\checkbox.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hslider.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hvslider.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\label.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\panel.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\progress.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\radio_button.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\textbox.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\vslider.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\widget.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/Build/Asura.Editor/Asura.Editor.vcxproj.filters b/Build/Asura.Editor/Asura.Editor.vcxproj.filters index 3c6f4fd..53931f0 100644 --- a/Build/Asura.Editor/Asura.Editor.vcxproj.filters +++ b/Build/Asura.Editor/Asura.Editor.vcxproj.filters @@ -1,17 +1,98 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <Filter Include="源文件"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + <Filter Include="widgets"> + <UniqueIdentifier>{a4345092-d09c-424c-8d7c-c076914fb6a2}</UniqueIdentifier> </Filter> - <Filter Include="头文件"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions> + <Filter Include="layout"> + <UniqueIdentifier>{7654ef3d-54c4-490f-bb24-e6a67bd63e1e}</UniqueIdentifier> </Filter> - <Filter Include="资源文件"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + <Filter Include="core"> + <UniqueIdentifier>{f67906bd-4f7c-4ac6-bca1-019617435a8b}</UniqueIdentifier> </Filter> </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\source\Asura.Editor\widgets\button.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\checkbox.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hslider.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hvslider.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\label.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\panel.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\textbox.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\vslider.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\progress.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp"> + <Filter>layout</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\layout\vertical_layout.cpp"> + <Filter>layout</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\radio_button.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\editor.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\main.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\dui_module.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\source\Asura.Editor\widgets\button.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\checkbox.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hslider.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hvslider.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\label.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\panel.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\textbox.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\vslider.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\widget.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\progress.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\layout\horizontal_layout.h"> + <Filter>layout</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\layout\vertical_layout.h"> + <Filter>layout</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\radio_button.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\editor.h" /> + <ClInclude Include="..\..\source\Asura.Editor\dui_module.h" /> + </ItemGroup> </Project>
\ No newline at end of file diff --git a/Build/Asura.sln b/Build/Asura.sln index f7ee2f4..fa2e5ca 100644 --- a/Build/Asura.sln +++ b/Build/Asura.sln @@ -75,6 +75,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Asura", "Asura\Asura.vcxpro EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-json", "libs\asura-lib-json\asura-lib-json.vcxproj", "{1B83A353-9694-42E0-997E-79E150E1C2E5}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-xml", "libs\asura-lib-xml\asura-lib-xml.vcxproj", "{AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyxml2", "3rd-party\tinyxml2\tinyxml2.vcxproj", "{883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-log", "libs\asura-lib-log\asura-lib-log.vcxproj", "{73B0F8AB-EF5A-412A-9E34-0FD2574766B7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -347,6 +353,30 @@ Global {1B83A353-9694-42E0-997E-79E150E1C2E5}.Release|x64.Build.0 = Release|x64 {1B83A353-9694-42E0-997E-79E150E1C2E5}.Release|x86.ActiveCfg = Release|Win32 {1B83A353-9694-42E0-997E-79E150E1C2E5}.Release|x86.Build.0 = Release|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x64.ActiveCfg = Debug|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x64.Build.0 = Debug|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x86.ActiveCfg = Debug|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x86.Build.0 = Debug|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x64.ActiveCfg = Release|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x64.Build.0 = Release|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x86.ActiveCfg = Release|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x86.Build.0 = Release|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x64.ActiveCfg = Debug|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x64.Build.0 = Debug|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x86.ActiveCfg = Debug|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x86.Build.0 = Debug|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x64.ActiveCfg = Release|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x64.Build.0 = Release|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x86.ActiveCfg = Release|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x86.Build.0 = Release|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x64.ActiveCfg = Debug|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x64.Build.0 = Debug|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x86.ActiveCfg = Debug|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x86.Build.0 = Debug|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x64.ActiveCfg = Release|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x64.Build.0 = Release|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x86.ActiveCfg = Release|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -380,6 +410,9 @@ Global {41599A7C-B1F2-4D95-90CF-DB74AC4C7FA5} = {E068D138-C824-4365-B5A3-27C65E8FD0B5} {38090AEB-3AA9-489B-BBEC-0CEDF9EAC0DE} = {E068D138-C824-4365-B5A3-27C65E8FD0B5} {1B83A353-9694-42E0-997E-79E150E1C2E5} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226} = {64D4E4B2-4A60-46F4-A500-370EFED4524F} + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {331032D8-F7CC-43E3-A03B-67108767F96B} diff --git a/Source/Asura.Editor/main.cpp b/Source/Asura.Editor/main.cpp index e69de29..cfe59ac 100644 --- a/Source/Asura.Editor/main.cpp +++ b/Source/Asura.Editor/main.cpp @@ -0,0 +1,10 @@ +/// +/// ༭ĽͨdirectUIʵ֣Ⱦasura-libϣ¼Ӧͨwin32APIʵ֡ +/// + +int main(int argn, char* args[]) +{ + + + +}
\ No newline at end of file diff --git a/bin/win64/02-luax.exe b/bin/win64/02-luax.exe Binary files differnew file mode 100644 index 0000000..6a06082 --- /dev/null +++ b/bin/win64/02-luax.exe diff --git a/build/3rd-party/tinyxml2/tinyxml2.vcxproj b/build/3rd-party/tinyxml2/tinyxml2.vcxproj new file mode 100644 index 0000000..a662caf --- /dev/null +++ b/build/3rd-party/tinyxml2/tinyxml2.vcxproj @@ -0,0 +1,122 @@ +<?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>{883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}</ProjectGuid> + <RootNamespace>tinyxml2</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 /> + <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)'=='Debug|Win32'"> + <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> + </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> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/build/3rd-party/tinyxml2/tinyxml2.vcxproj.filters b/build/3rd-party/tinyxml2/tinyxml2.vcxproj.filters new file mode 100644 index 0000000..3c6f4fd --- /dev/null +++ b/build/3rd-party/tinyxml2/tinyxml2.vcxproj.filters @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="源文件"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="头文件"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions> + </Filter> + <Filter Include="资源文件"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/build/3rd-party/tinyxml2/tinyxml2.vcxproj.user b/build/3rd-party/tinyxml2/tinyxml2.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/3rd-party/tinyxml2/tinyxml2.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/Asura.Editor/Asura.Editor.vcxproj b/build/Asura.Editor/Asura.Editor.vcxproj index c16be0a..cc38c61 100644 --- a/build/Asura.Editor/Asura.Editor.vcxproj +++ b/build/Asura.Editor/Asura.Editor.vcxproj @@ -76,6 +76,7 @@ <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> @@ -108,6 +109,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <EnableCOMDATFolding>true</EnableCOMDATFolding> @@ -115,6 +117,38 @@ </Link> </ItemDefinitionGroup> <ItemGroup> + <ClCompile Include="..\..\source\Asura.Editor\dui_module.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\editor.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\layout\vertical_layout.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\main.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\button.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\checkbox.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hslider.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hvslider.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\label.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\panel.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\progress.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\radio_button.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\textbox.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\widgets\vslider.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\source\Asura.Editor\dui_module.h" /> + <ClInclude Include="..\..\source\Asura.Editor\editor.h" /> + <ClInclude Include="..\..\source\Asura.Editor\layout\horizontal_layout.h" /> + <ClInclude Include="..\..\source\Asura.Editor\layout\vertical_layout.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\button.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\checkbox.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hslider.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hvslider.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\label.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\panel.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\progress.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\radio_button.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\textbox.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\vslider.h" /> + <ClInclude Include="..\..\source\Asura.Editor\widgets\widget.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/build/Asura.Editor/Asura.Editor.vcxproj.filters b/build/Asura.Editor/Asura.Editor.vcxproj.filters index 3c6f4fd..53931f0 100644 --- a/build/Asura.Editor/Asura.Editor.vcxproj.filters +++ b/build/Asura.Editor/Asura.Editor.vcxproj.filters @@ -1,17 +1,98 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <Filter Include="源文件"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + <Filter Include="widgets"> + <UniqueIdentifier>{a4345092-d09c-424c-8d7c-c076914fb6a2}</UniqueIdentifier> </Filter> - <Filter Include="头文件"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions> + <Filter Include="layout"> + <UniqueIdentifier>{7654ef3d-54c4-490f-bb24-e6a67bd63e1e}</UniqueIdentifier> </Filter> - <Filter Include="资源文件"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + <Filter Include="core"> + <UniqueIdentifier>{f67906bd-4f7c-4ac6-bca1-019617435a8b}</UniqueIdentifier> </Filter> </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\source\Asura.Editor\widgets\button.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\checkbox.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hslider.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\hvslider.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\label.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\panel.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\textbox.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\vslider.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\progress.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\layout\horizontal_layout.cpp"> + <Filter>layout</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\layout\vertical_layout.cpp"> + <Filter>layout</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\widgets\radio_button.cpp"> + <Filter>widgets</Filter> + </ClCompile> + <ClCompile Include="..\..\source\Asura.Editor\editor.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\main.cpp" /> + <ClCompile Include="..\..\source\Asura.Editor\dui_module.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\source\Asura.Editor\widgets\button.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\checkbox.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hslider.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\hvslider.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\label.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\panel.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\textbox.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\vslider.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\widget.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\progress.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\layout\horizontal_layout.h"> + <Filter>layout</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\layout\vertical_layout.h"> + <Filter>layout</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\widgets\radio_button.h"> + <Filter>widgets</Filter> + </ClInclude> + <ClInclude Include="..\..\source\Asura.Editor\editor.h" /> + <ClInclude Include="..\..\source\Asura.Editor\dui_module.h" /> + </ItemGroup> </Project>
\ No newline at end of file diff --git a/build/Asura.sln b/build/Asura.sln index f7ee2f4..fa2e5ca 100644 --- a/build/Asura.sln +++ b/build/Asura.sln @@ -75,6 +75,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Asura", "Asura\Asura.vcxpro EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-json", "libs\asura-lib-json\asura-lib-json.vcxproj", "{1B83A353-9694-42E0-997E-79E150E1C2E5}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-xml", "libs\asura-lib-xml\asura-lib-xml.vcxproj", "{AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyxml2", "3rd-party\tinyxml2\tinyxml2.vcxproj", "{883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-log", "libs\asura-lib-log\asura-lib-log.vcxproj", "{73B0F8AB-EF5A-412A-9E34-0FD2574766B7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -347,6 +353,30 @@ Global {1B83A353-9694-42E0-997E-79E150E1C2E5}.Release|x64.Build.0 = Release|x64 {1B83A353-9694-42E0-997E-79E150E1C2E5}.Release|x86.ActiveCfg = Release|Win32 {1B83A353-9694-42E0-997E-79E150E1C2E5}.Release|x86.Build.0 = Release|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x64.ActiveCfg = Debug|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x64.Build.0 = Debug|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x86.ActiveCfg = Debug|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Debug|x86.Build.0 = Debug|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x64.ActiveCfg = Release|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x64.Build.0 = Release|x64 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x86.ActiveCfg = Release|Win32 + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}.Release|x86.Build.0 = Release|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x64.ActiveCfg = Debug|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x64.Build.0 = Debug|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x86.ActiveCfg = Debug|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Debug|x86.Build.0 = Debug|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x64.ActiveCfg = Release|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x64.Build.0 = Release|x64 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x86.ActiveCfg = Release|Win32 + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226}.Release|x86.Build.0 = Release|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x64.ActiveCfg = Debug|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x64.Build.0 = Debug|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x86.ActiveCfg = Debug|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Debug|x86.Build.0 = Debug|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x64.ActiveCfg = Release|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x64.Build.0 = Release|x64 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x86.ActiveCfg = Release|Win32 + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -380,6 +410,9 @@ Global {41599A7C-B1F2-4D95-90CF-DB74AC4C7FA5} = {E068D138-C824-4365-B5A3-27C65E8FD0B5} {38090AEB-3AA9-489B-BBEC-0CEDF9EAC0DE} = {E068D138-C824-4365-B5A3-27C65E8FD0B5} {1B83A353-9694-42E0-997E-79E150E1C2E5} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} + {AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} + {883BC26A-4C9E-44B3-B5C0-7F3E4EDC0226} = {64D4E4B2-4A60-46F4-A500-370EFED4524F} + {73B0F8AB-EF5A-412A-9E34-0FD2574766B7} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {331032D8-F7CC-43E3-A03B-67108767F96B} diff --git a/build/libs/asura-lib-core/asura-lib-core.vcxproj b/build/libs/asura-lib-core/asura-lib-core.vcxproj index 62d3815..a5dd696 100644 --- a/build/libs/asura-lib-core/asura-lib-core.vcxproj +++ b/build/libs/asura-lib-core/asura-lib-core.vcxproj @@ -120,6 +120,7 @@ <ClCompile Include="..\..\..\source\libs\asura-lib-core\application.cpp" /> <ClCompile Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_application.cpp" /> <ClCompile Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_cursor.cpp" /> + <ClCompile Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_thread.cpp" /> <ClCompile Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_window.cpp" /> <ClCompile Include="..\..\..\source\libs\asura-lib-core\core_module.cpp" /> <ClCompile Include="..\..\..\source\libs\asura-lib-core\font\glyph.cpp" /> @@ -162,12 +163,12 @@ </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\source\libs\asura-lib-core\application.h" /> - <ClInclude Include="..\..\..\source\libs\asura-lib-core\asura.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\client\client.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_application.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_cursor.h" /> + <ClInclude Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_thread.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_window.h" /> - <ClInclude Include="..\..\..\source\libs\asura-lib-core\config.h" /> + <ClInclude Include="..\..\..\source\libs\asura-lib-core\core_config.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\core_module.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\font\glyph.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\font\string.hpp" /> diff --git a/build/libs/asura-lib-core/asura-lib-core.vcxproj.filters b/build/libs/asura-lib-core/asura-lib-core.vcxproj.filters index 2948753..ae0aace 100644 --- a/build/libs/asura-lib-core/asura-lib-core.vcxproj.filters +++ b/build/libs/asura-lib-core/asura-lib-core.vcxproj.filters @@ -150,10 +150,12 @@ <Filter>client\sdl</Filter> </ClCompile> <ClCompile Include="..\..\..\source\libs\asura-lib-core\core_module.cpp" /> + <ClCompile Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_thread.cpp"> + <Filter>client\sdl</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\source\libs\asura-lib-core\application.h" /> - <ClInclude Include="..\..\..\source\libs\asura-lib-core\asura.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\manager.hpp" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\singleton.hpp" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\stringmap.hpp" /> @@ -268,9 +270,12 @@ <ClInclude Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_window.h"> <Filter>client\sdl</Filter> </ClInclude> - <ClInclude Include="..\..\..\source\libs\asura-lib-core\config.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\core_module.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-core\type.h" /> + <ClInclude Include="..\..\..\source\libs\asura-lib-core\client\sdl\sdl_thread.h"> + <Filter>client\sdl</Filter> + </ClInclude> + <ClInclude Include="..\..\..\source\libs\asura-lib-core\core_config.h" /> </ItemGroup> <ItemGroup> <None Include="..\..\..\source\libs\asura-lib-core\input\cursor.defs"> diff --git a/build/libs/asura-lib-json/asura-lib-json.vcxproj b/build/libs/asura-lib-json/asura-lib-json.vcxproj index 7a2d92d..168ea89 100644 --- a/build/libs/asura-lib-json/asura-lib-json.vcxproj +++ b/build/libs/asura-lib-json/asura-lib-json.vcxproj @@ -76,6 +76,7 @@ <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> @@ -108,6 +109,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <EnableCOMDATFolding>true</EnableCOMDATFolding> diff --git a/build/libs/asura-lib-log/asura-lib-log.vcxproj b/build/libs/asura-lib-log/asura-lib-log.vcxproj new file mode 100644 index 0000000..3f891f1 --- /dev/null +++ b/build/libs/asura-lib-log/asura-lib-log.vcxproj @@ -0,0 +1,122 @@ +<?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>{73B0F8AB-EF5A-412A-9E34-0FD2574766B7}</ProjectGuid> + <RootNamespace>asuraliblog</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 /> + <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)'=='Debug|Win32'"> + <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> + </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> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/build/libs/asura-lib-log/asura-lib-log.vcxproj.filters b/build/libs/asura-lib-log/asura-lib-log.vcxproj.filters new file mode 100644 index 0000000..3c6f4fd --- /dev/null +++ b/build/libs/asura-lib-log/asura-lib-log.vcxproj.filters @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="源文件"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="头文件"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions> + </Filter> + <Filter Include="资源文件"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/build/libs/asura-lib-log/asura-lib-log.vcxproj.user b/build/libs/asura-lib-log/asura-lib-log.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/libs/asura-lib-log/asura-lib-log.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/libs/asura-lib-utils/asura-lib-utils.vcxproj b/build/libs/asura-lib-utils/asura-lib-utils.vcxproj index 7e3d4a4..094fcb8 100644 --- a/build/libs/asura-lib-utils/asura-lib-utils.vcxproj +++ b/build/libs/asura-lib-utils/asura-lib-utils.vcxproj @@ -145,7 +145,6 @@ <ClInclude Include="..\..\..\source\libs\asura-lib-utils\math\vector3.hpp" /> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\math\vector4.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\module.h" /> - <ClInclude Include="..\..\..\source\libs\asura-lib-utils\scripting\luax.hpp" /> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\scripting\portable.hpp" /> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\type.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\utils.h" /> diff --git a/build/libs/asura-lib-utils/asura-lib-utils.vcxproj.filters b/build/libs/asura-lib-utils/asura-lib-utils.vcxproj.filters index 94c9497..86bd1ff 100644 --- a/build/libs/asura-lib-utils/asura-lib-utils.vcxproj.filters +++ b/build/libs/asura-lib-utils/asura-lib-utils.vcxproj.filters @@ -93,16 +93,13 @@ <ClInclude Include="..\..\..\source\libs\asura-lib-utils\math\vector4.h"> <Filter>math</Filter> </ClInclude> - <ClInclude Include="..\..\..\source\libs\asura-lib-utils\scripting\luax.hpp"> - <Filter>scripting</Filter> - </ClInclude> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\scripting\portable.hpp"> <Filter>scripting</Filter> </ClInclude> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\type.h" /> - <ClInclude Include="..\..\..\source\libs\asura-lib-utils\module.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\utils.h" /> <ClInclude Include="..\..\..\source\libs\asura-lib-utils\utils_module.h" /> + <ClInclude Include="..\..\..\source\libs\asura-lib-utils\module.h" /> </ItemGroup> <ItemGroup> <None Include="..\..\..\source\libs\asura-lib-utils\math\rect.inl"> diff --git a/build/libs/asura-lib-xml/asura-lib-xml.vcxproj b/build/libs/asura-lib-xml/asura-lib-xml.vcxproj new file mode 100644 index 0000000..112bc8f --- /dev/null +++ b/build/libs/asura-lib-xml/asura-lib-xml.vcxproj @@ -0,0 +1,122 @@ +<?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>{AB4F8F4A-73B5-4EFF-BD5D-448A3E39C60A}</ProjectGuid> + <RootNamespace>asuralibxml</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 /> + <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)'=='Debug|Win32'"> + <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> + </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> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/build/libs/asura-lib-xml/asura-lib-xml.vcxproj.filters b/build/libs/asura-lib-xml/asura-lib-xml.vcxproj.filters new file mode 100644 index 0000000..3c6f4fd --- /dev/null +++ b/build/libs/asura-lib-xml/asura-lib-xml.vcxproj.filters @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="源文件"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="头文件"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions> + </Filter> + <Filter Include="资源文件"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/build/libs/asura-lib-xml/asura-lib-xml.vcxproj.user b/build/libs/asura-lib-xml/asura-lib-xml.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/libs/asura-lib-xml/asura-lib-xml.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/tests/02-luax/02-luax.vcxproj b/build/tests/02-luax/02-luax.vcxproj index aa14357..5a79408 100644 --- a/build/tests/02-luax/02-luax.vcxproj +++ b/build/tests/02-luax/02-luax.vcxproj @@ -69,13 +69,19 @@ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> <PropertyGroup Label="UserMacros" /> - <PropertyGroup /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <OutDir>$(SolutionDir)..\Bin\win64</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <OutDir>$(SolutionDir)..\Bin\win64</OutDir> + </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> @@ -108,6 +114,7 @@ <IntrinsicFunctions>true</IntrinsicFunctions> <SDLCheck>true</SDLCheck> <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)..\source\3rd-party;$(SolutionDir)..\source\libs;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <EnableCOMDATFolding>true</EnableCOMDATFolding> @@ -115,6 +122,21 @@ </Link> </ItemDefinitionGroup> <ItemGroup> + <ClInclude Include="..\..\..\source\tests\02-luax\header.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\source\tests\02-luax\main.cpp" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\..\source\tests\02-luax\script.lua" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\3rd-party\lua51\lua51.vcxproj"> + <Project>{8b8fca14-fc8a-45b4-bf3c-9340cb586076}</Project> + </ProjectReference> + <ProjectReference Include="..\..\3rd-party\Luax\Luax.vcxproj"> + <Project>{1350cee9-b2c2-426a-af4e-f651d51dd592}</Project> + </ProjectReference> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/build/tests/02-luax/02-luax.vcxproj.filters b/build/tests/02-luax/02-luax.vcxproj.filters index 3c6f4fd..67f1e4d 100644 --- a/build/tests/02-luax/02-luax.vcxproj.filters +++ b/build/tests/02-luax/02-luax.vcxproj.filters @@ -1,17 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <Filter Include="源文件"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="头文件"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions> - </Filter> - <Filter Include="资源文件"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> + <ClInclude Include="..\..\..\source\tests\02-luax\header.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\source\tests\02-luax\main.cpp" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\..\source\tests\02-luax\script.lua" /> </ItemGroup> </Project>
\ No newline at end of file diff --git a/build/包含目录.txt b/build/包含目录.txt deleted file mode 100644 index 6b2716e..0000000 --- a/build/包含目录.txt +++ /dev/null @@ -1,4 +0,0 @@ -$(SolutionDir)..\source\3rd-party - -$(SolutionDir)..\source\libs - diff --git a/source/3rd-party/Luax/luax_class.hpp b/source/3rd-party/Luax/luax_class.hpp index ea1fab9..539ff1a 100644 --- a/source/3rd-party/Luax/luax_class.hpp +++ b/source/3rd-party/Luax/luax_class.hpp @@ -35,15 +35,32 @@ namespace Luax static const char* GetLuaxClassName() { return #type; }; \ static bool IsLuaxClassSingleton() { return true; }; + /// + /// ʵֵĺꡣһL + /// #define LUAX_IMPL_METHOD(type, f) int type::f(lua_State* L) + /// + /// Ӧóʵֵӿڡһstate + /// #define LUAX_REGISTRY(type) void type::RegisterLuaxClass(Luax::LuaxState& state) - #define LUAX_POSTPROCESS(type) void type::RegisterLuaxPostprocess(Luax::LuaxState& state) -#define LUAX_REGISTER_FACTORY(stt, type) stt.RegisterFactory<type>() - -#define LUAX_REGISTER_SINGLETON(stt, type) stt.RegisterSingleton<type>() + /// + /// עĺꡣ + /// +#define LUAX_REGISTER_FACTORY(state, type) state.RegisterFactory<type>() +#define LUAX_REGISTER_SINGLETON(state, type) state.RegisterSingleton<type>() +#define LUAX_REGISTER_METHODS(state, ...) \ + do{ \ + luaL_Reg __m[] = {__VA_ARGS__,{0, 0}}; \ + state.RegisterMethods(__m); \ + }while(0) +#define LUAX_REGISTER_ENUM(state, name, ...) \ + do{ \ + Luax::LuaxEnum __e[] = {__VA_ARGS__,{0, 0}}; \ + state.RegisterEnum(name, __e); \ + }while(0) /// /// Ҫ¶luanative classҪ̳дࡣͨluaʵҪȷüȷԣڶ߳Ҫȷͷš diff --git a/source/3rd-party/Luax/luax_class.inl b/source/3rd-party/Luax/luax_class.inl index 028d4f9..7a24896 100644 --- a/source/3rd-party/Luax/luax_class.inl +++ b/source/3rd-party/Luax/luax_class.inl @@ -206,7 +206,7 @@ namespace Luax assert(!mUserdata); // userdataջ - state.PushPtrUserData(this); + state.PushPtrUserdata(this); lua_newtable(state); // ref tableluaʣC lua_newtable(state); // member tableluaдĶԱ @@ -308,7 +308,7 @@ namespace Luax int LuaxNativeClass<T>::l___gc(lua_State* L) { LUAX_SETUP(L, "U"); - T* self = state.GetLuaUserdata<T>(1); + T* self = state.GetUserdata<T>(1); delete self; return 0; } @@ -324,7 +324,7 @@ namespace Luax // 1: userdata LUAX_STATE(L); - T* self = state.GetLuaUserdata<T>(1); + T* self = state.GetUserdata<T>(1); if (self) { cc8* classname = ""; @@ -464,7 +464,7 @@ namespace Luax int LuaxNativeClass<T>::l_GetRefTable(lua_State* L) { LUAX_STATE(L); - T* self = state.GetLuaUserdata<T>(1); + T* self = state.GetUserdata<T>(1); bool success = self->PushLuaxRefTable(state); if (!success) lua_pushnil(L); diff --git a/source/3rd-party/Luax/luax_config.h b/source/3rd-party/Luax/luax_config.h index c6562cc..d95ae8b 100644 --- a/source/3rd-party/Luax/luax_config.h +++ b/source/3rd-party/Luax/luax_config.h @@ -53,7 +53,7 @@ namespace Luax #define LUAX_ENABLE_NATIVE_EXTEND 0 #define LUAX_ENABLE_PLAIN_CLASS 1 -#define LUAX_ENABLE_PLAIN_ENABLE 1 +#define LUAX_ENABLE_PLAIN_ENUM 1 } diff --git a/source/3rd-party/Luax/luax_enum.cpp b/source/3rd-party/Luax/luax_enum.cpp index 88bbab4..b054d98 100644 --- a/source/3rd-party/Luax/luax_enum.cpp +++ b/source/3rd-party/Luax/luax_enum.cpp @@ -35,7 +35,7 @@ namespace Luax } //-------------------------------------------------------------------------------------------------------------- -#if LUAX_ENABLE_PLAIN_ENABLE +#if LUAX_ENABLE_PLAIN_ENUM int LuaxPlainEnum::registry(lua_State* L) { // params: diff --git a/source/3rd-party/Luax/luax_enum.h b/source/3rd-party/Luax/luax_enum.h index 36f6bab..c385dc5 100644 --- a/source/3rd-party/Luax/luax_enum.h +++ b/source/3rd-party/Luax/luax_enum.h @@ -20,7 +20,7 @@ namespace Luax extern int l_rmt__newindex(lua_State* L); //-------------------------------------------------------------------------------------------------------------- -#if LUAX_ENABLE_PLAIN_ENABLE +#if LUAX_ENABLE_PLAIN_ENUM /// /// luaö٣ĵtable /// diff --git a/source/3rd-party/Luax/luax_state.cpp b/source/3rd-party/Luax/luax_state.cpp index 881aaea..622f352 100644 --- a/source/3rd-party/Luax/luax_state.cpp +++ b/source/3rd-party/Luax/luax_state.cpp @@ -596,15 +596,6 @@ namespace Luax return value; } - template<> - int LuaxState::GetValue<int>(int idx, int value) - { - if (this->IsType(idx, LUA_TNUMBER)) { - return (int)lua_tointeger(this->mState, idx); - } - return value; - } - template <> u16 LuaxState::GetValue < u16 >(int idx, const u16 value) { @@ -641,7 +632,7 @@ namespace Luax return value; } - void LuaxState::PushPtrUserData(void* ptr) { + void LuaxState::PushPtrUserdata(void* ptr) { void** handle = (void**)lua_newuserdata(this->mState, sizeof(void*)); assert(handle); @@ -725,7 +716,7 @@ namespace Luax } #endif -#if LUAX_ENABLE_PLAIN_ENABLE +#if LUAX_ENABLE_PLAIN_ENUM void LuaxState::RegisterPlainEnumRegistry(cc8* name) { assert(lua_istable(mState, -1)); @@ -734,4 +725,113 @@ namespace Luax } #endif + int LuaxState::ErrorType(int idx, cc8* hint) + { + return luaL_typerror(mState, idx, hint); + } + + template <> + bool LuaxState::CheckParam < bool >(int idx) + { + bool b = false; + if (lua_type(mState, idx) == LUA_TBOOLEAN) + { + b = lua_toboolean(mState, idx); + } + else + { + luaL_typerror(mState, idx, lua_typename(mState, LUA_TBOOLEAN)); + } + return b; + } + + template <> + cc8* LuaxState::CheckParam < cc8* >(int idx) + { + return luaL_checkstring(mState, idx); + } + + template <> + double LuaxState::CheckParam < double >(int idx) + { + return luaL_checknumber(mState, idx); + } + + template <> + float LuaxState::CheckParam < float >(int idx) + { + return luaL_checknumber(mState, idx); + } + + template <> + s8 LuaxState::CheckParam < s8 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + s16 LuaxState::CheckParam < s16 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + s32 LuaxState::CheckParam < s32 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + s64 LuaxState::CheckParam < s64 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + u8 LuaxState::CheckParam < u8 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + u16 LuaxState::CheckParam < u16 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + u32 LuaxState::CheckParam < u32 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + u64 LuaxState::CheckParam < u64 >(int idx) + { + return luaL_checkinteger(mState, idx); + } + + template <> + std::string LuaxState::CheckParam < std::string >(int idx) + { + return luaL_checkstring(mState, idx); + } + + /// + /// check light userdata + /// + template <> + const void* LuaxState::CheckParam < const void* >(int idx) + { + if (IsType(idx, LUA_TLIGHTUSERDATA)) + { + return GetValue<const void*>(idx, nullptr); + } + else + { + luaL_typerror(mState, idx, "light userdata"); + return nullptr; + } + } + }
\ No newline at end of file diff --git a/source/3rd-party/Luax/luax_state.h b/source/3rd-party/Luax/luax_state.h index fbe424b..564eba3 100644 --- a/source/3rd-party/Luax/luax_state.h +++ b/source/3rd-party/Luax/luax_state.h @@ -107,13 +107,17 @@ namespace Luax /// /// void** ʽuserdataֵΪptr /// - void PushPtrUserData(void* ptr); + void PushPtrUserdata(void* ptr); void Pop(int n = 1); void Settop(int idx); - template<typename T> T* GetLuaUserdata(int idx = 1); + template<typename T> T* GetUserdata(int idx = 1); + + //------------------------------------------------------------------------------------------------------------ + + int ErrorType(int idx, cc8* hint); //------------------------------------------------------------------------------------------------------------ @@ -123,6 +127,9 @@ namespace Luax template<typename T> void SetField(int idx, cc8* key, T value); template<typename T> void SetFieldByIndex(int idx, int key, T value); + template<typename T> T* CheckUserdata(int idx); + template<typename T> T CheckParam(int idx); + //------------------------------------------------------------------------------------------------------------ void DoString(const std::string& code); @@ -175,7 +182,7 @@ namespace Luax void RegisterPlainClassRegistry(cc8* name); #endif -#if LUAX_ENABLE_PLAIN_ENABLE +#if LUAX_ENABLE_PLAIN_ENUM /// /// עᴿluaö٣Էֹöֵ /// @@ -203,7 +210,7 @@ namespace Luax }; //-------------------------------------------------------------------------------------------------------------- - // GetValue()ģػ + // GetValue()ģʵ template <> bool LuaxState::GetValue < bool >(int idx, const bool value); template <> cc8* LuaxState::GetValue < cc8* >(int idx, const cc8* value); @@ -219,8 +226,24 @@ namespace Luax template <> u64 LuaxState::GetValue < u64 >(int idx, const u64 value); template <> std::string LuaxState::GetValue < std::string >(int idx, const std::string value); template <> const void* LuaxState::GetValue < const void* >(int idx, const void* value); - template <> int LuaxState::GetValue < int >(int idx, int value); + //-------------------------------------------------------------------------------------------------------------- + // CheckParamģʵ + + template <> bool LuaxState::CheckParam < bool >(int idx); + template <> cc8* LuaxState::CheckParam < cc8* >(int idx); + template <> double LuaxState::CheckParam < double >(int idx); + template <> float LuaxState::CheckParam < float >(int idx); + template <> s8 LuaxState::CheckParam < s8 >(int idx); + template <> s16 LuaxState::CheckParam < s16 >(int idx); + template <> s32 LuaxState::CheckParam < s32 >(int idx); + template <> s64 LuaxState::CheckParam < s64 >(int idx); + template <> u8 LuaxState::CheckParam < u8 >(int idx); + template <> u16 LuaxState::CheckParam < u16 >(int idx); + template <> u32 LuaxState::CheckParam < u32 >(int idx); + template <> u64 LuaxState::CheckParam < u64 >(int idx); + template <> std::string LuaxState::CheckParam < std::string >(int idx); + template <> const void* LuaxState::CheckParam < const void* >(int idx); /// /// ڳԱﴴLuaxStateԲм顣 diff --git a/source/3rd-party/Luax/luax_state.inl b/source/3rd-party/Luax/luax_state.inl index 06d9350..4af45a2 100644 --- a/source/3rd-party/Luax/luax_state.inl +++ b/source/3rd-party/Luax/luax_state.inl @@ -125,7 +125,7 @@ namespace Luax } template<typename T> - T* LuaxState::GetLuaUserdata(int idx) + T* LuaxState::GetUserdata(int idx) { void* p = nullptr; @@ -137,4 +137,33 @@ namespace Luax return static_cast<T*>(p); } + template<typename T> + T* LuaxState::CheckUserdata(int idx) + { + if (IsType(idx, LUA_TUSERDATA)) + { + if (lua_getmetatable(mState, idx)) // ref table + { + if (lua_getmetatable(mState, -1)) // member table + { + if (lua_getmetatable(mState, -1)) // class table + { + T::PushLuaxClassTable(*this); // target class table + if (lua_rawequal(mState, -1, -2)) + { + Pop(4); // ref\member\class\target class + T* udata = GetUserdata<T>(idx); + return udata; // userdata + } + Pop(2); // target class table\class table + } + Pop(1); // member table + } + Pop(1); // ref table + } + } + luaL_typerror(mState, idx, T::GetLuaxClassName()); + return nullptr; + } + }
\ No newline at end of file diff --git a/source/Asura.Editor/widgets/rbutton.cpp b/source/Asura.Editor/dui_module.cpp index e69de29..e69de29 100644 --- a/source/Asura.Editor/widgets/rbutton.cpp +++ b/source/Asura.Editor/dui_module.cpp diff --git a/source/Asura.Editor/dui_module.h b/source/Asura.Editor/dui_module.h new file mode 100644 index 0000000..abcaca5 --- /dev/null +++ b/source/Asura.Editor/dui_module.h @@ -0,0 +1,6 @@ +#ifndef __ASRUA_EDITOR_DIRECTUI_MODULE_H__ +#define __ASRUA_EDITOR_DIRECTUI_MODULE_H__ + + + +#endif
\ No newline at end of file diff --git a/source/Asura.Editor/editor.cpp b/source/Asura.Editor/editor.cpp index 29fb76d..38e7c26 100644 --- a/source/Asura.Editor/editor.cpp +++ b/source/Asura.Editor/editor.cpp @@ -1,5 +1,4 @@ - int main(int argc, char *argv[]) { diff --git a/source/Asura.Editor/editor.h b/source/Asura.Editor/editor.h new file mode 100644 index 0000000..6555c81 --- /dev/null +++ b/source/Asura.Editor/editor.h @@ -0,0 +1,17 @@ +#ifndef __ASURA_EDITOR_H__ +#define __ASURA_EDITOR_H__ + +namespace AsuraEditor +{ + + /// + /// + /// + class Editor + { + + }; + +} + +#endif
\ No newline at end of file diff --git a/source/Asura.Editor/widgets/rbutton.h b/source/Asura.Editor/layout/horizontal_layout.cpp index e69de29..e69de29 100644 --- a/source/Asura.Editor/widgets/rbutton.h +++ b/source/Asura.Editor/layout/horizontal_layout.cpp diff --git a/source/libs/asura-lib-utils/scripting/portable.inl b/source/Asura.Editor/layout/horizontal_layout.h index e69de29..e69de29 100644 --- a/source/libs/asura-lib-utils/scripting/portable.inl +++ b/source/Asura.Editor/layout/horizontal_layout.h diff --git a/source/Asura.Editor/layout/vertical_layout.cpp b/source/Asura.Editor/layout/vertical_layout.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/Asura.Editor/layout/vertical_layout.cpp diff --git a/source/Asura.Editor/layout/vertical_layout.h b/source/Asura.Editor/layout/vertical_layout.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/Asura.Editor/layout/vertical_layout.h diff --git a/source/Asura.Editor/main.cpp b/source/Asura.Editor/main.cpp index e69de29..cfe59ac 100644 --- a/source/Asura.Editor/main.cpp +++ b/source/Asura.Editor/main.cpp @@ -0,0 +1,10 @@ +/// +/// ༭ĽͨdirectUIʵ֣Ⱦasura-libϣ¼Ӧͨwin32APIʵ֡ +/// + +int main(int argn, char* args[]) +{ + + + +}
\ No newline at end of file diff --git a/source/Asura.Editor/widgets/progress.cpp b/source/Asura.Editor/widgets/progress.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/Asura.Editor/widgets/progress.cpp diff --git a/source/Asura.Editor/widgets/progress.h b/source/Asura.Editor/widgets/progress.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/Asura.Editor/widgets/progress.h diff --git a/source/Asura.Editor/widgets/radio_button.cpp b/source/Asura.Editor/widgets/radio_button.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/Asura.Editor/widgets/radio_button.cpp diff --git a/source/Asura.Editor/widgets/radio_button.h b/source/Asura.Editor/widgets/radio_button.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/Asura.Editor/widgets/radio_button.h diff --git a/source/Asura.Editor/widgets/widget.h b/source/Asura.Editor/widgets/widget.h index 437e2bf..5fb18f1 100644 --- a/source/Asura.Editor/widgets/widget.h +++ b/source/Asura.Editor/widgets/widget.h @@ -1,7 +1,7 @@ #ifndef __ASURA_EDITOR_WIDGET_H__ #define __ASURA_EDITOR_WIDGET_H__ -#include <Object.h> +#include <asura-lib-utils/type.h> namespace AusraEditor { @@ -9,7 +9,7 @@ namespace AusraEditor /// /// Asura EditorĿؼȾں¼ѯֻ¼Ӧӿڡ /// - class Widget : virtual public Object + ASURA_ABSTRACT class Widget { public: diff --git a/source/libs/asura-lib-core/application.cpp b/source/libs/asura-lib-core/application.cpp index 598bca8..0a1c1ef 100644 --- a/source/libs/asura-lib-core/application.cpp +++ b/source/libs/asura-lib-core/application.cpp @@ -20,40 +20,7 @@ namespace AsuraEngine bool Application::InitSubModules(uint flag) { - // ʼģ - #define TryInitSubModule(module_name, func_name) \ - if((flag&ASURA_MODULE_##module_name) && !Application::Init##func_name()) \ - throw Exception("Asura init submodule %s failed.", #module_name); - - TryInitSubModule(GRAPHICS, Graphics); - TryInitSubModule(AUDIO, Audio); - TryInitSubModule(FONT, Font); - TryInitSubModule(INPUT, Input); - TryInitSubModule(MATH, Math); - TryInitSubModule(PHYSICS, Physics); - TryInitSubModule(TIME, Time); - TryInitSubModule(WINDOW, Window); } - void Application::PortToLua() - { - LuaxState state(mLuaState); - -#define RegisterLuaFactory(T) state.RegisterFactory<T>(); - - state.SetToGlobalNamespace(); - state.PushNamespace("AsuraEngine"); - - RegisterLuaFactory(AEGraphics::Image>); - -#ifdef ASURA_AUTHOR - state.PushNamespace("Version"); - - state.PopNamespace(); // AsuraEngine.Version -#endif - - state.PopNamespace(); // AsuraEngine - } - }
\ No newline at end of file diff --git a/source/libs/asura-lib-core/application.h b/source/libs/asura-lib-core/application.h index 6ae3218..983dbce 100644 --- a/source/libs/asura-lib-core/application.h +++ b/source/libs/asura-lib-core/application.h @@ -5,7 +5,7 @@ #include <asura-lib-utils/module.h> #include <queue> -#include "config.h" +#include "core_config.h" namespace AsuraEngine { @@ -65,18 +65,6 @@ namespace AsuraEngine private: /// - /// ģʼڸģļʵ֡ - /// - bool InitGraphics(); - bool InitAudio(); - bool InitFont(); - bool InitInput(); - bool InitMath(); - bool InitPhysics(); - bool InitTime(); - bool InitWindow(); - - /// /// Lua state. /// lua_State* mLuaState; diff --git a/source/libs/asura-lib-core/asura.h b/source/libs/asura-lib-core/asura.h deleted file mode 100644 index 5ca56f3..0000000 --- a/source/libs/asura-lib-core/asura.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef __ASURA_ENGINE_H__ -#define __ASURA_ENGINE_H__ - -#include "Application.h" - -#include "Graphics/Shader.h" - -//namespace AEGraphics = AsuraEngine::Graphics; -//namespace AEMath = AsuraEngine::Math; -//namespace AETime = AsuraEngine::Time; -//namespace AEInput = AsuraEngine::Input; -//namespace AEProfiler = AsuraEngine::Profiler; -//namespace AEFont = AsuraEngine::Font; - -#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/client/client.h b/source/libs/asura-lib-core/client/client.h index f2464a5..8df30fe 100644 --- a/source/libs/asura-lib-core/client/client.h +++ b/source/libs/asura-lib-core/client/client.h @@ -1,16 +1,23 @@ #ifndef __ASURA_ENGINE_HOST_H__ #define __ASURA_ENGINE_HOST_H__ -/** -* ʹڿйص -*/ +#include <asura-lib-utils/type.h> +/// +/// ʹйصʵ֣ǵϷĿƽ̨ʹüֱʵ֡༭벻ڿƽ̨ڿ⣬Ŀǰʹwin32APIʵϢѭ +/// namespace AsuraEngine { - namespace Host + namespace Client { + /// + /// ࡣ + /// + ASURA_ABSTRACT class Client + { + }; } } diff --git a/source/libs/asura-lib-core/client/sdl/sdl_thread.cpp b/source/libs/asura-lib-core/client/sdl/sdl_thread.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/libs/asura-lib-core/client/sdl/sdl_thread.cpp diff --git a/source/libs/asura-lib-core/client/sdl/sdl_thread.h b/source/libs/asura-lib-core/client/sdl/sdl_thread.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/libs/asura-lib-core/client/sdl/sdl_thread.h diff --git a/source/libs/asura-lib-core/client/sdl/sdl_window.h b/source/libs/asura-lib-core/client/sdl/sdl_window.h index 1fdef1e..040c23e 100644 --- a/source/libs/asura-lib-core/client/sdl/sdl_window.h +++ b/source/libs/asura-lib-core/client/sdl/sdl_window.h @@ -1,14 +1,29 @@ #ifndef __ASURA_SDL_WINDOW_H__ #define __ASURA_SDL_WINDOW_H__ +#include "../../core_config.h" +#if ASURA_CORE_SDL + +#include <asura-lib-utils/scripting/portable.hpp> +#include "../../graphics/window.h" + namespace AsuraEngine { namespace SDL { + class SDLWindow ASURA_FINAL + : public Graphics::Window + , public Scripting::Portable<SDLWindow> + { + public: + + }; } } -#endif
\ No newline at end of file +#endif // ASURA_CORE_SDL + +#endif // __ASURA_SDL_WINDOW_H__
\ No newline at end of file diff --git a/source/libs/asura-lib-core/config.h b/source/libs/asura-lib-core/config.h deleted file mode 100644 index df7ad99..0000000 --- a/source/libs/asura-lib-core/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef __ASURA_CORE_CONFIG_H__ -#define __ASURA_CORE_CONFIG_H__ - -#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/core_config.h b/source/libs/asura-lib-core/core_config.h new file mode 100644 index 0000000..06eecc7 --- /dev/null +++ b/source/libs/asura-lib-core/core_config.h @@ -0,0 +1,8 @@ +#ifndef __ASURA_CORE_CONFIG_H__ +#define __ASURA_CORE_CONFIG_H__ + +#define ASURA_CORE_SDL 1 +#define ASURA_CORE_GLUT 0 +#define ASURA_CORE_GLFW 0 + +#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/graphics/binding/image_data.binding.cpp b/source/libs/asura-lib-core/graphics/binding/image_data.binding.cpp index 0d68c11..72e33da 100644 --- a/source/libs/asura-lib-core/graphics/binding/image_data.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/image_data.binding.cpp @@ -1,4 +1,4 @@ -#include "../image.h" +#include "../image_data.h" using namespace Luax; @@ -7,23 +7,55 @@ namespace AsuraEngine namespace Graphics { - void Image::RegisterLuaxClass(LuaxState& state) + LUAX_REGISTRY(ImageData) { } - void Image::RegisterLuaxPostprocess(LuaxState& state) + LUAX_POSTPROCESS(ImageData) + { + LUAX_REGISTER_ENUM(state, "EBlendMode", + { "Additive", 1 } + ); + LUAX_REGISTER_ENUM(state, "EPixelFormat", + { "RGBA32", 1 } + ); + } + + // imagedata = ImageData.New(databuffer) + LUAX_IMPL_METHOD(ImageData, _New) + { + LUAX_STATE(L); + + Filesystem::DataBuffer* db = state.CheckUserdata<Filesystem::DataBuffer>(1); + ImageData* image = new ImageData(*db); + image->PushLuaxUserdata(state); + return 1; + } + + LUAX_IMPL_METHOD(ImageData, _GetPixel) + { + + } + + LUAX_IMPL_METHOD(ImageData, _GetSize) + { + + } + + LUAX_IMPL_METHOD(ImageData, _GetWidth) + { + + } + + LUAX_IMPL_METHOD(ImageData, _GetHeight) + { + + } + + LUAX_IMPL_METHOD(ImageData, _GetPixelFormat) { - // blendö٣AsuraEngine.EBlendMode - LuaxEnum EBlendMode[] = { - { "Additive", 1 }, - { "PreBlend", 2 }, - { "Substruction", 3 }, - { "Multiplied", 4 }, - {0, 0} - }; - state.RegisterEnum("EBlendMode", EBlendMode); } } diff --git a/source/libs/asura-lib-core/graphics/canvas.h b/source/libs/asura-lib-core/graphics/canvas.h index c4e0f65..6b8b630 100644 --- a/source/libs/asura-lib-core/graphics/canvas.h +++ b/source/libs/asura-lib-core/graphics/canvas.h @@ -1,12 +1,14 @@ #ifndef __ASURA_ENGINE_CANVAS_H__ #define __ASURA_ENGINE_CANVAS_H__ -#include <Scripting/Luax.hpp> +#include <asura-lib-utils/scripting/portable.hpp> +#include <asura-lib-utils/math/rect.hpp> +#include <asura-lib-utils/math/vector2.hpp> -#include "Math/Rect.hpp" -#include "GL.h" -#include "Texture.h" -#include "RenderTarget.h" +#include "gl.h" +#include "texture.h" +#include "render_target.h" +#include "render_state.h" namespace AsuraEngine { @@ -19,7 +21,7 @@ namespace AsuraEngine class Canvas ASURA_FINAL : public Drawable , public RenderTarget - , public Scripting::Portable + , public Scripting::Portable<Canvas> { public: diff --git a/source/libs/asura-lib-core/graphics/color.h b/source/libs/asura-lib-core/graphics/color.h index a18c682..74cf8f3 100644 --- a/source/libs/asura-lib-core/graphics/color.h +++ b/source/libs/asura-lib-core/graphics/color.h @@ -1,8 +1,9 @@ #ifndef __ASURA_ENGINE_COLOR_H__ #define __ASURA_ENGINE_COLOR_H__ -#include "config.h" -#include "scripting/portable.hpp" +#include <asura-lib-utils/scripting/portable.hpp> + +#include "../core_config.h" namespace AsuraEngine { diff --git a/source/libs/asura-lib-core/graphics/gl.cpp b/source/libs/asura-lib-core/graphics/gl.cpp index 01c90de..7c68c8f 100644 --- a/source/libs/asura-lib-core/graphics/gl.cpp +++ b/source/libs/asura-lib-core/graphics/gl.cpp @@ -1,4 +1,4 @@ -#include "config.h" +#include "../core_config.h" #include "gl.h" namespace AsuraEngine diff --git a/source/libs/asura-lib-core/graphics/image_data.cpp b/source/libs/asura-lib-core/graphics/image_data.cpp index 821bfd6..28c706a 100644 --- a/source/libs/asura-lib-core/graphics/image_data.cpp +++ b/source/libs/asura-lib-core/graphics/image_data.cpp @@ -1,6 +1,7 @@ #include "image_data.h" #include "png_decoder.h" #include "stb_decoder.h" +#include "image_decoder.h" namespace AsuraEngine { @@ -35,7 +36,7 @@ namespace AsuraEngine { if (decoder->CanDecode(buffer)) { - decoder->Decode(buffer, this); + decoder->Decode(buffer, *this); return; } } diff --git a/source/libs/asura-lib-core/graphics/image_data.h b/source/libs/asura-lib-core/graphics/image_data.h index 1e711a8..53a9e85 100644 --- a/source/libs/asura-lib-core/graphics/image_data.h +++ b/source/libs/asura-lib-core/graphics/image_data.h @@ -3,9 +3,10 @@ #include <list> -#include "scripting/luax.hpp" -#include "filesystem/decoded_data.h" -#include "image_decoder.h" +#include <asura-lib-utils/scripting/portable.hpp> +#include <asura-lib-utils/filesystem/decoded_data.h> +#include <asura-lib-utils/filesystem/data_buffer.h> + #include "pixel_format.h" #include "color.h" @@ -14,9 +15,11 @@ namespace AsuraEngine namespace Graphics { + class ImageDecoder; + class ImageData ASURA_FINAL : public Filesystem::DecodedData - , public Scripting::Portable + , public Scripting::Portable<ImageData> { public: @@ -24,7 +27,6 @@ namespace AsuraEngine /// ͼƬļϢʧܣ׳쳣 /// ImageData(const Filesystem::DataBuffer& buffer); - ~ImageData(); Color GetPixel(uint x, uint y); @@ -45,14 +47,14 @@ namespace AsuraEngine public: - //---------------------------------------------------------------------------------------------------------- - LUAX_DECL_FACTORY(ImageData); - LUAX_DECL_METHOD(l_GetPixel); - LUAX_DECL_METHOD(l_GetSize); - - //---------------------------------------------------------------------------------------------------------- + LUAX_DECL_METHOD(_New); + LUAX_DECL_METHOD(_GetPixel); + LUAX_DECL_METHOD(_GetSize); + LUAX_DECL_METHOD(_GetWidth); + LUAX_DECL_METHOD(_GetHeight); + LUAX_DECL_METHOD(_GetPixelFormat); }; diff --git a/source/libs/asura-lib-core/graphics/image_decoder.h b/source/libs/asura-lib-core/graphics/image_decoder.h index 2c73fd1..921d129 100644 --- a/source/libs/asura-lib-core/graphics/image_decoder.h +++ b/source/libs/asura-lib-core/graphics/image_decoder.h @@ -1,9 +1,9 @@ #ifndef __ASURA_ENGINE_IMAGE_DECODER_H__ #define __ASURA_ENGINE_IMAGE_DECODER_H__ -#include "FileSystem/DataBuffer.h" +#include <asura-lib-utils/filesystem/data_buffer.h> -#include "ImageData.h" +#include "image_data.h" namespace AsuraEngine { diff --git a/source/libs/asura-lib-utils/filesystem/binding/data_buffer.binding.cpp b/source/libs/asura-lib-utils/filesystem/binding/data_buffer.binding.cpp index a9113a7..8e92eee 100644 --- a/source/libs/asura-lib-utils/filesystem/binding/data_buffer.binding.cpp +++ b/source/libs/asura-lib-utils/filesystem/binding/data_buffer.binding.cpp @@ -9,59 +9,101 @@ namespace AsuraEngine LUAX_REGISTRY(DataBuffer) { - luaL_Reg f[] = { + LUAX_REGISTER_METHODS(state, { "New", _New }, - { "SetContent", _SetContent }, - { "GetContent", _GetContent }, - { "GetContentLength", _GetContentLength }, - {0, 0} - }; - - state.RegisterMethods(f); + { "GetBuffer", _GetBuffer }, + { "GetSize", _GetSize }, + { "Load", _Load }, + { "Clear", _Clear } + ); } LUAX_POSTPROCESS(DataBuffer) { - } + // databuffer = DataBuffer.New(lstring) + // databuffer = DataBuffer.New(size) LUAX_IMPL_METHOD(DataBuffer, _New) { + LUAX_STATE(L); + if (state.IsType(1, LUA_TSTRING)) + { + byte* bytes; + size_t size; + lua_tolstring(L, 1, &size); + DataBuffer* buffer = new DataBuffer(bytes, size); + buffer->PushLuaxUserdata(state); + return 1; + } + else if (state.IsType(1, LUA_TNUMBER)) + { + size_t size = lua_tonumber(L, 1); + DataBuffer* buffer = new DataBuffer(size); + buffer->PushLuaxUserdata(state); + } + else + { + return state.ErrorType(1, "number or string"); + } } - // SetContent(dataBuffer, lString) - LUAX_IMPL_METHOD(DataBuffer, _SetContent) + // lsting, len = databuffer:GetBuffer() + LUAX_IMPL_METHOD(DataBuffer, _GetBuffer) { - LUAX_SETUP(L, "US"); - // params: - // 1: data buffer - // 2: lstring + LUAX_SETUP(L, "U"); - DataBuffer* self = state.GetLuaUserdata<DataBuffer>(1); - size_t size = 0; - const char* str = lua_tolstring(L, 2, &size); - void* data = new char[size]; - memcpy(data, str, size); - self->SetContent(data, size); - return 0; + DataBuffer* self = state.GetUserdata<DataBuffer>(1); + lua_pushlstring(L, self->GetBuffer(), self->GetSize()); + return 2; } - LUAX_IMPL_METHOD(DataBuffer, _GetContent) + // length = databuffer:GetSize() + LUAX_IMPL_METHOD(DataBuffer, _GetSize) { LUAX_SETUP(L, "U"); - DataBuffer* self = state.GetLuaUserdata<DataBuffer>(1); - lua_pushlstring(L, (const char*)self->data, self->size); + DataBuffer* self = state.GetUserdata<DataBuffer>(1); + lua_pushinteger(L, self->GetSize()); return 1; } - LUAX_IMPL_METHOD(DataBuffer, _GetContentLength) + // databuffer:Load(lstring) + // databuffer:Load(src) + LUAX_IMPL_METHOD(DataBuffer, _Load) + { + LUAX_STATE(L); + + DataBuffer* buffer = state.GetUserdata<DataBuffer>(1); + const byte* data; + size_t size; + if (state.IsType(2, LUA_TSTRING)) + { + data = lua_tolstring(L, 2, &size); + buffer->Load(data, size); + return 0; + } + else if(state.IsType(2, LUA_TUSERDATA)) + { + DataBuffer* src = state.CheckUserdata<DataBuffer>(2); + buffer->Load(*src); + return 0; + } + else + { + return state.ErrorType(1, "lstring or DataBuffer"); + } + } + + // databuffer:Clear() + LUAX_IMPL_METHOD(DataBuffer, _Clear) { LUAX_SETUP(L, "U"); - DataBuffer* self = state.GetLuaUserdata<DataBuffer>(1); - lua_pushinteger(L, self->size); - return 1; + + DataBuffer* self = state.GetUserdata<DataBuffer>(1); + self->Clear(); + return 0; } } diff --git a/source/libs/asura-lib-utils/filesystem/data_buffer.cpp b/source/libs/asura-lib-utils/filesystem/data_buffer.cpp index 629dc92..32a123f 100644 --- a/source/libs/asura-lib-utils/filesystem/data_buffer.cpp +++ b/source/libs/asura-lib-utils/filesystem/data_buffer.cpp @@ -1,3 +1,5 @@ +#include <cstdlib> +#include <cstring> #include "data_buffer.h" namespace AsuraEngine @@ -5,24 +7,60 @@ namespace AsuraEngine namespace Filesystem { + DataBuffer::DataBuffer(DataBuffer& src) + { + Load(src); + } + + DataBuffer::DataBuffer(std::size_t size) + : mSize(size) + , mBytes(nullptr) + { + mBytes = new byte[size]; + memset(mBytes, 0, size); + } + DataBuffer::DataBuffer(const void* data, std::size_t size) + : mSize(size) + , mBytes(nullptr) { - this->data = (const byte*)data; - this->size = size; + Load(data, size); } DataBuffer::~DataBuffer() { - delete[] data; + delete[] mBytes; } - void DataBuffer::SetContent(const void* data, std::size_t siez) + void DataBuffer::Load(DataBuffer& db) { - if (this->data != nullptr) - delete[] this->data; + Load(db.GetBuffer(), db.GetSize()); + } - this->data = (const byte*)data; - this->size = size; + void DataBuffer::Load(const void* data, std::size_t size) + { + if (!mBytes || mSize != size) + { + delete[] mBytes; + mBytes = new byte[size]; + } + memcpy(mBytes, data, size); + } + + byte* DataBuffer::GetBuffer() + { + return mBytes; + } + + void DataBuffer::Clear() + { + if (mBytes) + memset(mBytes, 0, mSize); + } + + std::size_t DataBuffer::GetSize() + { + return mSize; } } diff --git a/source/libs/asura-lib-utils/filesystem/data_buffer.h b/source/libs/asura-lib-utils/filesystem/data_buffer.h index 4b013ed..5c80efb 100644 --- a/source/libs/asura-lib-utils/filesystem/data_buffer.h +++ b/source/libs/asura-lib-utils/filesystem/data_buffer.h @@ -3,7 +3,6 @@ #include <cstdlib> -#include "../scripting/Luax.hpp" #include "../scripting/portable.hpp" namespace AsuraEngine @@ -19,23 +18,34 @@ namespace AsuraEngine { public: - DataBuffer(const void* data, std::size_t size); - + DataBuffer(DataBuffer& src); + DataBuffer(std::size_t size); + DataBuffer(const void* bytes, std::size_t size); ~DataBuffer(); - void SetContent(const void* data, std::size_t siez); + byte* GetBuffer(); + size_t GetSize(); + + void Load(DataBuffer& db); + void Load(const void* bytes, std::size_t size); + void Clear(); - const byte* data; - size_t size; + private: - //---------------------------------------------------------------------------------------------------------- + byte* mBytes; + size_t mSize; + + //------------------------------------------------------------------------------------------------------------ + + public: LUAX_DECL_FACTORY(DataBuffer); LUAX_DECL_METHOD(_New); - LUAX_DECL_METHOD(_SetContent); - LUAX_DECL_METHOD(_GetContent); - LUAX_DECL_METHOD(_GetContentLength); + LUAX_DECL_METHOD(_GetBuffer); + LUAX_DECL_METHOD(_GetSize); + LUAX_DECL_METHOD(_Load); + LUAX_DECL_METHOD(_Clear); }; diff --git a/source/libs/asura-lib-utils/filesystem/resource_manager.h b/source/libs/asura-lib-utils/filesystem/resource_manager.h index c5d8f06..36d46cf 100644 --- a/source/libs/asura-lib-utils/filesystem/resource_manager.h +++ b/source/libs/asura-lib-utils/filesystem/resource_manager.h @@ -36,6 +36,10 @@ namespace AsuraEngine /// void SaveFile(const std::string& path, const DataBuffer* buffer); + //---------------------------------------------------------------------------------------------------------- + + LUAX_DECL_SINGLETON(ResourceManager); + }; } diff --git a/source/libs/asura-lib-utils/scripting/luax.hpp b/source/libs/asura-lib-utils/scripting/luax.hpp deleted file mode 100644 index cca26e2..0000000 --- a/source/libs/asura-lib-utils/scripting/luax.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __ASURA_ENGINE_LUAX_H__ -#define __ASURA_ENGINE_LUAX_H__ - -/// -/// Scripting with Lua. -/// -extern "C" { -#include <Lua51/lua.h> -#include <Lua51/lauxlib.h> -} -#include <Luax/luax.h> - -#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-utils/scripting/portable.hpp b/source/libs/asura-lib-utils/scripting/portable.hpp index 7f780d1..00ede90 100644 --- a/source/libs/asura-lib-utils/scripting/portable.hpp +++ b/source/libs/asura-lib-utils/scripting/portable.hpp @@ -3,7 +3,12 @@ #include "../type.h" -#include "Luax.hpp" +extern "C" +{ + #include <Lua51/lua.h> + #include <Lua51/lauxlib.h> +} +#include <Luax/luax.h> namespace AsuraEngine { diff --git a/source/libs/asura-lib-utils/type.h b/source/libs/asura-lib-utils/type.h index 25b52fe..72ed8cc 100644 --- a/source/libs/asura-lib-utils/type.h +++ b/source/libs/asura-lib-utils/type.h @@ -11,7 +11,8 @@ namespace AsuraEngine typedef int8_t int8; typedef uint8_t uint8; - typedef uint8 byte; + //typedef uint8 byte; + typedef char byte; typedef int16_t int16; typedef uint16_t uint16; typedef int32_t int32; diff --git a/source/libs/asura-lib-utils/utils_module.cpp b/source/libs/asura-lib-utils/utils_module.cpp index 7fe3612..f025cac 100644 --- a/source/libs/asura-lib-utils/utils_module.cpp +++ b/source/libs/asura-lib-utils/utils_module.cpp @@ -9,12 +9,10 @@ namespace AsuraEngine void UtilsModule::Initialize(Luax::LuaxState& state) { LUAX_REGISTER_FACTORY(state, DataBuffer); - } void UtilsModule::Finalize(Luax::LuaxState& state) { - } }
\ No newline at end of file diff --git a/source/libs/asura-lib-utils/utils_module.h b/source/libs/asura-lib-utils/utils_module.h index 0b5d076..c4b046b 100644 --- a/source/libs/asura-lib-utils/utils_module.h +++ b/source/libs/asura-lib-utils/utils_module.h @@ -9,7 +9,7 @@ namespace AsuraEngine /// /// Asuraģ /// - class UtilsModule : public Module + class UtilsModule ASURA_FINAL : public Module { public: diff --git a/source/tests/02-luax/main.cpp b/source/tests/02-luax/main.cpp index f87226e..cd718ac 100644 --- a/source/tests/02-luax/main.cpp +++ b/source/tests/02-luax/main.cpp @@ -2,10 +2,11 @@ /// Scripting with Lua. /// extern "C"{ -#include "Lua51/lua.h" -#include "Lua51/lauxlib.h" +#include <Lua51/lua.h> +#include <Lua51/lauxlib.h> } -#include "Luax/luax.h" +#include <Luax/luax.h> + #include "header.h" #include <iostream> @@ -114,7 +115,7 @@ int Boy::l_New(lua_State* L) int Boy::l_GetAge(lua_State* L) { LUAX_SETUP(L, "U"); - Boy* self = state.GetLuaUserdata<Boy>(1); + Boy* self = state.CheckUserdata<Boy>(1); state.Push(self->mAge); return 1; } @@ -122,7 +123,7 @@ int Boy::l_GetAge(lua_State* L) int Boy::l_GetName(lua_State* L) { LUAX_SETUP(L, "U"); - Boy* self = state.GetLuaUserdata<Boy>(1); + Boy* self = state.CheckUserdata<Boy>(1); state.Push(self->mName); return 1; } @@ -138,7 +139,7 @@ int Boy::l_Speak(lua_State* L) { LUAX_STATE(L); - Boy* self = state.GetLuaUserdata<Boy>(1); + Boy* self = state.CheckUserdata<Boy>(1); self->PushMemberRef(state, self->mCallbak); state.Call(0, 1); return 1; @@ -148,51 +149,41 @@ int Boy::l_Write(lua_State* L) { LUAX_STATE(L); // self, func - Boy* self = state.GetLuaUserdata<Boy>(1); + Boy* self = state.CheckUserdata<Boy>(1); self->SetMemberRef(state, self->mCallbak, 2); return 0; } void Boy::RegisterLuaxClass(LuaxState& state) { - luaL_Reg regTable[] = { - // class functions - { "New", l_New }, - { "GetGender", l_GetGender }, - // members - { "GetAge", l_GetAge }, - { "GetName", l_GetName }, - { "Write", l_Write }, - { "Speak", l_Speak }, - { 0, 0} - }; - state.RegisterMethods(regTable); + LUAX_REGISTER_METHODS(state, + { "New", l_New },/**/ + { "GetGender", l_GetGender }, + { "GetAge", l_GetAge }, + { "GetName", l_GetName }, + { "Write", l_Write }, + { "Speak", l_Speak } + ); // boyİ - LuaxEnum EHabits[] = { - { "Computer", 1}, - { "Buscketball", 2}, - { "Baseball", 3}, - { "Girls", 4}, - {0, 0} - }; - - state.RegisterEnum("EHabits", EHabits); + LUAX_REGISTER_ENUM(state, "EHabits", + { "Computer", 1 }, + { "Buscketball", 2 }, + { "Baseball", 3 }, + { "Girls", 4 } + ); } void Boy::RegisterLuaxPostprocess(LuaxState& state) { // boyİ - LuaxEnum EHabits[] = { - { "Computer", 1}, - { "Buscketball", 2}, - { "Baseball", 3}, - { "Girls", 4}, - {0, 0} - }; - - state.RegisterEnum("EHabits", EHabits); + LUAX_REGISTER_ENUM(state, "EHabits", + { "Computer", 1 }, + { "Buscketball", 2 }, + { "Baseball", 3 }, + { "Girls", 4 } + ); } //---------------------------------------------------------------------------------------------------------------- |