diff --git a/External/SDK/Clang/Windows/Clang.bff b/External/SDK/Clang/Windows/Clang.bff
index 39aaa4f..5237edc 100644
--- a/External/SDK/Clang/Windows/Clang.bff
+++ b/External/SDK/Clang/Windows/Clang.bff
@@ -151,6 +151,11 @@ Compiler( 'Compiler-Clang19-NonCL' )
.Compiler = 'Compiler-Clang19'
.CommonCompilerOptions = ' -c' // Compile only
+ ' /Z7' // Include debug info
+ + ' -D_CRT_SECURE_NO_WARNINGS'
+
+ // Unicode
+ + ' /utf-8'
+ + ' /D "_UNICODE" /D "UNICODE"'
// Include paths
+ ' -I"./"'
@@ -186,6 +191,11 @@ Compiler( 'Compiler-Clang19-NonCL' )
.Compiler = 'Compiler-Clang19-NonCL'
.CommonCompilerOptions = ' -c' // Compile only
+ ' -g' // Include debug info
+ + ' -D_CRT_SECURE_NO_WARNINGS'
+
+ // Unicode
+ + ' /utf-8'
+ + ' /D "_UNICODE" /D "UNICODE"'
// Include paths
+ ' "-I./"'
diff --git a/External/SDK/VisualStudio/VS2022.bff b/External/SDK/VisualStudio/VS2022.bff
index dad3d15..a36bb3d 100644
--- a/External/SDK/VisualStudio/VS2022.bff
+++ b/External/SDK/VisualStudio/VS2022.bff
@@ -145,6 +145,11 @@ Compiler( 'Compiler-VS2022-ARM64' )
+ ' /GR-' // No RTTI
+ ' /EHs-c-' // No exceptions
+ + ' -D_CRT_SECURE_NO_WARNINGS'
+
+ + ' /utf-8'
+ + ' /D "_UNICODE" /D "UNICODE"'
+
// Warnings
+ ' /Wall' // Enable all warnings (we'll disable those that are not useful)
+ ' /WX' // Warnings as errors
diff --git a/Game/Game.vcxproj b/Game/Game.vcxproj
index 4887c02..c3d9e1f 100644
--- a/Game/Game.vcxproj
+++ b/Game/Game.vcxproj
@@ -177,8 +177,8 @@
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -187,8 +187,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -197,8 +197,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -207,8 +207,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -217,8 +217,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -227,8 +227,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -237,8 +237,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -247,8 +247,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -257,8 +257,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -267,8 +267,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -277,8 +277,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -287,8 +287,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
diff --git a/Juliet/Juliet.vcxproj b/Juliet/Juliet.vcxproj
index 54e837b..1722a3f 100644
--- a/Juliet/Juliet.vcxproj
+++ b/Juliet/Juliet.vcxproj
@@ -235,9 +235,9 @@
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
- WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
$(SolutionDir)\bin\$(Configuration)\
@@ -245,9 +245,9 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
- WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
$(SolutionDir)\bin\$(Configuration)\
@@ -255,9 +255,9 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
- WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
$(SolutionDir)\bin\$(Configuration)\
@@ -265,9 +265,9 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
- WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
$(SolutionDir)\bin\$(Configuration)\
@@ -275,9 +275,9 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
- WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
$(SolutionDir)\bin\$(Configuration)\
@@ -285,9 +285,9 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
- WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
$(SolutionDir)\bin\$(Configuration)\
diff --git a/Juliet/include/Core/Common/String.h b/Juliet/include/Core/Common/String.h
index 7f6c039..3914566 100644
--- a/Juliet/include/Core/Common/String.h
+++ b/Juliet/include/Core/Common/String.h
@@ -137,8 +137,8 @@ namespace Juliet
// src and dst will be casted based on the encoding.
// size will correspond to the number of characters
// Will convert \0 character if present.
- extern JULIET_API bool ConvertString(StringEncoding from, StringEncoding to, String src, StringBuffer& dst);
- extern JULIET_API bool ConvertString(String from, String to, String src, StringBuffer& dst);
+ extern JULIET_API bool ConvertString(StringEncoding from, StringEncoding to, String src, StringBuffer& dst, bool nullTerminate);
+ extern JULIET_API bool ConvertString(String from, String to, String src, StringBuffer& dst, bool nullTerminate);
} // namespace Juliet
diff --git a/Juliet/src/Core/Common/String.cpp b/Juliet/src/Core/Common/String.cpp
index 8b9c15f..7b55149 100644
--- a/Juliet/src/Core/Common/String.cpp
+++ b/Juliet/src/Core/Common/String.cpp
@@ -249,7 +249,7 @@ namespace Juliet
return 0;
}
- bool ConvertString(StringEncoding from, StringEncoding to, String src, StringBuffer& dst)
+ bool ConvertString(StringEncoding from, StringEncoding to, String src, StringBuffer& dst, bool nullTerminate)
{
Assert(IsValid(src));
@@ -421,10 +421,38 @@ namespace Juliet
case StringEncoding::UCS4: Assert(false, "ConvertString: Unsupported Destination Format"); break;
}
}
+
+ if (nullTerminate)
+ {
+ switch (to)
+ {
+ case StringEncoding::UTF16:
+ {
+ if (remainingCapacity < 2)
+ {
+ Log(LogLevel::Error, LogCategory::Core,
+ "ConvertString: Destination buffer too short to add null terminator into UTF16 buffer");
+ return false;
+ }
+ dstStr[0] = 0;
+ dstStr[1] = 0;
+ remainingCapacity -= 2;
+ break;
+ }
+ case StringEncoding::Unknown: Assert(false, "ConvertString: Invalid Source Format: Unknown"); break;
+ case StringEncoding::ASCII:
+ case StringEncoding::LATIN1:
+ case StringEncoding::UTF8:
+ case StringEncoding::UTF32:
+ case StringEncoding::UCS2:
+ case StringEncoding::UCS4: Assert(false, "ConvertString: Unsupported Destination Format"); break;
+ }
+ }
+
return true;
}
- bool ConvertString(String from, String to, String src, StringBuffer& dst)
+ bool ConvertString(String from, String to, String src, StringBuffer& dst, bool nullTerminate)
{
Assert(IsValid(from));
Assert(IsValid(to));
@@ -457,6 +485,6 @@ namespace Juliet
return false;
}
- return ConvertString(sourceFormat, destFormat, src, dst);
+ return ConvertString(sourceFormat, destFormat, src, dst, nullTerminate);
}
} // namespace Juliet
diff --git a/JulietApp/JulietApp.bff b/JulietApp/JulietApp.bff
index 42876f7..573851b 100644
--- a/JulietApp/JulietApp.bff
+++ b/JulietApp/JulietApp.bff
@@ -11,6 +11,7 @@
ForEach( .BuildConfig in .BuildConfigs )
{
Using( .BuildConfig )
+
.OutputBase + '\$Platform$-$BuildConfigName$'
// Unity
@@ -84,9 +85,14 @@
Alias( '$ProjectName$-$Platform$-$BuildConfigName$' ) { .Targets = '$ProjectName$-Exe-$Platform$-$BuildConfigName$' }
^'Targets_$Platform$_$BuildConfigName$' + { '$ProjectName$-$Platform$-$BuildConfigName$' }
+
#if __WINDOWS__
- .ProjectConfig = [ Using( .'Project_$Platform$_$BuildConfigName$' ) .Target = '$ProjectName$-$Platform$-$BuildConfigName$' ]
+ .ProjectConfig =
+ [
+ Using( .'Project_$Platform$_$BuildConfigName$' )
+ .Target = '$ProjectName$-$Config$'
+ ]
^ProjectConfigs + .ProjectConfig
#endif
}
diff --git a/JulietApp/JulietApp.vcxproj b/JulietApp/JulietApp.vcxproj
index e0d8ed9..8cbfced 100644
--- a/JulietApp/JulietApp.vcxproj
+++ b/JulietApp/JulietApp.vcxproj
@@ -253,8 +253,8 @@
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -263,8 +263,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -273,8 +273,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -283,8 +283,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -293,8 +293,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -303,8 +303,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -313,8 +313,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -323,8 +323,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -333,8 +333,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -343,8 +343,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -353,8 +353,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -363,8 +363,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;
..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -373,8 +373,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -383,8 +383,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -393,8 +393,8 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;
..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
@@ -403,31 +403,31 @@
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
- /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
+ /std:c++20
$(SolutionDir)\bin\$(Configuration)\
$(SolutionDir)\Intermediate
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;
..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
- /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
+ /std:c++20
$(SolutionDir)\bin\$(Configuration)\
$(SolutionDir)\Intermediate
$(SolutionDir)\bin
- cd $(SolutionDir) & misc\fbuild -vs -dist -monitor -cache $(ProjectName)-$(Configuration)
- cd $(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & mics\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;
..\;..\Juliet\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
- /std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245
+ /std:c++20
$(SolutionDir)\bin\$(Configuration)\
$(SolutionDir)\Intermediate
$(SolutionDir)\bin
diff --git a/JulietShaderCompiler.sln b/JulietShaderCompiler.sln
new file mode 100644
index 0000000..d12c32d
--- /dev/null
+++ b/JulietShaderCompiler.sln
@@ -0,0 +1,25 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.22823.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JulietShaderCompiler", "JulietShaderCompiler\JulietShaderCompiler.vcxproj", "{534B94ED-6C94-4F93-BC2A-7F5284B7D434}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Juliet", "Juliet\Juliet.vcxproj", "{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64Clang = Debug|x64Clang
+ Release|x64Clang = Release|x64Clang
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {534B94ED-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
+ {534B94ED-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64
+ {534B94ED-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
+ {534B94ED-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64
+ {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
+ {AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/JulietShaderCompiler/JulietShaderCompiler.bff b/JulietShaderCompiler/JulietShaderCompiler.bff
index e69de29..a743fb0 100644
--- a/JulietShaderCompiler/JulietShaderCompiler.bff
+++ b/JulietShaderCompiler/JulietShaderCompiler.bff
@@ -0,0 +1,100 @@
+.ProjectName = 'JulietShaderCompiler'
+.ProjectPath = 'JulietShaderCompiler'
+
+// 1. Define the configurations and a container for the VS Project
+.ShaderCompilerConfigs = { .X64ClangDebugConfig, .X64ClangReleaseConfig }
+.ProjectConfigsShader = {}
+.DXCSourcePath = '$ProjectPath$/DXShaderCompiler'
+
+ForEach( .BuildConfig in .ShaderCompilerConfigs )
+{
+ Using( .BuildConfig )
+ .OutputBase + '\$Platform$-$BuildConfigName$'
+
+ // 2. Define the Build Targets for this specific configuration
+ ObjectList( '$ProjectName$-Obs-$Platform$-$BuildConfigName$' )
+ {
+ .CompilerInputPath = '$ProjectPath$/'
+ .CompilerOutputPath = '$OutputBase$/$ProjectPath$/'
+ .CompilerOptions + ' "-IJuliet/include"'
+ + ' "-IJulietShaderCompiler"'
+
+ #if __WINDOWS__
+ .CompilerOptions + ' -DJULIET_WIN32'
+ #endif
+ }
+
+#if __WINDOWS__
+ Copy( '$ProjectName$-CopyDeps-$Platform$-$BuildConfigName$' )
+ {
+ .Source = {
+ '$DXCSourcePath$/dxcompiler.dll',
+ '$DXCSourcePath$/dxil.dll'
+ }
+ .Dest = '$BinPath$/$Platform$-$BuildConfigName$/'
+ }
+#endif
+
+ Executable( '$ProjectName$-Exe-$Platform$-$BuildConfigName$' )
+ {
+ .Libraries = {
+ 'Juliet-Lib-$Platform$-$BuildConfigName$',
+ '$ProjectName$-Obs-$Platform$-$BuildConfigName$'
+ }
+
+ .LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$$ExeExtension$'
+
+ #if __WINDOWS__
+
+ .CRTLibs = .CRTLibs_Dynamic
+ If ( .BuildConfigName == 'Debug' )
+ {
+ ^CRTLibs = .CRTLibs_DynamicDebug
+ }
+ .LinkerOptions + .CRTLibs
+
+ .LinkerOptions + .CommonWinLibs + ' dxcompiler.lib'
+ #endif
+
+ #if __WINDOWS__
+ .PreBuildDependencies = { '$ProjectName$-CopyDeps-$Platform$-$BuildConfigName$' }
+ #endif
+ }
+
+ Alias( '$ProjectName$-$Platform$-$BuildConfigName$' ) { .Targets = '$ProjectName$-Exe-$Platform$-$BuildConfigName$' }
+ ^'Targets_$Platform$_$BuildConfigName$' + { '$ProjectName$-$Platform$-$BuildConfigName$' }
+
+ #if __WINDOWS__
+ .ConfigInfo =
+ [
+ Using( .'Project_$Platform$_$BuildConfigName$' )
+
+ .LocalDebuggerCommandArguments = '..\..\Assets\source\SolidColor.frag.hlsl -o ..\..\Assets\compiled\SolidColor.frag.dxil'
+
+ .Target = '$ProjectName$-$Config$'
+ ]
+ ^ProjectConfigsShader + .ConfigInfo
+ #endif
+}
+
+// 4. Create the Project and Solution using the generated list
+VCXProject( '$ProjectName$-Proj' )
+{
+ .ProjectOutput = '$ProjectPath$/$ProjectName$.vcxproj'
+ .ProjectBasePath = '$ProjectPath$/'
+ .ProjectInputPaths = { .ProjectBasePath }
+ .ProjectConfigs = .ProjectConfigsShader
+}
+
+VSSolution( 'ShaderCompiler-Solution' )
+{
+ .SolutionOutput = 'JulietShaderCompiler.sln'
+ .SolutionProjects = { '$ProjectName$-Proj' , 'Juliet' }
+ .SolutionConfigs = .ProjectConfigsShader
+ .SolutionBuildProject = '$ProjectName$-Proj'
+}
+
+// 5. Global Aliases
+Alias( 'gen-shader' ) { .Targets = 'ShaderCompiler-Solution' }
+Alias( 'shader' ) { .Targets = { '$ProjectName$-x64Clang-Release' } }
+Alias( 'shader-debug' ) { .Targets = { '$ProjectName$-x64Clang-Debug', } }
\ No newline at end of file
diff --git a/JulietShaderCompiler/JulietShaderCompiler.vcxproj b/JulietShaderCompiler/JulietShaderCompiler.vcxproj
index be69e12..9a44bf6 100644
--- a/JulietShaderCompiler/JulietShaderCompiler.vcxproj
+++ b/JulietShaderCompiler/JulietShaderCompiler.vcxproj
@@ -1,119 +1,86 @@
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 15.0
- {26880364-45F4-4817-BFD3-0ACC0958757D}
- Win32Proj
- JulietShaderCompiler
- 10.0.26100.0
-
-
-
- x64
-
-
- Application
- true
- ClangCL
- Unicode
-
-
- Application
- false
- ClangCL
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- $(SolutionDir)\bin\$(Platform)\$(Configuration)\
- $(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
-
-
- false
- $(SolutionDir)\bin\$(Platform)\$(Configuration)\
- $(SolutionDir)Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
-
-
-
- NotUsing
- Level3
- Disabled
- true
- _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
- pch.h
- $(SolutionDir)Juliet\include\;$(SolutionDir)JulietShaderCompiler;
- stdcpp20
-
-
- Console
- true
- $(SolutionDir)\lib\$(Platform)\$(Configuration)\
- Juliet.lib; $(CoreLibraryDependencies);%(AdditionalDependencies)
-
-
-
-
- NotUsing
- Level3
- MaxSpeed
- true
- true
- true
- NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
- pch.h
- stdcpp20
-
-
- Console
- true
- true
- true
- $(SolutionDir)\lib\$(Platform)\$(Configuration)\;
- Juliet.lib; $(CoreLibraryDependencies);%(AdditionalDependencies)
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
+
+
+
+ x64Clang-Debug
+ x64
+
+
+ x64Clang-Release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+ {534b94ed-6c94-4f93-bc2a-7f5284b7d434}
+ MakeFileProj
+
+
+
+ Makefile
+ false
+ v143
+ ..\..\Assets\source\SolidColor.frag.hlsl -o ..\..\Assets\compiled\SolidColor.frag.dxil
+ $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe
+
+
+ Makefile
+ false
+ v143
+ ..\..\Assets\source\SolidColor.frag.hlsl -o ..\..\Assets\compiled\SolidColor.frag.dxil
+ $(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe
+
+
+
+
+
+
+
+
+
+
+
+
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;
+ ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
+ /std:c++20
+ $(SolutionDir)\bin\$(Configuration)\
+ $(SolutionDir)\Intermediate
+ $(SolutionDir)\bin
+
+
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)
+ cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)
+ _CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;
+ ..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;
+ /std:c++20
+ $(SolutionDir)\bin\$(Configuration)\
+ $(SolutionDir)\Intermediate
+ $(SolutionDir)\bin
+
+
+
+ $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log
+
+
+
+
+ $(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/JulietShaderCompiler/JulietShaderCompiler.vcxproj.filters b/JulietShaderCompiler/JulietShaderCompiler.vcxproj.filters
index 54afe9d..afc1766 100644
--- a/JulietShaderCompiler/JulietShaderCompiler.vcxproj.filters
+++ b/JulietShaderCompiler/JulietShaderCompiler.vcxproj.filters
@@ -1,22 +1,21 @@
-
- {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
-
+
+ DXShaderCompiler
+
+
+
+
+
+
+
+
+
-
- Source Files
-
+
+ {9f537123-6c94-4f93-bc2a-7f5284b7d434}
+
\ No newline at end of file
diff --git a/JulietShaderCompiler/ShaderCompiler.cpp b/JulietShaderCompiler/ShaderCompiler.cpp
index 57af9be..ae10fb8 100644
--- a/JulietShaderCompiler/ShaderCompiler.cpp
+++ b/JulietShaderCompiler/ShaderCompiler.cpp
@@ -6,8 +6,6 @@
#include
#include
-#pragma comment(lib, "dxcompiler.lib")
-
using namespace Juliet;
namespace
@@ -66,7 +64,8 @@ namespace
char inplaceBuffer[1024];
convertedBuffer.Data = inplaceBuffer;
convertedBuffer.Capacity = sizeof(inplaceBuffer);
- if (!ConvertString(StringEncoding::UTF8, StringEncoding::UTF16, info.EntryPoint, convertedBuffer))
+ constexpr bool kAddNullTerminator = true;
+ if (!ConvertString(StringEncoding::UTF8, StringEncoding::UTF16, info.EntryPoint, convertedBuffer, kAddNullTerminator))
{
LogError(LogCategory::Tool, "Cannot convert entry point string to utf16");
return {};
@@ -130,7 +129,7 @@ namespace
StringBuffer nameUtf16 = {};
nameUtf16.Data = nameInplaceBuffer;
nameUtf16.Capacity = sizeof(nameInplaceBuffer);
- if (ConvertString(StringEncoding::UTF8, StringEncoding::UTF16, info.Name, nameUtf16))
+ if (ConvertString(StringEncoding::UTF8, StringEncoding::UTF16, info.Name, nameUtf16, kAddNullTerminator))
{
args[argCount++] = reinterpret_cast(nameInplaceBuffer);
}
diff --git a/JulietShaderCompiler/ShaderCompiler.h b/JulietShaderCompiler/ShaderCompiler.h
index e83cf27..8a23b2c 100644
--- a/JulietShaderCompiler/ShaderCompiler.h
+++ b/JulietShaderCompiler/ShaderCompiler.h
@@ -39,4 +39,4 @@ struct HLSLShaderInfo : ShaderInfo
// TODO Defines and includes
};
-ByteBuffer CompileDXIL(HLSLShaderInfo& info);
\ No newline at end of file
+ByteBuffer CompileDXIL(HLSLShaderInfo& info);
diff --git a/fbuild.bff b/fbuild.bff
index 8ab03a1..08120e8 100644
--- a/fbuild.bff
+++ b/fbuild.bff
@@ -140,8 +140,8 @@ Settings
#if __WINDOWS__
.ProjectCommon =
[
- .ProjectBuildCommand = 'cd ^$(SolutionDir) & misc\fbuild -vs -dist -monitor -cache ^$(ProjectName)-^$(Configuration)'
- .ProjectRebuildCommand = 'cd ^$(SolutionDir) & mics\fbuild -vs -dist -monitor -cache -clean ^$(ProjectName)-^$(Configuration)'
+ .ProjectBuildCommand = 'cd ^$(SolutionDir) & misc\fbuild -ide -dist -monitor -cache ^$(ProjectName)-^$(Configuration)'
+ .ProjectRebuildCommand = 'cd ^$(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean ^$(ProjectName)-^$(Configuration)'
.OutputDirectory = '^$(SolutionDir)\bin'
.IntermediateDirectory = '^$(SolutionDir)\Intermediate'
.BuildLogFile = '^$(SolutionDir)\Intermediate\^$(ProjectName)-^$(Configuration).log'
@@ -177,6 +177,7 @@ Settings
#include "Juliet/Juliet.bff"
#include "Game/Game.bff"
#include "JulietApp/JulietApp.Bff"
+#include "JulietShaderCompiler/JulietShaderCompiler.Bff"
// Aliases : All-$Platform$-$Config$
//------------------------------------------------------------------------------
@@ -256,4 +257,4 @@ VSSolution( 'GenerateSolution' )
.SolutionConfigs = .ProjectConfigs
.SolutionBuildProject = 'JulietApp'
}
-Alias( 'gen' ) { .Targets = 'GenerateSolution' }
\ No newline at end of file
+Alias( 'gen' ) { .Targets = 'GenerateSolution' }
diff --git a/misc/recompile_shaders.bat b/misc/recompile_shaders.bat
index feb6c45..bd1b57e 100644
--- a/misc/recompile_shaders.bat
+++ b/misc/recompile_shaders.bat
@@ -1,18 +1,35 @@
@echo off
setlocal enabledelayedexpansion
-set TARGET=x64\Debug
+set TARGET=x64Clang-Release
REM Chemin relatif vers JulietShaderCompiler.exe
-set COMPILER_PATH=..\bin\%TARGET%\JulietShaderCompiler.exe
+set COMPILER_PATH=bin\%TARGET%\JulietShaderCompiler.exe
echo Compiler Path: !COMPILER_PATH!
+REM --- GESTION D'ERREUR : Vérification du compilateur ---
+if not exist "!COMPILER_PATH!" (
+ echo.
+ echo ERREUR : Le compilateur est introuvable au chemin : !COMPILER_PATH!
+ echo Assurez-vous d'avoir bien bati le projet JulietShaderCompiler.
+ pause
+ exit /b 1
+)
+
REM Dossier source contenant les fichiers .frag.hlsl et .vert.hlsl
-set SOURCE_DIR=..\Assets\source
+set SOURCE_DIR=Assets\source
echo Source Dir: !SOURCE_DIR!
+REM --- GESTION D'ERREUR : Vérification du dossier source ---
+if not exist "!SOURCE_DIR!" (
+ echo.
+ echo ERREUR : Le dossier source est introuvable : !SOURCE_DIR!
+ pause
+ exit /b 1
+)
+
REM Dossier de sortie pour les fichiers compilés
-set OUTPUT_DIR=..\Assets\compiled
+set OUTPUT_DIR=Assets\compiled
echo Output Dir: !OUTPUT_DIR!
REM Créer le dossier de sortie s'il n'existe pas
@@ -32,10 +49,18 @@ for %%F in ("%SOURCE_DIR%\*.frag.hlsl" "%SOURCE_DIR%\*.vert.hlsl") do (
)
REM Construire la ligne de commande
set "COMMAND=%COMPILER_PATH% %SOURCE_DIR%\!FILENAME!!EXTENSION! -o %OUTPUT_DIR%\!FILENAME!!SHORT_EXTENSION!.dxil"
- REM Afficher la ligne de commande pour le débogage
echo !COMMAND!
- REM Appeler JulietShaderCompiler.exe avec les arguments spécifiés
+ REM Afficher la ligne de commande pour le débogage
+ echo Compiling: !FILENAME!!EXTENSION!
+ REM Appeler JulietShaderCompiler.exe avec les arguments spécifiés
!COMMAND!
+
+ if !ERRORLEVEL! NEQ 0 (
+ echo ERREUR lors de la compilation de %%F
+ )
)
+echo.
+echo Operation terminee.
+pause
endlocal
\ No newline at end of file