diff --git a/.gitignore b/.gitignore index 0f28dcb..cf1a794 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,8 @@ vsxmake*/ engine/logs/zengine.log tools/ +src/engine/UnitTests/ +src/engine/wrapper/ +src/engine/scripts/ +x64/ +src/engine/idk/phys/PhysicsSystemNoMT.cpp diff --git a/src/3rdparty/xmake.lua b/src/3rdparty/xmake.lua index 1ca9d18..c08b598 100644 --- a/src/3rdparty/xmake.lua +++ b/src/3rdparty/xmake.lua @@ -1,5 +1,5 @@ --includes("*/xmake.lua") add_requires("gtest") -add_requires("vulkansdk","imgui") +add_requires("vulkansdk","spirv-tools") add_requires("glfw") add_requires("assimp","freetype","glad","glslang","spirv-cross","stb") \ No newline at end of file diff --git a/src/engine/asset_compiler/asset_compiler.vcxproj b/src/engine/asset_compiler/asset_compiler.vcxproj index d5cb6e9..f47657c 100644 --- a/src/engine/asset_compiler/asset_compiler.vcxproj +++ b/src/engine/asset_compiler/asset_compiler.vcxproj @@ -190,7 +190,7 @@ if %errorlevel% NEQ 0 exit /b %errorlevel% Console true - assimp-vc142-mt.lib;coreD.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + assimp-vc142-mt.lib;coreD.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;freetype.lib;%(AdditionalDependencies) /ignore:4099 %(AdditionalOptions) diff --git a/src/engine/editor/IDE.h b/src/engine/editor/IDE.h index 1b6c6f8..8d4bb83 100644 --- a/src/engine/editor/IDE.h +++ b/src/engine/editor/IDE.h @@ -21,7 +21,7 @@ Accessible through Core::GetSystem() [#include ] #include #include #include - +#include "windows/IGE_IWindow.h" #undef FindWindow namespace idk diff --git a/src/engine/editor/windows/IGE_GfxDebugWindow.cpp b/src/engine/editor/windows/IGE_GfxDebugWindow.cpp index 1238ad4..12af518 100644 --- a/src/engine/editor/windows/IGE_GfxDebugWindow.cpp +++ b/src/engine/editor/windows/IGE_GfxDebugWindow.cpp @@ -18,6 +18,7 @@ #include #include +#include //#pragma optimize("",off) namespace idk diff --git a/src/engine/game/game.vcxproj b/src/engine/game/game.vcxproj index e8b0b5a..27231c1 100644 --- a/src/engine/game/game.vcxproj +++ b/src/engine/game/game.vcxproj @@ -152,7 +152,7 @@ Windows true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);coreD.lib;win32D.lib;vulkanD.lib;idk_openglD.lib;editorD.lib + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);coreD.lib;win32D.lib;vulkanD.lib;idk_openglD.lib;editorD.lib;glslangd.lib /ignore:4006 /ignore:4075 /ignore:4099 %(AdditionalOptions) diff --git a/src/engine/idk/IDK.vcxproj b/src/engine/idk/IDK.vcxproj index 8776079..3670575 100644 --- a/src/engine/idk/IDK.vcxproj +++ b/src/engine/idk/IDK.vcxproj @@ -819,7 +819,7 @@ true _ENABLE_EXTENDED_ALIGNED_STORAGE;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) true - stdcpp17 + stdcpp20 true 4201; 4505 $(ProjectDir);$(SolutionDir)dep\include\;%VULKAN_SDK%\Include\ diff --git a/src/engine/idk/network/MessageStream.h b/src/engine/idk/network/MessageStream.h index 9608b74..f93f4e8 100644 --- a/src/engine/idk/network/MessageStream.h +++ b/src/engine/idk/network/MessageStream.h @@ -5,7 +5,7 @@ namespace idk { namespace detail { - ;;inline consteval int bits_required(int32_t min, int32_t max) + inline consteval int bits_required(int32_t min, int32_t max) { uint32_t val = max - min; int ret = 0; diff --git a/src/engine/idk/res/ResourceHandle.inl b/src/engine/idk/res/ResourceHandle.inl index 39729e3..1e411e3 100644 --- a/src/engine/idk/res/ResourceHandle.inl +++ b/src/engine/idk/res/ResourceHandle.inl @@ -2,10 +2,10 @@ #include #include +#include #include #include #include - namespace idk { template diff --git a/src/engine/idk/res/ResourceUtils.inl b/src/engine/idk/res/ResourceUtils.inl index fad48a1..734ce9c 100644 --- a/src/engine/idk/res/ResourceUtils.inl +++ b/src/engine/idk/res/ResourceUtils.inl @@ -38,4 +38,11 @@ namespace idk template struct ResourceFinder : Baseresource_finder {}; template struct ResourceFinder : RawResourceFinder {}; } + + template + struct BaseResource + { + using type = typename detail::ResourceFinder::type; + static constexpr auto value = detail::ResourceFinder::value; + }; } \ No newline at end of file diff --git a/src/engine/launcher/launcher.vcxproj b/src/engine/launcher/launcher.vcxproj index 1b1dd23..f1f537f 100644 --- a/src/engine/launcher/launcher.vcxproj +++ b/src/engine/launcher/launcher.vcxproj @@ -205,7 +205,7 @@ if %errorlevel% NEQ 0 exit /b %errorlevel% Console - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;SPIRV-Toolsd.lib;OGLCompilerd.lib;SPIRVd.lib;OSDependentd.lib;glslangd.lib;shaderc_utild.lib;shadercd.lib;vulkan-1.lib;win32D.lib;dspirv-cross-reflect.lib;dspirv-cross-glsl.lib;dspirv-cross-cpp.lib;dspirv-cross-core.lib;%(AdditionalDependencies) /ignore:4099 %(AdditionalOptions) diff --git a/src/engine/opengl/idk_opengl.vcxproj b/src/engine/opengl/idk_opengl.vcxproj index 3fb0163..77ae052 100644 --- a/src/engine/opengl/idk_opengl.vcxproj +++ b/src/engine/opengl/idk_opengl.vcxproj @@ -220,7 +220,7 @@ _ENABLE_EXTENDED_ALIGNED_STORAGE;_DEBUG;_LIB;%(PreprocessorDefinitions) true pch.h - $(SolutionDir)projects\idk\;$(SolutionDir)projects\;$(SolutionDir)dep\include\;$(SolutionDir)projects\win32\ + $(SolutionDir)projects\idk\;$(SolutionDir)projects\;$(SolutionDir)dep\include\;$(SolutionDir)projects\win32\;$(SolutionDir)projects\editorstatic\ stdcpplatest false /bigobj %(AdditionalOptions) diff --git a/src/engine/opengl/system/OpenGLGraphicsSystem.cpp b/src/engine/opengl/system/OpenGLGraphicsSystem.cpp index f92f4e1..1f0b995 100644 --- a/src/engine/opengl/system/OpenGLGraphicsSystem.cpp +++ b/src/engine/opengl/system/OpenGLGraphicsSystem.cpp @@ -1,6 +1,7 @@ #include "pch.h" #include +#include #include #include #include diff --git a/src/engine/vkn/utils/utils.inl b/src/engine/vkn/utils/utils.inl index ecba6df..e55d8fb 100644 --- a/src/engine/vkn/utils/utils.inl +++ b/src/engine/vkn/utils/utils.inl @@ -71,11 +71,6 @@ namespace idk::vkn::meta { static constexpr T value= front; }; - template - struct Count - { - //static_assert(false, "Count out of bounds!"); - }; @@ -316,7 +311,11 @@ namespace idk::vkn::meta template typename tuple> struct Cull> { - using seq_t = std::make_index_sequence; + consteval static size_t MinSize() { + constexpr size_t M = sizeof...(Args); + return M > N ? N : M; + } + using seq_t = std::make_index_sequence; using type = typename detail::shuffle>::type; }; diff --git a/src/engine/win32/WindowsApplication.cpp b/src/engine/win32/WindowsApplication.cpp index 4388d5d..6f53699 100644 --- a/src/engine/win32/WindowsApplication.cpp +++ b/src/engine/win32/WindowsApplication.cpp @@ -317,8 +317,8 @@ namespace idk::win void Windows::SetTitle(string_view new_title) { - //std::wstring wide_str{ new_title.begin(), new_title.end() }; - SetWindowText(hWnd, new_title.data()); + std::wstring wide_str{ new_title.begin(), new_title.end() }; + SetWindowText(hWnd, wide_str.data()); } string Windows::GetExecutableDir() { diff --git a/src/xmake.lua b/src/xmake.lua index 35ff599..3f0aa8b 100644 --- a/src/xmake.lua +++ b/src/xmake.lua @@ -25,7 +25,7 @@ target("asset_compiler") target("editor") set_kind("binary") add_deps("idk","vkn","editorstatic") - add_packages("vulkansdk","imgui") + add_packages("vulkansdk") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]])