From 03b3b8ae80559745f98ef94569b421adddeb441f Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Mar 2019 23:46:59 +0800 Subject: *misc --- Build/Asura.Editor/Asura.Editor.vcxproj | 3 + Build/Asura.Editor/Asura.Editor.vcxproj.filters | 15 ++ Build/Asura.sln | 54 +++- Source/Asura.Editor/Scripts/main.lua | 3 +- Source/Asura.Editor/Scripts/scene_view.lua | 1 - Source/Asura.Editor/scripts/main.lua | 3 +- Source/Asura.Editor/scripts/scene_view.lua | 1 - bin/win64/02-luax.exe | Bin 529408 -> 564224 bytes build/3rd-party/tinyxml/tinyxml.vcxproj | 122 +++++++++ build/3rd-party/tinyxml/tinyxml.vcxproj.filters | 17 ++ build/3rd-party/tinyxml/tinyxml.vcxproj.user | 4 + build/Asura.Editor/Asura.Editor.vcxproj | 3 + build/Asura.Editor/Asura.Editor.vcxproj.filters | 15 ++ build/Asura.sln | 54 +++- build/Preprocessor/Preprocessor.vcxproj | 122 +++++++++ build/Preprocessor/Preprocessor.vcxproj.filters | 17 ++ build/Preprocessor/Preprocessor.vcxproj.user | 4 + build/libs/asura-lib-core/asura-lib-core.vcxproj | 33 ++- .../asura-lib-core/asura-lib-core.vcxproj.filters | 107 +++++--- build/libs/asura-lib-steam/asura-lib-steam.vcxproj | 122 +++++++++ .../asura-lib-steam.vcxproj.filters | 17 ++ .../asura-lib-steam/asura-lib-steam.vcxproj.user | 4 + build/libs/asura-lib-utils/asura-lib-utils.vcxproj | 31 ++- .../asura-lib-utils.vcxproj.filters | 89 +++++-- build/tests/05-physfs/05-physfs.vcxproj | 122 +++++++++ build/tests/05-physfs/05-physfs.vcxproj.filters | 17 ++ build/tests/05-physfs/05-physfs.vcxproj.user | 4 + samples/Hello/main.macro.asset | 2 + source/3rd-party/Luax/luax_class.hpp | 65 +++-- source/3rd-party/Luax/luax_class.inl | 30 ++- source/3rd-party/Luax/luax_ref.h | 2 +- source/3rd-party/Luax/luax_state.cpp | 5 + source/3rd-party/Luax/luax_state.h | 7 +- source/3rd-party/Luax/luax_state.inl | 14 +- source/Asura.Editor/core/signal.h | 52 ++++ source/Asura.Editor/core/slot.h | 43 ++++ source/Asura.Editor/dui_module.cpp | 8 + source/Asura.Editor/dui_module.h | 18 ++ source/Asura.Editor/editor.h | 17 +- source/Asura.Editor/events/events.h | 24 -- source/Asura.Editor/graphics/shader.cpp | 0 source/Asura.Editor/graphics/shader.h | 21 -- source/Asura.Editor/scripts/asset_view.lua | 0 source/Asura.Editor/scripts/main.lua | 3 +- source/Asura.Editor/scripts/scene_view.lua | 1 - source/Asura.Editor/widgets/binding/_button.cpp | 60 +++++ source/Asura.Editor/widgets/button.cpp | 10 + source/Asura.Editor/widgets/button.h | 54 +++- source/Asura.Editor/widgets/label.h | 11 +- source/Asura.Editor/widgets/widget.h | 27 +- source/Asura.Editor/window/window.h | 14 - source/libs/asura-lib-core/application.h | 4 +- .../asura-lib-core/graphics/binding/_canvas.cpp | 0 .../asura-lib-core/graphics/binding/_color.cpp | 0 .../libs/asura-lib-core/graphics/binding/_gif.cpp | 0 .../asura-lib-core/graphics/binding/_image.cpp | 0 .../graphics/binding/_image_data.cpp | 62 +++++ .../asura-lib-core/graphics/binding/_mesh2d.cpp | 0 .../graphics/binding/_mesh2d_data.cpp | 9 + .../asura-lib-core/graphics/binding/_shader.cpp | 114 ++++++++ .../graphics/binding/_sprite_batch.cpp | 0 .../asura-lib-core/graphics/binding/_window.cpp | 11 + .../graphics/binding/canvas.binding.cpp | 0 .../graphics/binding/color.binding.cpp | 0 .../graphics/binding/gif.binding.cpp | 0 .../graphics/binding/image.binding.cpp | 0 .../graphics/binding/image_data.binding.cpp | 62 ----- .../graphics/binding/mesh2d.binding.cpp | 0 .../graphics/binding/mesh2d_data.binding.cpp | 9 - .../graphics/binding/shader.binding.cpp | 114 -------- .../graphics/binding/sprite_batch.binding.cpp | 0 .../graphics/binding/window.binding.cpp | 11 - source/libs/asura-lib-core/graphics/image.h | 4 +- .../libs/asura-lib-core/graphics/stb_decoder.cpp | 4 +- source/libs/asura-lib-core/input/cursor.h | 23 +- source/libs/asura-lib-core/input/event.h | 45 ++++ source/libs/asura-lib-core/input/input_device.hpp | 9 +- source/libs/asura-lib-core/input/joypad.h | 0 source/libs/asura-lib-core/input/mouse.defs | 7 + source/libs/asura-lib-core/manager.hpp | 14 - source/libs/asura-lib-core/singleton.hpp | 59 ----- source/libs/asura-lib-core/stringmap.cpp | 0 source/libs/asura-lib-core/stringmap.hpp | 29 --- .../threading/binding/_coroutine.cpp | 0 .../asura-lib-core/threading/binding/_thread.cpp | 0 source/libs/asura-lib-core/threading/coroutine.cpp | 0 source/libs/asura-lib-core/threading/coroutine.h | 27 ++ source/libs/asura-lib-core/threading/thread.cpp | 0 source/libs/asura-lib-core/threading/thread.h | 0 .../libs/asura-lib-framework/scripts/component.lua | 6 +- source/libs/asura-lib-framework/scripts/entity.lua | 114 ++++++++ .../scripts/filesystem/entity_loader.lua | 2 +- .../asura-lib-framework/scripts/gameobject.lua | 115 --------- .../scripts/graphics/animator.lua | 6 +- .../scripts/graphics/particle_system.lua | 4 +- source/libs/asura-lib-framework/scripts/scene.lua | 2 +- .../filesystem/binding/data_buffer.binding.cpp | 110 -------- .../asura-lib-utils/filesystem/data_buffer.cpp | 67 ----- .../libs/asura-lib-utils/filesystem/data_buffer.h | 55 ---- .../asura-lib-utils/filesystem/decoded_data.cpp | 20 -- .../libs/asura-lib-utils/filesystem/decoded_data.h | 42 --- .../libs/asura-lib-utils/filesystem/reloadable.h | 27 -- .../filesystem/resource_manager.cpp | 0 .../asura-lib-utils/filesystem/resource_manager.h | 48 ---- .../asura-lib-utils/io/binding/_compressor.cpp | 0 .../asura-lib-utils/io/binding/_data_buffer.cpp | 110 ++++++++ source/libs/asura-lib-utils/io/binding/_file.cpp | 186 ++++++++++++++ .../libs/asura-lib-utils/io/binding/_file_data.cpp | 64 +++++ .../asura-lib-utils/io/binding/_file_system.cpp | 267 +++++++++++++++++++ source/libs/asura-lib-utils/io/compressor.cpp | 11 + source/libs/asura-lib-utils/io/compressor.h | 30 +++ source/libs/asura-lib-utils/io/data_buffer.cpp | 77 ++++++ source/libs/asura-lib-utils/io/data_buffer.h | 54 ++++ source/libs/asura-lib-utils/io/decoded_data.cpp | 20 ++ source/libs/asura-lib-utils/io/decoded_data.h | 42 +++ source/libs/asura-lib-utils/io/file.cpp | 286 +++++++++++++++++++++ source/libs/asura-lib-utils/io/file.h | 132 ++++++++++ source/libs/asura-lib-utils/io/file_data.cpp | 57 ++++ source/libs/asura-lib-utils/io/file_data.h | 68 +++++ source/libs/asura-lib-utils/io/file_system.cpp | 198 ++++++++++++++ source/libs/asura-lib-utils/io/file_system.h | 110 ++++++++ source/libs/asura-lib-utils/io/reloadable.h | 27 ++ source/libs/asura-lib-utils/manager.hpp | 14 + source/libs/asura-lib-utils/math/rect.hpp | 19 +- source/libs/asura-lib-utils/scripting/portable.hpp | 7 + source/libs/asura-lib-utils/singleton.hpp | 59 +++++ source/libs/asura-lib-utils/stringmap.cpp | 0 source/libs/asura-lib-utils/stringmap.hpp | 29 +++ source/libs/asura-lib-utils/type.h | 14 + source/libs/asura-lib-utils/utils_config.h | 0 source/tests/02-luax/main.cpp | 67 ++++- source/tests/05-physfs/ok.txt | 0 132 files changed, 3607 insertions(+), 1048 deletions(-) create mode 100644 build/3rd-party/tinyxml/tinyxml.vcxproj create mode 100644 build/3rd-party/tinyxml/tinyxml.vcxproj.filters create mode 100644 build/3rd-party/tinyxml/tinyxml.vcxproj.user create mode 100644 build/Preprocessor/Preprocessor.vcxproj create mode 100644 build/Preprocessor/Preprocessor.vcxproj.filters create mode 100644 build/Preprocessor/Preprocessor.vcxproj.user create mode 100644 build/libs/asura-lib-steam/asura-lib-steam.vcxproj create mode 100644 build/libs/asura-lib-steam/asura-lib-steam.vcxproj.filters create mode 100644 build/libs/asura-lib-steam/asura-lib-steam.vcxproj.user create mode 100644 build/tests/05-physfs/05-physfs.vcxproj create mode 100644 build/tests/05-physfs/05-physfs.vcxproj.filters create mode 100644 build/tests/05-physfs/05-physfs.vcxproj.user create mode 100644 samples/Hello/main.macro.asset create mode 100644 source/Asura.Editor/core/signal.h create mode 100644 source/Asura.Editor/core/slot.h delete mode 100644 source/Asura.Editor/events/events.h delete mode 100644 source/Asura.Editor/graphics/shader.cpp delete mode 100644 source/Asura.Editor/graphics/shader.h create mode 100644 source/Asura.Editor/scripts/asset_view.lua create mode 100644 source/Asura.Editor/widgets/binding/_button.cpp delete mode 100644 source/Asura.Editor/window/window.h create mode 100644 source/libs/asura-lib-core/graphics/binding/_canvas.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_color.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_gif.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_image.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_image_data.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_mesh2d.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_mesh2d_data.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_shader.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_sprite_batch.cpp create mode 100644 source/libs/asura-lib-core/graphics/binding/_window.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/canvas.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/color.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/gif.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/image.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/image_data.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/mesh2d.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/mesh2d_data.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/shader.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/sprite_batch.binding.cpp delete mode 100644 source/libs/asura-lib-core/graphics/binding/window.binding.cpp create mode 100644 source/libs/asura-lib-core/input/event.h create mode 100644 source/libs/asura-lib-core/input/joypad.h create mode 100644 source/libs/asura-lib-core/input/mouse.defs delete mode 100644 source/libs/asura-lib-core/manager.hpp delete mode 100644 source/libs/asura-lib-core/singleton.hpp delete mode 100644 source/libs/asura-lib-core/stringmap.cpp delete mode 100644 source/libs/asura-lib-core/stringmap.hpp create mode 100644 source/libs/asura-lib-core/threading/binding/_coroutine.cpp create mode 100644 source/libs/asura-lib-core/threading/binding/_thread.cpp create mode 100644 source/libs/asura-lib-core/threading/coroutine.cpp create mode 100644 source/libs/asura-lib-core/threading/coroutine.h create mode 100644 source/libs/asura-lib-core/threading/thread.cpp create mode 100644 source/libs/asura-lib-core/threading/thread.h create mode 100644 source/libs/asura-lib-framework/scripts/entity.lua delete mode 100644 source/libs/asura-lib-framework/scripts/gameobject.lua delete mode 100644 source/libs/asura-lib-utils/filesystem/binding/data_buffer.binding.cpp delete mode 100644 source/libs/asura-lib-utils/filesystem/data_buffer.cpp delete mode 100644 source/libs/asura-lib-utils/filesystem/data_buffer.h delete mode 100644 source/libs/asura-lib-utils/filesystem/decoded_data.cpp delete mode 100644 source/libs/asura-lib-utils/filesystem/decoded_data.h delete mode 100644 source/libs/asura-lib-utils/filesystem/reloadable.h delete mode 100644 source/libs/asura-lib-utils/filesystem/resource_manager.cpp delete mode 100644 source/libs/asura-lib-utils/filesystem/resource_manager.h create mode 100644 source/libs/asura-lib-utils/io/binding/_compressor.cpp create mode 100644 source/libs/asura-lib-utils/io/binding/_data_buffer.cpp create mode 100644 source/libs/asura-lib-utils/io/binding/_file.cpp create mode 100644 source/libs/asura-lib-utils/io/binding/_file_data.cpp create mode 100644 source/libs/asura-lib-utils/io/binding/_file_system.cpp create mode 100644 source/libs/asura-lib-utils/io/compressor.cpp create mode 100644 source/libs/asura-lib-utils/io/compressor.h create mode 100644 source/libs/asura-lib-utils/io/data_buffer.cpp create mode 100644 source/libs/asura-lib-utils/io/data_buffer.h create mode 100644 source/libs/asura-lib-utils/io/decoded_data.cpp create mode 100644 source/libs/asura-lib-utils/io/decoded_data.h create mode 100644 source/libs/asura-lib-utils/io/file.cpp create mode 100644 source/libs/asura-lib-utils/io/file.h create mode 100644 source/libs/asura-lib-utils/io/file_data.cpp create mode 100644 source/libs/asura-lib-utils/io/file_data.h create mode 100644 source/libs/asura-lib-utils/io/file_system.cpp create mode 100644 source/libs/asura-lib-utils/io/file_system.h create mode 100644 source/libs/asura-lib-utils/io/reloadable.h create mode 100644 source/libs/asura-lib-utils/manager.hpp create mode 100644 source/libs/asura-lib-utils/singleton.hpp create mode 100644 source/libs/asura-lib-utils/stringmap.cpp create mode 100644 source/libs/asura-lib-utils/stringmap.hpp create mode 100644 source/libs/asura-lib-utils/utils_config.h create mode 100644 source/tests/05-physfs/ok.txt diff --git a/Build/Asura.Editor/Asura.Editor.vcxproj b/Build/Asura.Editor/Asura.Editor.vcxproj index cc38c61..3765ed4 100644 --- a/Build/Asura.Editor/Asura.Editor.vcxproj +++ b/Build/Asura.Editor/Asura.Editor.vcxproj @@ -122,6 +122,7 @@ + @@ -134,6 +135,8 @@ + + diff --git a/Build/Asura.Editor/Asura.Editor.vcxproj.filters b/Build/Asura.Editor/Asura.Editor.vcxproj.filters index 53931f0..8923f09 100644 --- a/Build/Asura.Editor/Asura.Editor.vcxproj.filters +++ b/Build/Asura.Editor/Asura.Editor.vcxproj.filters @@ -10,6 +10,12 @@ {f67906bd-4f7c-4ac6-bca1-019617435a8b} + + {4be11763-e2f9-47a4-8947-5326a517e286} + + + {48e88630-25b8-42f8-b76b-fa55bcce298d} + @@ -51,6 +57,9 @@ + + widgets\binding + @@ -94,5 +103,11 @@ + + core + + + core + \ No newline at end of file diff --git a/Build/Asura.sln b/Build/Asura.sln index fa2e5ca..3bd9d61 100644 --- a/Build/Asura.sln +++ b/Build/Asura.sln @@ -77,10 +77,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-json", "libs\asur 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 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyxml", "3rd-party\tinyxml\tinyxml.vcxproj", "{9891C064-C897-424E-8EB6-CAD09812E032}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Preprocessor", "Preprocessor\Preprocessor.vcxproj", "{983F6496-7BB2-48E3-B8F4-68C2600EA315}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-steam", "libs\asura-lib-steam\asura-lib-steam.vcxproj", "{129C3826-B418-4C80-A126-0319C7E2A857}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "05-physfs", "tests\05-physfs\05-physfs.vcxproj", "{5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -361,14 +367,6 @@ Global {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 @@ -377,6 +375,38 @@ Global {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 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x64.ActiveCfg = Debug|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x64.Build.0 = Debug|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x86.ActiveCfg = Debug|Win32 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x86.Build.0 = Debug|Win32 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x64.ActiveCfg = Release|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x64.Build.0 = Release|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x86.ActiveCfg = Release|Win32 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x86.Build.0 = Release|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x64.ActiveCfg = Debug|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x64.Build.0 = Debug|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x86.ActiveCfg = Debug|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x86.Build.0 = Debug|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x64.ActiveCfg = Release|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x64.Build.0 = Release|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x86.ActiveCfg = Release|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x86.Build.0 = Release|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x64.ActiveCfg = Debug|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x64.Build.0 = Debug|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x86.ActiveCfg = Debug|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x86.Build.0 = Debug|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x64.ActiveCfg = Release|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x64.Build.0 = Release|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x86.ActiveCfg = Release|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x86.Build.0 = Release|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x64.ActiveCfg = Debug|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x64.Build.0 = Debug|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x86.ActiveCfg = Debug|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x86.Build.0 = Debug|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x64.ActiveCfg = Release|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x64.Build.0 = Release|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x86.ActiveCfg = Release|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -411,8 +441,10 @@ Global {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} + {9891C064-C897-424E-8EB6-CAD09812E032} = {64D4E4B2-4A60-46F4-A500-370EFED4524F} + {129C3826-B418-4C80-A126-0319C7E2A857} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD} = {E068D138-C824-4365-B5A3-27C65E8FD0B5} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {331032D8-F7CC-43E3-A03B-67108767F96B} diff --git a/Source/Asura.Editor/Scripts/main.lua b/Source/Asura.Editor/Scripts/main.lua index a513f87..76fab7a 100644 --- a/Source/Asura.Editor/Scripts/main.lua +++ b/Source/Asura.Editor/Scripts/main.lua @@ -1,5 +1,4 @@ -local Editor = require("Asura.Editor") --编辑器入口 ---编辑器真正的内容在Asura.Editor/Scripts下面实现 +--编辑器真正的内容在Asura.Editor/scripts下面实现 diff --git a/Source/Asura.Editor/Scripts/scene_view.lua b/Source/Asura.Editor/Scripts/scene_view.lua index ff96b2c..db4790f 100644 --- a/Source/Asura.Editor/Scripts/scene_view.lua +++ b/Source/Asura.Editor/Scripts/scene_view.lua @@ -1,2 +1 @@ -- 鍦烘櫙绐楀彛 - diff --git a/Source/Asura.Editor/scripts/main.lua b/Source/Asura.Editor/scripts/main.lua index a513f87..76fab7a 100644 --- a/Source/Asura.Editor/scripts/main.lua +++ b/Source/Asura.Editor/scripts/main.lua @@ -1,5 +1,4 @@ -local Editor = require("Asura.Editor") --编辑器入口 ---编辑器真正的内容在Asura.Editor/Scripts下面实现 +--编辑器真正的内容在Asura.Editor/scripts下面实现 diff --git a/Source/Asura.Editor/scripts/scene_view.lua b/Source/Asura.Editor/scripts/scene_view.lua index ff96b2c..db4790f 100644 --- a/Source/Asura.Editor/scripts/scene_view.lua +++ b/Source/Asura.Editor/scripts/scene_view.lua @@ -1,2 +1 @@ -- 鍦烘櫙绐楀彛 - diff --git a/bin/win64/02-luax.exe b/bin/win64/02-luax.exe index 6a06082..f9d8dc4 100644 Binary files a/bin/win64/02-luax.exe and b/bin/win64/02-luax.exe differ diff --git a/build/3rd-party/tinyxml/tinyxml.vcxproj b/build/3rd-party/tinyxml/tinyxml.vcxproj new file mode 100644 index 0000000..ae84c61 --- /dev/null +++ b/build/3rd-party/tinyxml/tinyxml.vcxproj @@ -0,0 +1,122 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {9891C064-C897-424E-8EB6-CAD09812E032} + tinyxml + 10.0.17134.0 + + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + true + + + + + Level3 + Disabled + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + + + + \ No newline at end of file diff --git a/build/3rd-party/tinyxml/tinyxml.vcxproj.filters b/build/3rd-party/tinyxml/tinyxml.vcxproj.filters new file mode 100644 index 0000000..3c6f4fd --- /dev/null +++ b/build/3rd-party/tinyxml/tinyxml.vcxproj.filters @@ -0,0 +1,17 @@ +锘 + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + \ No newline at end of file diff --git a/build/3rd-party/tinyxml/tinyxml.vcxproj.user b/build/3rd-party/tinyxml/tinyxml.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/3rd-party/tinyxml/tinyxml.vcxproj.user @@ -0,0 +1,4 @@ +锘 + + + \ No newline at end of file diff --git a/build/Asura.Editor/Asura.Editor.vcxproj b/build/Asura.Editor/Asura.Editor.vcxproj index cc38c61..3765ed4 100644 --- a/build/Asura.Editor/Asura.Editor.vcxproj +++ b/build/Asura.Editor/Asura.Editor.vcxproj @@ -122,6 +122,7 @@ + @@ -134,6 +135,8 @@ + + diff --git a/build/Asura.Editor/Asura.Editor.vcxproj.filters b/build/Asura.Editor/Asura.Editor.vcxproj.filters index 53931f0..8923f09 100644 --- a/build/Asura.Editor/Asura.Editor.vcxproj.filters +++ b/build/Asura.Editor/Asura.Editor.vcxproj.filters @@ -10,6 +10,12 @@ {f67906bd-4f7c-4ac6-bca1-019617435a8b} + + {4be11763-e2f9-47a4-8947-5326a517e286} + + + {48e88630-25b8-42f8-b76b-fa55bcce298d} + @@ -51,6 +57,9 @@ + + widgets\binding + @@ -94,5 +103,11 @@ + + core + + + core + \ No newline at end of file diff --git a/build/Asura.sln b/build/Asura.sln index fa2e5ca..3bd9d61 100644 --- a/build/Asura.sln +++ b/build/Asura.sln @@ -77,10 +77,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-json", "libs\asur 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 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyxml", "3rd-party\tinyxml\tinyxml.vcxproj", "{9891C064-C897-424E-8EB6-CAD09812E032}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Preprocessor", "Preprocessor\Preprocessor.vcxproj", "{983F6496-7BB2-48E3-B8F4-68C2600EA315}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asura-lib-steam", "libs\asura-lib-steam\asura-lib-steam.vcxproj", "{129C3826-B418-4C80-A126-0319C7E2A857}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "05-physfs", "tests\05-physfs\05-physfs.vcxproj", "{5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -361,14 +367,6 @@ Global {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 @@ -377,6 +375,38 @@ Global {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 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x64.ActiveCfg = Debug|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x64.Build.0 = Debug|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x86.ActiveCfg = Debug|Win32 + {9891C064-C897-424E-8EB6-CAD09812E032}.Debug|x86.Build.0 = Debug|Win32 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x64.ActiveCfg = Release|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x64.Build.0 = Release|x64 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x86.ActiveCfg = Release|Win32 + {9891C064-C897-424E-8EB6-CAD09812E032}.Release|x86.Build.0 = Release|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x64.ActiveCfg = Debug|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x64.Build.0 = Debug|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x86.ActiveCfg = Debug|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Debug|x86.Build.0 = Debug|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x64.ActiveCfg = Release|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x64.Build.0 = Release|x64 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x86.ActiveCfg = Release|Win32 + {983F6496-7BB2-48E3-B8F4-68C2600EA315}.Release|x86.Build.0 = Release|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x64.ActiveCfg = Debug|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x64.Build.0 = Debug|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x86.ActiveCfg = Debug|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Debug|x86.Build.0 = Debug|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x64.ActiveCfg = Release|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x64.Build.0 = Release|x64 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x86.ActiveCfg = Release|Win32 + {129C3826-B418-4C80-A126-0319C7E2A857}.Release|x86.Build.0 = Release|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x64.ActiveCfg = Debug|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x64.Build.0 = Debug|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x86.ActiveCfg = Debug|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Debug|x86.Build.0 = Debug|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x64.ActiveCfg = Release|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x64.Build.0 = Release|x64 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x86.ActiveCfg = Release|Win32 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -411,8 +441,10 @@ Global {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} + {9891C064-C897-424E-8EB6-CAD09812E032} = {64D4E4B2-4A60-46F4-A500-370EFED4524F} + {129C3826-B418-4C80-A126-0319C7E2A857} = {CD115016-E377-4AC1-8595-DB2836CEFE7E} + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD} = {E068D138-C824-4365-B5A3-27C65E8FD0B5} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {331032D8-F7CC-43E3-A03B-67108767F96B} diff --git a/build/Preprocessor/Preprocessor.vcxproj b/build/Preprocessor/Preprocessor.vcxproj new file mode 100644 index 0000000..9fe75d2 --- /dev/null +++ b/build/Preprocessor/Preprocessor.vcxproj @@ -0,0 +1,122 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {983F6496-7BB2-48E3-B8F4-68C2600EA315} + Preprocessor + 10.0.17134.0 + + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + true + + + + + Level3 + Disabled + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + + + + \ No newline at end of file diff --git a/build/Preprocessor/Preprocessor.vcxproj.filters b/build/Preprocessor/Preprocessor.vcxproj.filters new file mode 100644 index 0000000..3c6f4fd --- /dev/null +++ b/build/Preprocessor/Preprocessor.vcxproj.filters @@ -0,0 +1,17 @@ +锘 + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + \ No newline at end of file diff --git a/build/Preprocessor/Preprocessor.vcxproj.user b/build/Preprocessor/Preprocessor.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/Preprocessor/Preprocessor.vcxproj.user @@ -0,0 +1,4 @@ +锘 + + + \ No newline at end of file diff --git a/build/libs/asura-lib-core/asura-lib-core.vcxproj b/build/libs/asura-lib-core/asura-lib-core.vcxproj index a5dd696..c19c581 100644 --- a/build/libs/asura-lib-core/asura-lib-core.vcxproj +++ b/build/libs/asura-lib-core/asura-lib-core.vcxproj @@ -126,16 +126,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -158,7 +158,10 @@ - + + + + @@ -198,13 +201,14 @@ + + - - - + + @@ -213,6 +217,7 @@ + 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 ae0aace..064cb2d 100644 --- a/build/libs/asura-lib-core/asura-lib-core.vcxproj.filters +++ b/build/libs/asura-lib-core/asura-lib-core.vcxproj.filters @@ -28,10 +28,15 @@ {c88e6733-13f6-4c25-9ffe-b162ad8b31cd} + + {d6f2001c-3947-4674-8793-f6d8c4aa8078} + + + {ce11bd01-5b5c-4b5f-ad67-bd54db8b277c} + - graphics @@ -83,36 +88,6 @@ graphics - - graphics\binding - - - graphics\binding - - - graphics\binding - - - graphics\binding - - - graphics\binding - - - graphics\binding - - - graphics\binding - - - graphics\binding - - - graphics\binding - - - graphics\binding - input @@ -153,12 +128,51 @@ client\sdl + + graphics\binding + + + graphics\binding + + + graphics\binding + + + graphics\binding + + + graphics\binding + + + graphics\binding + + + graphics\binding + + + graphics\binding + + + graphics\binding + + + graphics\binding + + + threading + + + threading + + + threading\binding + + + threading\binding + - - - graphics @@ -276,19 +290,34 @@ client\sdl + + input + + + input + + + threading + + + threading + + + font + + + font + input input - - font - - - font + + input \ No newline at end of file diff --git a/build/libs/asura-lib-steam/asura-lib-steam.vcxproj b/build/libs/asura-lib-steam/asura-lib-steam.vcxproj new file mode 100644 index 0000000..5863f77 --- /dev/null +++ b/build/libs/asura-lib-steam/asura-lib-steam.vcxproj @@ -0,0 +1,122 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {129C3826-B418-4C80-A126-0319C7E2A857} + asuralibsteam + 10.0.17134.0 + + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + true + + + + + Level3 + Disabled + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + + + + \ No newline at end of file diff --git a/build/libs/asura-lib-steam/asura-lib-steam.vcxproj.filters b/build/libs/asura-lib-steam/asura-lib-steam.vcxproj.filters new file mode 100644 index 0000000..3c6f4fd --- /dev/null +++ b/build/libs/asura-lib-steam/asura-lib-steam.vcxproj.filters @@ -0,0 +1,17 @@ +锘 + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + \ No newline at end of file diff --git a/build/libs/asura-lib-steam/asura-lib-steam.vcxproj.user b/build/libs/asura-lib-steam/asura-lib-steam.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/libs/asura-lib-steam/asura-lib-steam.vcxproj.user @@ -0,0 +1,4 @@ +锘 + + + \ 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 094fcb8..0138b00 100644 --- a/build/libs/asura-lib-utils/asura-lib-utils.vcxproj +++ b/build/libs/asura-lib-utils/asura-lib-utils.vcxproj @@ -118,23 +118,35 @@ - - - - + + + + + + + + + + + + - - - - + + + + + + + + @@ -146,8 +158,11 @@ + + + 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 86bd1ff..f9b9007 100644 --- a/build/libs/asura-lib-utils/asura-lib-utils.vcxproj.filters +++ b/build/libs/asura-lib-utils/asura-lib-utils.vcxproj.filters @@ -4,16 +4,16 @@ {30702383-d458-4486-8d86-bd98db74d3c8} - - {6eb6ffb5-ecd9-408b-a2f4-c14837822850} - {d46782e8-fa86-46be-8e3e-728d313acfed} {3a94ee03-c8db-4d2e-b0b6-5f6ba157580d} - + + {6eb6ffb5-ecd9-408b-a2f4-c14837822850} + + {b4b078e1-bb8d-4cb3-84b9-963e851be123} @@ -21,15 +21,6 @@ exceptions - - filesystem - - - filesystem - - - filesystem - math @@ -46,26 +37,45 @@ math - - filesystem\binding + + + io\binding + + + io\binding + + + io + + + io + + + io + + + io + + + io + + + io\binding + + + io\binding + + + io + + + io\binding exceptions - - filesystem - - - filesystem - - - filesystem - - - filesystem - math @@ -100,6 +110,31 @@ + + + + + + io + + + io + + + io + + + io + + + io + + + io + + + io + diff --git a/build/tests/05-physfs/05-physfs.vcxproj b/build/tests/05-physfs/05-physfs.vcxproj new file mode 100644 index 0000000..caa2ca6 --- /dev/null +++ b/build/tests/05-physfs/05-physfs.vcxproj @@ -0,0 +1,122 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {5BECAAB3-9C80-4A62-99BB-E48F4667D9CD} + My05physfs + 10.0.17134.0 + + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + Application + true + v141 + MultiByte + + + Application + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + true + + + + + Level3 + Disabled + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + Level3 + MaxSpeed + true + true + true + true + + + true + true + + + + + + + + \ No newline at end of file diff --git a/build/tests/05-physfs/05-physfs.vcxproj.filters b/build/tests/05-physfs/05-physfs.vcxproj.filters new file mode 100644 index 0000000..3c6f4fd --- /dev/null +++ b/build/tests/05-physfs/05-physfs.vcxproj.filters @@ -0,0 +1,17 @@ +锘 + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + \ No newline at end of file diff --git a/build/tests/05-physfs/05-physfs.vcxproj.user b/build/tests/05-physfs/05-physfs.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/build/tests/05-physfs/05-physfs.vcxproj.user @@ -0,0 +1,4 @@ +锘 + + + \ No newline at end of file diff --git a/samples/Hello/main.macro.asset b/samples/Hello/main.macro.asset new file mode 100644 index 0000000..0dce4b9 --- /dev/null +++ b/samples/Hello/main.macro.asset @@ -0,0 +1,2 @@ +#define _DEBUG_BUILD 1 +#define _RELEASE_BUILD 1 \ No newline at end of file diff --git a/source/3rd-party/Luax/luax_class.hpp b/source/3rd-party/Luax/luax_class.hpp index 539ff1a..3d7ede6 100644 --- a/source/3rd-party/Luax/luax_class.hpp +++ b/source/3rd-party/Luax/luax_class.hpp @@ -62,28 +62,47 @@ namespace Luax state.RegisterEnum(name, __e); \ }while(0) +#define LUAX_PREPARE(L, T) \ + LUAX_STATE(L); \ + T* self = state.GetUserdata(1); + + /// + /// 虚基类,为了实现多态。需要访问下面这些接口的外部基类需要虚继承此类,之后再派生链中就会调用对应实体的方法。注意继承此 + /// 类时不能实现下面的方法,实现在LuaxNativeClass中,实现会导致二义性。 + /// + class ILuaxNativeAccessor + { + public: + + /// + /// 成员引用管理,在实例的ref table里。设置、取、清除 + /// + virtual bool PushLuaxMemberRef(LuaxState& state, int refID) { assert(false); return false; }; + + }; + /// /// 需要暴露给lua的native class需要继承此类。通过lua管理的实例要确保引用计数的正确性,在多个线程中需要确定不会误释放。 /// template - class LuaxNativeClass + class LuaxNativeClass : public virtual ILuaxNativeAccessor { public: + static bool IsTypeOf(ILuaxNativeAccessor); + /// - /// 将userdata作为key,在ref table里对userdata添加一个引用,以维持userdata的生命周期。 + /// 将userdata作为key,在ref table里对userdata添加一个引用,以维持userdata的生命周期。相比较member ref,这个用在 + /// 实体会被多次被不同其他实体引用的情况,并频繁销毁这些实体,避免lua频繁的调用gc检测。 /// - template void LuaRetain(LuaxState& state, U* userdata); + template void LuaxRetain(LuaxState& state, U* userdata); /// /// 对userdata减少一个引用在ref table里,以尝试回收userdata。 /// - template void LuaRelease(LuaxState& state, U* userdata); + template void LuaxRelease(LuaxState& state, U* userdata); - protected: - - LuaxNativeClass(); - virtual ~LuaxNativeClass(); + bool PushLuaxMemberRef(LuaxState& state, int refID) override; /// /// 将userdata push到栈顶,如果没有初始化mUserdata,初始化设置好元表并把初始化好的userdata留在栈顶。并添加一个引用。 @@ -92,12 +111,17 @@ namespace Luax bool PushLuaxMemberTable(LuaxState& state); bool PushLuaxRefTable(LuaxState& state); + protected: + /// /// 成员引用管理,在实例的ref table里。设置、取、清除 /// - void SetMemberRef(LuaxState& state, LuaxMemberRef& memRef, int idx); - bool PushMemberRef(LuaxState& state, LuaxMemberRef& memRef); - void ClearMemberRef(LuaxState& state, LuaxMemberRef& memRef); + void SetLuaxMemberRef(LuaxState& state, LuaxMemberRef& memRef, int idx); + bool PushLuaxMemberRef(LuaxState& state, LuaxMemberRef& memRef); + void ClearLuaxMemberRef(LuaxState& state, LuaxMemberRef& memRef); + + LuaxNativeClass(); + virtual ~LuaxNativeClass(); private: @@ -122,14 +146,16 @@ namespace Luax /// void BindToLua(LuaxState& state); - //------------------------------------------------------------------------------------------------------------ - /// - /// 所有LuaxNativeClass类型的实例共享的内容 + /// class table,工厂和单例都有。 + /// + static LuaxStrongRef mClassTable; /// - static LuaxStrongRef mClassTable; // class table,工厂和单例都有 - static LuaxStrongRef mSingletonRefTable; // 如果类是单例,这个用来保存singleton的成员,以保证不会被回收类似普通类的 - // ref table。单例的成员是全生命周期的,所以直接在_LUAX_STRONGREF_TABLE + /// 如果类是单例,这个用来保存singleton的引用关系,以保证不会被回收类似普通类的ref table。单例的成员是全生命周期的, + /// 所以直接在_LUAX_STRONGREF_TABLE。单例对userdata进行LuaxRetain\LuaxRelease和member ref操作时和工厂实例不同, + /// 是存在下面这个ref table里的,这个table在_LUAX_STRONGREF_TABLE里。 + /// + static LuaxStrongRef mSingletonRefTable; /// /// 通过userdata可以拿到: @@ -141,16 +167,12 @@ namespace Luax public: - //------------------------------------------------------------------------------------------------------------ // 公共内容 - LUAX_DECL_METHOD( l___tostring ); LUAX_DECL_METHOD( l_GetClass ); LUAX_DECL_METHOD( l_GetClassName ); - //------------------------------------------------------------------------------------------------------------ // 工厂类相关 - LUAX_DECL_METHOD( l___gc ); #if LUAX_ENABLE_NATIVE_EXTEND LUAX_DECL_METHOD( l_ExtendFactory ); @@ -158,7 +180,6 @@ namespace Luax LUAX_DECL_METHOD( l_GetRefTable ); LUAX_DECL_METHOD( l_New ); - //------------------------------------------------------------------------------------------------------------ // 单例类相关 #if LUAX_ENABLE_NATIVE_EXTEND LUAX_DECL_METHOD( l_ExtendSingleton ); diff --git a/source/3rd-party/Luax/luax_class.inl b/source/3rd-party/Luax/luax_class.inl index 7a24896..e2b8de8 100644 --- a/source/3rd-party/Luax/luax_class.inl +++ b/source/3rd-party/Luax/luax_class.inl @@ -87,7 +87,7 @@ namespace Luax template template - void LuaxNativeClass::LuaRetain(LuaxState& state, U* userdata) + void LuaxNativeClass::LuaxRetain(LuaxState& state, U* userdata) { if (PushLuaxRefTable(state)) { @@ -105,7 +105,7 @@ namespace Luax template template - void LuaxNativeClass::LuaRelease(LuaxState& state, U* userdata) + void LuaxNativeClass::LuaxRelease(LuaxState& state, U* userdata) { if (PushLuaxRefTable(state)) { @@ -157,7 +157,7 @@ namespace Luax } } } - state.SetTop(top); + lua_settop(state, top); lua_pushnil(state); return false; } @@ -250,9 +250,9 @@ namespace Luax /// 成员引用管理 /// template - void LuaxNativeClass::SetMemberRef(LuaxState& state, LuaxMemberRef& memRef, int idx) + void LuaxNativeClass::SetLuaxMemberRef(LuaxState& state, LuaxMemberRef& memRef, int idx) { - ClearMemberRef(state, memRef); + ClearLuaxMemberRef(state, memRef); if (!lua_isnil(state, idx)) { idx = state.AbsIndex(idx); @@ -266,7 +266,7 @@ namespace Luax } template - bool LuaxNativeClass::PushMemberRef(LuaxState& state, LuaxMemberRef& memRef) + bool LuaxNativeClass::PushLuaxMemberRef(LuaxState& state, LuaxMemberRef& memRef) { if (memRef) { @@ -285,8 +285,24 @@ namespace Luax return false; } + template + bool LuaxNativeClass::PushLuaxMemberRef(LuaxState& state, int refID) + { + if (PushLuaxRefTable(state)) + { + lua_rawgeti(state, -1, refID); + lua_replace(state, -2); // ref table + if (lua_isnil(state, -1)) + goto failed; + return true; + } + lua_pushnil(state); + failed: + return false; + } + template - void LuaxNativeClass::ClearMemberRef(LuaxState& state, LuaxMemberRef& memRef) + void LuaxNativeClass::ClearLuaxMemberRef(LuaxState& state, LuaxMemberRef& memRef) { if (memRef) { diff --git a/source/3rd-party/Luax/luax_ref.h b/source/3rd-party/Luax/luax_ref.h index b7aabe5..d0001f2 100644 --- a/source/3rd-party/Luax/luax_ref.h +++ b/source/3rd-party/Luax/luax_ref.h @@ -14,7 +14,7 @@ namespace Luax { public: - enum + enum RefMode { STRONG_REF, WEAK_REF diff --git a/source/3rd-party/Luax/luax_state.cpp b/source/3rd-party/Luax/luax_state.cpp index 622f352..8c30c00 100644 --- a/source/3rd-party/Luax/luax_state.cpp +++ b/source/3rd-party/Luax/luax_state.cpp @@ -171,6 +171,11 @@ namespace Luax lua_pushlightuserdata(mState, (void*)value); } + void LuaxState::Push(std::string value) + { + Push(value.c_str()); + } + void LuaxState::PushValues(int idx, int n) { idx = AbsIndex(idx); diff --git a/source/3rd-party/Luax/luax_state.h b/source/3rd-party/Luax/luax_state.h index 564eba3..d675c7c 100644 --- a/source/3rd-party/Luax/luax_state.h +++ b/source/3rd-party/Luax/luax_state.h @@ -98,6 +98,7 @@ namespace Luax void Push(lua_CFunction value); void Push(void* data, size_t size); void Push(const void* value); + void Push(std::string value); /// /// 将idx开始的n个push到栈顶,idx会被取正,n向上生长。 @@ -210,7 +211,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); @@ -228,7 +229,7 @@ namespace Luax template <> const void* LuaxState::GetValue < const void* >(int idx, const void* value); //-------------------------------------------------------------------------------------------------------------- - // CheckParam模板实例化 + // CheckParam模板特化 template <> bool LuaxState::CheckParam < bool >(int idx); template <> cc8* LuaxState::CheckParam < cc8* >(int idx); @@ -254,7 +255,7 @@ namespace Luax if(!state.CheckParams(1, params)) return 0 #define LUAX_STATE(L) \ - LuaxState& state = LuaxRuntime::Get().GetLuaxState(L) + Luax::LuaxState& state = Luax::LuaxRuntime::Get().GetLuaxState(L) } diff --git a/source/3rd-party/Luax/luax_state.inl b/source/3rd-party/Luax/luax_state.inl index 4af45a2..20d132c 100644 --- a/source/3rd-party/Luax/luax_state.inl +++ b/source/3rd-party/Luax/luax_state.inl @@ -25,8 +25,7 @@ namespace Luax assert(IsType(-1, LUA_TFUNCTION)); \ Pop(); - _assertmethod(-1, "New"); - //_assertmethod(-1, "__gc"); + //_assertmethod(-1, "New"); #undef _assertmethod @@ -104,6 +103,17 @@ namespace Luax } } + template + void LuaxState::SetFieldByIndex(int idx, int key, T value) + { + if (IsTableOrUserdata(idx)) + { + idx = AbsIndex(idx); + this->Push(value); + lua_rawseti(mState, idx, key); + } + } + template T LuaxState::GetField(int idx, cc8* key, T value) { diff --git a/source/Asura.Editor/core/signal.h b/source/Asura.Editor/core/signal.h new file mode 100644 index 0000000..f1ab9b4 --- /dev/null +++ b/source/Asura.Editor/core/signal.h @@ -0,0 +1,52 @@ +#ifndef __ASRUA_EDTIRO_SIGNAL_H__ +#define __ASRUA_EDTIRO_SIGNAL_H__ + +#include + +#include + +#include "../widgets/widget.h" +#include "slot.h" + +namespace AsuraEditor +{ + + /// + /// 控件事件 + /// + class Signal + { + public: + Signal(); + + /// + /// Fire将事件发给connect的监听者,触发(调用)connect的函数。 + /// + void operator()(void* userdata) + { + for (auto callback : mCallbacks) + callback(); + } + + /// + /// 注册回调函数。 + /// + void Connect(const Slot& callback) + { + mCallbacks.push_back(callback); + } + + /// + /// + /// + void Disconnect(); + + private: + + std::vector mCallbacks; // 监听函数 + + }; + +} + +#endif \ No newline at end of file diff --git a/source/Asura.Editor/core/slot.h b/source/Asura.Editor/core/slot.h new file mode 100644 index 0000000..ff565cf --- /dev/null +++ b/source/Asura.Editor/core/slot.h @@ -0,0 +1,43 @@ +#ifndef __ASURA_EDITOR_SLOT_H__ +#define __ASURA_EDITOR_SLOT_H__ + +#include +#include + +#include "../widgets/widget.h" + +namespace AsuraEditor +{ + + /// + /// 响应signal的闭包 + /// + class Slot + { + public: + Slot(Luax::LuaxState& state, Widget& widget, int refID) + : mState(state) + , mRefID(refID) + , mWidget(widget) + { + } + + void operator()() + { + mWidget.PushLuaxMemberRef(mState, mRefID); + if (lua_isfunction(mState, -1)) // callback + { + mState.Call(0, 0); + } + } + + private: + Luax::LuaxState& mState; + Widget& mWidget; + int mRefID; + + }; + +} + +#endif \ No newline at end of file diff --git a/source/Asura.Editor/dui_module.cpp b/source/Asura.Editor/dui_module.cpp index e69de29..63b7361 100644 --- a/source/Asura.Editor/dui_module.cpp +++ b/source/Asura.Editor/dui_module.cpp @@ -0,0 +1,8 @@ +#include "dui_module.h" + +namespace AsuraEditor +{ + + + +} diff --git a/source/Asura.Editor/dui_module.h b/source/Asura.Editor/dui_module.h index abcaca5..48c341f 100644 --- a/source/Asura.Editor/dui_module.h +++ b/source/Asura.Editor/dui_module.h @@ -1,6 +1,24 @@ #ifndef __ASRUA_EDITOR_DIRECTUI_MODULE_H__ #define __ASRUA_EDITOR_DIRECTUI_MODULE_H__ +#include +namespace AsuraEditor +{ + + /// + /// Direct UI module. + /// + class DUIModule : public AsuraEngine::Module + { + public: + + void Initialize(Luax::LuaxState& state) override; + + void Finalize(Luax::LuaxState& state) override; + + }; + +} #endif \ No newline at end of file diff --git a/source/Asura.Editor/editor.h b/source/Asura.Editor/editor.h index 6555c81..b56852f 100644 --- a/source/Asura.Editor/editor.h +++ b/source/Asura.Editor/editor.h @@ -1,14 +1,29 @@ #ifndef __ASURA_EDITOR_H__ #define __ASURA_EDITOR_H__ +#include + namespace AsuraEditor { /// - /// + /// 编辑器实例。 /// class Editor { + public: + + /// + /// 获得界面的lua State + /// + Luax::LuaxState& GetLuaxState(); + + private: + + /// + /// 界面和逻辑运行的state。 + /// + lua_State* mMainState; }; diff --git a/source/Asura.Editor/events/events.h b/source/Asura.Editor/events/events.h deleted file mode 100644 index bbe5cc3..0000000 --- a/source/Asura.Editor/events/events.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef __ASUSRA_EDITOR_EVENT_H__ -#define __ASUSRA_EDITOR_EVENT_H__ - -namespace AsuraEditor -{ - namespace Events - { - - enum EventType - { - GRAPHIC_EVENT, - KEYBOARD_EVENT, - MOUSE_EVENT - }; - - enum GraphicEvent - { - EVENT_PAINT, - }; - - } -} - -#endif \ No newline at end of file diff --git a/source/Asura.Editor/graphics/shader.cpp b/source/Asura.Editor/graphics/shader.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/source/Asura.Editor/graphics/shader.h b/source/Asura.Editor/graphics/shader.h deleted file mode 100644 index 7511e1c..0000000 --- a/source/Asura.Editor/graphics/shader.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef __ASURA_EDITOR_SHADER_H__ -#define __ASURA_EDITOR_SHADER_H__ - -#include - -namespace AsuraEditor -{ - - /// - /// 编辑器中使用的shader,不会有lua接口。 - /// - class Shader : public AEGraphics::Shader - { - public: - - - }; - -} - -#endif \ No newline at end of file diff --git a/source/Asura.Editor/scripts/asset_view.lua b/source/Asura.Editor/scripts/asset_view.lua new file mode 100644 index 0000000..e69de29 diff --git a/source/Asura.Editor/scripts/main.lua b/source/Asura.Editor/scripts/main.lua index a513f87..76fab7a 100644 --- a/source/Asura.Editor/scripts/main.lua +++ b/source/Asura.Editor/scripts/main.lua @@ -1,5 +1,4 @@ -local Editor = require("Asura.Editor") --编辑器入口 ---编辑器真正的内容在Asura.Editor/Scripts下面实现 +--编辑器真正的内容在Asura.Editor/scripts下面实现 diff --git a/source/Asura.Editor/scripts/scene_view.lua b/source/Asura.Editor/scripts/scene_view.lua index ff96b2c..db4790f 100644 --- a/source/Asura.Editor/scripts/scene_view.lua +++ b/source/Asura.Editor/scripts/scene_view.lua @@ -1,2 +1 @@ -- 鍦烘櫙绐楀彛 - diff --git a/source/Asura.Editor/widgets/binding/_button.cpp b/source/Asura.Editor/widgets/binding/_button.cpp new file mode 100644 index 0000000..463aef6 --- /dev/null +++ b/source/Asura.Editor/widgets/binding/_button.cpp @@ -0,0 +1,60 @@ +#include "../button.h" + +using namespace Luax; + +namespace AsuraEditor +{ + + LUAX_REGISTRY(Button) + { + + // Button.EStatus.xxx + LUAX_REGISTER_ENUM(state, "EStatus", + { "NORMAL", BUTTON_STATUS_NORMAL }, + { "PUSHED", BUTTON_STATUS_PUSHED }, + { "HOVER", BUTTON_STATUS_HOVER }, + { "DISABLED", BUTTON_STATUS_DISABLED }, + { "FOCUSED", BUTTON_STATUS_FOCUSED } + ); + + // Button.EMsg.xxx + LUAX_REGISTER_ENUM(state, "EMessage", + { "CLICK", BUTTON_MSG_CLICK }, + { "HOVER", BUTTON_MSG_HOVER }, + { "FOCUS", BUTTON_MSG_KILLFOCUS } + ); + + } + + LUAX_POSTPROCESS(Button) + { + + } + + // button:Connect(msg, callback) + LUAX_IMPL_METHOD(Button, _Connect) + { + LUAX_STATE(L); + + Button* self = state.GetUserdata