diff --git a/Dependencies.bat b/Dependencies.bat
index ecbd80b3..694b6858 100644
--- a/Dependencies.bat
+++ b/Dependencies.bat
@@ -8,36 +8,36 @@ echo "A - All"
echo "B - VMA"
echo "C - msdf"
echo "D - assimp"
-echo "E - ktx"
-echo "F - spdlog"
-echo "G - reactphysics3d"
-echo "H - imgui"
-echo "I - imguizmo"
-echo "J - imnodes"
-echo "K - tracy"
-echo "L - RTTR"
-echo "M - yamlcpp"
-echo "N - dotnet"
+echo "E - spdlog"
+echo "F - reactphysics3d"
+echo "G - imgui"
+echo "H - imguizmo"
+echo "I - imnodes"
+echo "J - tracy"
+echo "K - RTTR"
+echo "L - yamlcpp"
+echo "N - SDL"
+echo "O - dotnet"
echo ---------------------------------------------------
echo.
-choice /C ABCDEFGHIJKLMN /T 10 /D A
+choice /C ABCDEFGHIJKLMNO /T 10 /D A
set _e=%ERRORLEVEL%
if %_e%==1 goto VMA
if %_e%==2 goto VMA
if %_e%==3 goto MSDF
if %_e%==4 goto assimp
-if %_e%==5 goto ktx
-if %_e%==6 goto spdlog
-if %_e%==7 goto reactphysics3d
-if %_e%==8 goto imgui
-if %_e%==9 goto imguizmo
-if %_e%==10 goto imnodes
-if %_e%==11 goto tracy
-if %_e%==12 goto RTTR
-if %_e%==13 goto yamlcpp
-if %_e%==14 goto dotnet
+if %_e%==5 goto spdlog
+if %_e%==6 goto reactphysics3d
+if %_e%==7 goto imgui
+if %_e%==8 goto imguizmo
+if %_e%==9 goto imnodes
+if %_e%==10 goto tracy
+if %_e%==11 goto RTTR
+if %_e%==12 goto yamlcpp
+if %_e%==14 goto SDL
+if %_e%==15 goto dotnet
:VMA
echo -----------------------VMA----------------------------
@@ -55,60 +55,73 @@ if %_e%==3 (goto :done) else (goto :assimp)
echo -----------------------assimp----------------------------
rmdir "Dependencies/assimp" /S /Q
git clone https://github.com/SHADE-DP/assimp.git "Dependencies/assimp"
-if %_e%==4 (goto :done) else (goto :ktx)
+if %_e%==4 (goto :done) else (goto :spdlog)
-:ktx
-rmdir "Dependencies/ktx" /S /Q
-echo -----------------------ktx----------------------------
-git clone https://github.com/SHADE-DP/ktx.git "Dependencies/ktx"
-if %_e%==5 (goto :done) else (goto :spdlog)
+@REM :ktx
+@REM rmdir "Dependencies/ktx" /S /Q
+@REM echo -----------------------ktx----------------------------
+@REM git clone https://github.com/SHADE-DP/ktx.git "Dependencies/ktx"
+@REM if %_e%==5 (goto :done) else (goto :spdlog)
:spdlog
echo -----------------------spdlog----------------------------
rmdir "Dependencies/spdlog" /S /Q
git clone https://github.com/SHADE-DP/spdlog.git "Dependencies/spdlog"
-if %_e%==6 (goto :done) else (goto :reactphysics3d)
+if %_e%==5 (goto :done) else (goto :reactphysics3d)
:reactphysics3d
echo -----------------------reactphysics3d----------------------------
rmdir "Dependencies/reactphysics3d" /S /Q
git clone https://github.com/SHADE-DP/reactphysics3d.git "Dependencies/reactphysics3d"
-if %_e%==7 (goto :done) else (goto :imgui)
+if %_e%==6 (goto :done) else (goto :imgui)
:imgui
echo -----------------------imgui----------------------------
rmdir "Dependencies/imgui" /S /Q
git clone https://github.com/SHADE-DP/imgui.git "Dependencies/imgui"
-if %_e%==8 (goto :done) else (goto :imguizmo)
+if %_e%==7 (goto :done) else (goto :imguizmo)
:imguizmo
echo -----------------------imguizmo----------------------------
rmdir "Dependencies/imguizmo" /S /Q
git clone https://github.com/SHADE-DP/ImGuizmo.git "Dependencies/imguizmo"
-if %_e%==9 (goto :done) else (goto :imnodes)
+if %_e%==8 (goto :done) else (goto :imnodes)
:imnodes
echo -----------------------imnodes----------------------------
rmdir "Dependencies/imnodes" /S /Q
git clone https://github.com/SHADE-DP/imnodes.git "Dependencies/imnodes"
-if %_e%==10 (goto :done) else (goto :tracy)
+if %_e%==9 (goto :done) else (goto :tracy)
:tracy
echo -----------------------tracy----------------------------
rmdir "Dependencies/tracy" /S /Q
git clone https://github.com/SHADE-DP/tracy.git "Dependencies/tracy"
-if %_e%==11 (goto :done) else (goto :RTTR)
+if %_e%==10 (goto :done) else (goto :RTTR)
:RTTR
echo -----------------------RTTR----------------------------
rmdir "Dependencies/RTTR" /S /Q
git clone https://github.com/SHADE-DP/RTTR.git "Dependencies/RTTR"
-if %_e%==12 (goto :done) else (goto :yamlcpp)
+if %_e%==11 (goto :done) else (goto :yamlcpp)
:yamlcpp
echo -----------------------yamlcpp----------------------------
rmdir "Dependencies/yamlcpp" /S /Q
git clone https://github.com/SHADE-DP/yaml-cpp.git "Dependencies/yamlcpp"
+if %_e%==12 (goto :done) else (goto :SDL)
+
+:SDL
+echo -----------------------SDL----------------------------
+rmdir "Dependencies/SDL" /S /Q
+mkdir "Dependencies/SDL/include"
+mkdir "Dependencies/SDL/lib"
+powershell -Command "& {wget https://github.com/libsdl-org/SDL/releases/download/release-2.24.0/SDL2-devel-2.24.0-VC.zip -OutFile "Dependencies/SDL/SDL.zip"}"
+powershell -Command "& {Expand-Archive -LiteralPath Dependencies/SDL/SDL.zip -DestinationPath Dependencies/SDL/tmp}"
+robocopy "Dependencies/SDL/tmp/SDL2-2.24.0/lib/x64" "Dependencies/SDL/lib/" /ns /nfl /ndl /nc /njh
+robocopy "Dependencies/SDL/tmp/SDL2-2.24.0/include/" "Dependencies/SDL/include/" /ns /nfl /ndl /nc /njh
+rmdir "Dependencies/SDL/tmp/" /s /q
+powershell -Command "& {Remove-Item "Dependencies/SDL/SDL.zip"}"
if %_e%==13 (goto :done) else (goto :dotnet)
:dotnet
diff --git a/Dependencies.lua b/Dependencies.lua
index 7f1281ab..9877a70e 100644
--- a/Dependencies.lua
+++ b/Dependencies.lua
@@ -10,7 +10,7 @@ IncludeDir["tracy"] = "%{wks.location}/Dependencies/tracy"
IncludeDir["VMA"] = "%{wks.location}/Dependencies/VMA"
IncludeDir["yamlcpp"] = "%{wks.location}/Dependencies/yamlcpp/include"
IncludeDir["RTTR"] = "%{wks.location}/Dependencies/RTTR"
-IncludeDir["ktx"] = "%{wks.location}/Dependencies/ktx"
IncludeDir["reactphysics3d"] = "%{wks.location}/Dependencies/reactphysics3d"
+IncludeDir["SDL"] = "%{wks.location}/Dependencies/SDL"
IncludeDir["VULKAN"] = "$(VULKAN_SDK)"
IncludeDir["dotnet"] = "%{wks.location}/Dependencies/dotnet"
diff --git a/SHADE_Application/SHADE_Application.vcxproj b/SHADE_Application/SHADE_Application.vcxproj
index f49865b3..268076af 100644
--- a/SHADE_Application/SHADE_Application.vcxproj
+++ b/SHADE_Application/SHADE_Application.vcxproj
@@ -59,8 +59,9 @@
Use
SBpch.h
Level4
+ 4251;%(DisableSpecificWarnings)
_DEBUG;%(PreprocessorDefinitions)
- ..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories)
+ ..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;..\Dependencies\dotnet\include;..\Dependencies\SDL\include;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
false
@@ -71,6 +72,8 @@
Windows
true
+ SDL2.lib;SDL2main.lib;%(AdditionalDependencies)
+ ..\Dependencies\spdlog\lib;..\Dependencies\SDL\lib;%(AdditionalLibraryDirectories)
wWinMainCRTStartup
@@ -79,8 +82,9 @@
Use
SBpch.h
Level4
+ 4251;%(DisableSpecificWarnings)
_RELEASE;%(PreprocessorDefinitions)
- ..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories)
+ ..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;..\Dependencies\dotnet\include;..\Dependencies\SDL\include;%(AdditionalIncludeDirectories)
Full
true
true
@@ -94,6 +98,8 @@
Windows
true
true
+ SDL2.lib;SDL2main.lib;%(AdditionalDependencies)
+ ..\Dependencies\spdlog\lib;..\Dependencies\SDL\lib;%(AdditionalLibraryDirectories)
wWinMainCRTStartup
diff --git a/SHADE_Application/premake5.lua b/SHADE_Application/premake5.lua
index 468eac39..9aa1707b 100644
--- a/SHADE_Application/premake5.lua
+++ b/SHADE_Application/premake5.lua
@@ -26,6 +26,7 @@ project "SHADE_Application"
"../SHADE_Engine/src",
"src",
"%{IncludeDir.dotnet}/include",
+ "%{IncludeDir.SDL}/include",
}
flags
@@ -36,7 +37,20 @@ project "SHADE_Application"
links
{
"SHADE_Engine",
- "SHADE_Managed"
+ "SHADE_Managed",
+ "SDL2.lib",
+ "SDL2main.lib"
+ }
+
+ libdirs
+ {
+ "%{IncludeDir.spdlog}/lib",
+ "%{IncludeDir.SDL}/lib",
+ }
+
+ disablewarnings
+ {
+ "4251"
}
warnings 'Extra'
diff --git a/SHADE_Application/src/Application/SBApplication.cpp b/SHADE_Application/src/Application/SBApplication.cpp
index 3e5e116d..171f4995 100644
--- a/SHADE_Application/src/Application/SBApplication.cpp
+++ b/SHADE_Application/src/Application/SBApplication.cpp
@@ -12,6 +12,7 @@
#include
#include
#include
+#include
#include "Scripting/SHScriptEngine.h"
@@ -29,7 +30,9 @@ namespace Sandbox
// Set working directory
SHADE::SHFileUtilities::SetWorkDirToExecDir();
+ SDL_Init(SDL_INIT_VIDEO);
window.Create(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
+ SDL_CreateWindowFrom(window.GetHWND());
#ifdef SHEDITOR
#else
@@ -53,9 +56,10 @@ namespace Sandbox
void SBApplication::Exit(void)
{
- // Shutdown scripting
- SHADE::SHScriptEngine::Exit();
+ // Shutdown scripting
+ SHADE::SHScriptEngine::Exit();
+ SDL_DestroyWindow(sdlWindow);
#ifdef SHEDITOR
#else
#endif
diff --git a/SHADE_Application/src/Application/SBApplication.h b/SHADE_Application/src/Application/SBApplication.h
index a1bf11eb..9a6e4153 100644
--- a/SHADE_Application/src/Application/SBApplication.h
+++ b/SHADE_Application/src/Application/SBApplication.h
@@ -1,6 +1,7 @@
#ifndef SB_APPLICATION_H
#define SB_APPLICATION_H
-#include
+#include
+#include "Graphics/Windowing/SHWindow.h"
//using namespace SHADE;
namespace Sandbox
@@ -9,6 +10,7 @@ namespace Sandbox
{
private:
SHADE::SHWindow window;
+ SDL_Window* sdlWindow;
//SHAppConfig config;
public:
SBApplication() = default;
diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj
index 9c568502..16d90974 100644
--- a/SHADE_Engine/SHADE_Engine.vcxproj
+++ b/SHADE_Engine/SHADE_Engine.vcxproj
@@ -59,8 +59,9 @@
Use
SHpch.h
Level4
+ 4251;%(DisableSpecificWarnings)
_LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;SH_API_EXPORT;_DEBUG;%(PreprocessorDefinitions)
- src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories)
+ src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\SDL\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
false
@@ -71,8 +72,8 @@
Windows
true
- vulkan-1.lib;shaderc_shared.lib;shlwapi.lib;assimp-vc142-mtd.lib;librttr_core_d.lib;spdlogd.lib;%(AdditionalDependencies)
- libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories)
+ vulkan-1.lib;SDL2.lib;SDL2main.lib;shaderc_shared.lib;shlwapi.lib;assimp-vc142-mtd.lib;librttr_core_d.lib;spdlogd.lib;%(AdditionalDependencies)
+ libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\SDL\lib;..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories)
..\bin\Debug\SHADE_Engine.lib
@@ -85,8 +86,9 @@ xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)"Use
SHpch.h
Level4
+ 4251;%(DisableSpecificWarnings)
_LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;SH_API_EXPORT;_RELEASE;%(PreprocessorDefinitions)
- src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories)
+ src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\SDL\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories)
Full
true
true
@@ -100,8 +102,8 @@ xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)"Windows
true
true
- vulkan-1.lib;shaderc_shared.lib;shlwapi.lib;assimp-vc142-mt.lib;librttr_core.lib;spdlog.lib;%(AdditionalDependencies)
- libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories)
+ vulkan-1.lib;SDL2.lib;SDL2main.lib;shaderc_shared.lib;shlwapi.lib;assimp-vc142-mt.lib;librttr_core.lib;spdlog.lib;%(AdditionalDependencies)
+ libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\SDL\lib;..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories)
..\bin\Release\SHADE_Engine.lib
diff --git a/SHADE_Engine/premake5.lua b/SHADE_Engine/premake5.lua
index 6d6cb17f..ddfdbcd8 100644
--- a/SHADE_Engine/premake5.lua
+++ b/SHADE_Engine/premake5.lua
@@ -32,7 +32,7 @@ project "SHADE_Engine"
"%{IncludeDir.tracy}",
"%{IncludeDir.VMA}/include",
"%{IncludeDir.yamlcpp}",
- "%{IncludeDir.ktx}/include",
+ "%{IncludeDir.SDL}/include",
"%{IncludeDir.RTTR}/include",
"%{IncludeDir.reactphysics3d}/include",
"%{IncludeDir.VULKAN}/include",
@@ -47,6 +47,7 @@ project "SHADE_Engine"
"%{IncludeDir.assimp}/lib/Debug",
"%{IncludeDir.assimp}/lib/Release",
"%{IncludeDir.RTTR}/lib",
+ "%{IncludeDir.SDL}/lib",
"%{IncludeDir.spdlog}/lib"
}
@@ -58,10 +59,17 @@ project "SHADE_Engine"
"reactphysics3d",
"imgui",
"vulkan-1.lib",
+ "SDL2.lib",
+ "SDL2main.lib",
"shaderc_shared.lib",
"shlwapi.lib"
}
+ disablewarnings
+ {
+ "4251"
+ }
+
defines
{
"_LIB",