Merge branch 'main' into SP3-6-c-scripting
# Conflicts: # Premake/premake5.exe # SHADE_Application/src/Application/SBApplication.cpp # SHADE_Engine/SHADE_Engine.vcxproj # SHADE_Engine/SHADE_Engine.vcxproj.filters # SHADE_Engine/premake5.lua
This commit is contained in:
commit
ad7df083bf
|
@ -66,7 +66,7 @@
|
||||||
<MinimalRebuild>false</MinimalRebuild>
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
|
@ -88,7 +88,7 @@
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
project "SHADE_Application"
|
project "SHADE_Application"
|
||||||
kind "WindowedApp"
|
kind "WindowedApp"
|
||||||
language "C++"
|
language "C++"
|
||||||
cppdialect "C++latest"
|
cppdialect "C++20"
|
||||||
targetdir (outputdir)
|
targetdir (outputdir)
|
||||||
objdir (interdir)
|
objdir (interdir)
|
||||||
systemversion "latest"
|
systemversion "latest"
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
#include "Scenes/SBEditorScene.h"
|
#include "Scenes/SBEditorScene.h"
|
||||||
#endif // SHEDITOR
|
#endif // SHEDITOR
|
||||||
|
|
||||||
|
#include "Tools/SHLogger.h"
|
||||||
|
#include "Tools/SHFileUtilties.h"
|
||||||
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <ratio>
|
#include <ratio>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
@ -23,6 +26,8 @@ namespace Sandbox
|
||||||
_In_ INT nCmdShow
|
_In_ INT nCmdShow
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
// Set working directory
|
||||||
|
SHADE::SHFileUtilities::SetWorkDirToExecDir();
|
||||||
|
|
||||||
window.Create(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
|
window.Create(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
<MinimalRebuild>false</MinimalRebuild>
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
|
@ -94,7 +94,7 @@ xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)"</Command
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
|
@ -195,6 +195,7 @@ xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)"</Command
|
||||||
<ClInclude Include="src\Resource\ResourceLibrary.hpp" />
|
<ClInclude Include="src\Resource\ResourceLibrary.hpp" />
|
||||||
<ClInclude Include="src\Resource\SparseSet.h" />
|
<ClInclude Include="src\Resource\SparseSet.h" />
|
||||||
<ClInclude Include="src\Resource\SparseSet.hpp" />
|
<ClInclude Include="src\Resource\SparseSet.hpp" />
|
||||||
|
<ClInclude Include="src\SHCommonTypes.h" />
|
||||||
<ClInclude Include="src\SH_API.h" />
|
<ClInclude Include="src\SH_API.h" />
|
||||||
<ClInclude Include="src\SHpch.h" />
|
<ClInclude Include="src\SHpch.h" />
|
||||||
<ClInclude Include="src\Scene\SHScene.h" />
|
<ClInclude Include="src\Scene\SHScene.h" />
|
||||||
|
@ -205,6 +206,7 @@ xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)"</Command
|
||||||
<ClInclude Include="src\Scripting\SHScriptEngine.h" />
|
<ClInclude Include="src\Scripting\SHScriptEngine.h" />
|
||||||
<ClInclude Include="src\Tools\SHException.h" />
|
<ClInclude Include="src\Tools\SHException.h" />
|
||||||
<ClInclude Include="src\Tools\SHExceptionHandler.h" />
|
<ClInclude Include="src\Tools\SHExceptionHandler.h" />
|
||||||
|
<ClInclude Include="src\Tools\SHFileUtilties.h" />
|
||||||
<ClInclude Include="src\Tools\SHLogger.h" />
|
<ClInclude Include="src\Tools\SHLogger.h" />
|
||||||
<ClInclude Include="src\Tools\SHStringUtils.h" />
|
<ClInclude Include="src\Tools\SHStringUtils.h" />
|
||||||
<ClInclude Include="src\Tools\SHStringUtils.hpp" />
|
<ClInclude Include="src\Tools\SHStringUtils.hpp" />
|
||||||
|
@ -282,6 +284,7 @@ xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)"</Command
|
||||||
<ClCompile Include="src\Scripting\SHScriptEngine.cpp" />
|
<ClCompile Include="src\Scripting\SHScriptEngine.cpp" />
|
||||||
<ClCompile Include="src\Tools\SHException.cpp" />
|
<ClCompile Include="src\Tools\SHException.cpp" />
|
||||||
<ClCompile Include="src\Tools\SHExceptionHandler.cpp" />
|
<ClCompile Include="src\Tools\SHExceptionHandler.cpp" />
|
||||||
|
<ClCompile Include="src\Tools\SHFileUtilties.cpp" />
|
||||||
<ClCompile Include="src\Tools\SHLogger.cpp" />
|
<ClCompile Include="src\Tools\SHLogger.cpp" />
|
||||||
<ClCompile Include="src\Tools\SHStringUtils.cpp" />
|
<ClCompile Include="src\Tools\SHStringUtils.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
@ -375,6 +375,7 @@
|
||||||
<ClInclude Include="src\Resource\SparseSet.hpp">
|
<ClInclude Include="src\Resource\SparseSet.hpp">
|
||||||
<Filter>Resource</Filter>
|
<Filter>Resource</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\SHCommonTypes.h" />
|
||||||
<ClInclude Include="src\SH_API.h" />
|
<ClInclude Include="src\SH_API.h" />
|
||||||
<ClInclude Include="src\SHpch.h" />
|
<ClInclude Include="src\SHpch.h" />
|
||||||
<ClInclude Include="src\Scene\SHScene.h">
|
<ClInclude Include="src\Scene\SHScene.h">
|
||||||
|
@ -401,6 +402,9 @@
|
||||||
<ClInclude Include="src\Tools\SHExceptionHandler.h">
|
<ClInclude Include="src\Tools\SHExceptionHandler.h">
|
||||||
<Filter>Tools</Filter>
|
<Filter>Tools</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\Tools\SHFileUtilties.h">
|
||||||
|
<Filter>Tools</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="src\Tools\SHLogger.h">
|
<ClInclude Include="src\Tools\SHLogger.h">
|
||||||
<Filter>Tools</Filter>
|
<Filter>Tools</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
@ -620,6 +624,9 @@
|
||||||
<ClCompile Include="src\Tools\SHExceptionHandler.cpp">
|
<ClCompile Include="src\Tools\SHExceptionHandler.cpp">
|
||||||
<Filter>Tools</Filter>
|
<Filter>Tools</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Tools\SHFileUtilties.cpp">
|
||||||
|
<Filter>Tools</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="src\Tools\SHLogger.cpp">
|
<ClCompile Include="src\Tools\SHLogger.cpp">
|
||||||
<Filter>Tools</Filter>
|
<Filter>Tools</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
project "SHADE_Engine"
|
project "SHADE_Engine"
|
||||||
kind "SharedLib"
|
kind "SharedLib"
|
||||||
language "C++"
|
language "C++"
|
||||||
cppdialect "C++latest"
|
cppdialect "C++20"
|
||||||
targetdir (outputdir)
|
targetdir (outputdir)
|
||||||
objdir (interdir)
|
objdir (interdir)
|
||||||
systemversion "latest"
|
systemversion "latest"
|
||||||
|
@ -88,7 +88,6 @@ project "SHADE_Engine"
|
||||||
postbuildcommands
|
postbuildcommands
|
||||||
{
|
{
|
||||||
"xcopy /s /r /y /q \"%{IncludeDir.spdlog}/bin\" \"$(OutDir)\"",
|
"xcopy /s /r /y /q \"%{IncludeDir.spdlog}/bin\" \"$(OutDir)\"",
|
||||||
|
|
||||||
"xcopy /s /r /y /q \"%{IncludeDir.dotnet}/bin\" \"$(OutDir)\""
|
"xcopy /s /r /y /q \"%{IncludeDir.dotnet}/bin\" \"$(OutDir)\""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/************************************************************************************//*!
|
||||||
|
\file SHCommonTypes.h
|
||||||
|
\author Tng Kah Wei, kahwei.tng, 390009620
|
||||||
|
\par email: kahwei.tng\@digipen.edu
|
||||||
|
\date Sep 8, 2022
|
||||||
|
\brief Contains the definitions of type alias for commonly used units for
|
||||||
|
clarity and convenience.
|
||||||
|
|
||||||
|
|
||||||
|
Copyright (C) 2022 DigiPen Institute of Technology.
|
||||||
|
Reproduction or disclosure of this file or its contents without the prior written consent
|
||||||
|
of DigiPen Institute of Technology is prohibited.
|
||||||
|
*//*************************************************************************************/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace SHADE
|
||||||
|
{
|
||||||
|
/*---------------------------------------------------------------------------------*/
|
||||||
|
/* Type Definitions */
|
||||||
|
/*---------------------------------------------------------------------------------*/
|
||||||
|
/***********************************************************************************/
|
||||||
|
/*!
|
||||||
|
\brief
|
||||||
|
Type used to mark a value that is supposed to represent a size in bytes.
|
||||||
|
*/
|
||||||
|
/***********************************************************************************/
|
||||||
|
using Byte = size_t;
|
||||||
|
}
|
|
@ -30,3 +30,5 @@
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
|
||||||
|
#include "SHCommonTypes.h"
|
|
@ -0,0 +1,30 @@
|
||||||
|
/************************************************************************************//*!
|
||||||
|
\file SHFileUtilities.cpp
|
||||||
|
\author Tng Kah Wei, kahwei.tng, 390009620
|
||||||
|
\par email: kahwei.tng\@digipen.edu
|
||||||
|
\date Sep 15, 2022
|
||||||
|
\brief Contains the definition of functions of the SHFileUtilities static class.
|
||||||
|
|
||||||
|
Copyright (C) 2022 DigiPen Institute of Technology.
|
||||||
|
Reproduction or disclosure of this file or its contents without the prior written consent
|
||||||
|
of DigiPen Institute of Technology is prohibited.
|
||||||
|
*//*************************************************************************************/
|
||||||
|
// Precompiled Header
|
||||||
|
#include "SHpch.h"
|
||||||
|
// Primary Header
|
||||||
|
#include "SHFileUtilties.h"
|
||||||
|
// Standard Libraries
|
||||||
|
#include <filesystem>
|
||||||
|
// External Dependencies
|
||||||
|
#include <shlwapi.h> // GetModuleFileName, PathRemoveFileSpec
|
||||||
|
|
||||||
|
namespace SHADE
|
||||||
|
{
|
||||||
|
void SHFileUtilities::SetWorkDirToExecDir()
|
||||||
|
{
|
||||||
|
TCHAR currentExecFilePath[MAX_PATH] = { '\0' };
|
||||||
|
GetModuleFileName(nullptr, currentExecFilePath, MAX_PATH);
|
||||||
|
PathRemoveFileSpec(currentExecFilePath);
|
||||||
|
std::filesystem::current_path(currentExecFilePath);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
/************************************************************************************//*!
|
||||||
|
\file SHFileUtilities.h
|
||||||
|
\author Tng Kah Wei, kahwei.tng, 390009620
|
||||||
|
\par email: kahwei.tng\@digipen.edu
|
||||||
|
\date Sep 15, 2022
|
||||||
|
\brief Contains the SHFileUtilities static class.
|
||||||
|
|
||||||
|
Copyright (C) 2022 DigiPen Institute of Technology.
|
||||||
|
Reproduction or disclosure of this file or its contents without the prior written consent
|
||||||
|
of DigiPen Institute of Technology is prohibited.
|
||||||
|
*//*************************************************************************************/
|
||||||
|
|
||||||
|
// Project Headers
|
||||||
|
#include "SH_API.h"
|
||||||
|
|
||||||
|
namespace SHADE
|
||||||
|
{
|
||||||
|
/*!************************************************************************************
|
||||||
|
|
||||||
|
\class SHFileUtilities
|
||||||
|
|
||||||
|
\brief
|
||||||
|
Static class that contains functions for working with files and directories.
|
||||||
|
|
||||||
|
**************************************************************************************/
|
||||||
|
class SH_API SHFileUtilities
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/*!**********************************************************************************
|
||||||
|
|
||||||
|
\brief
|
||||||
|
Sets the application's current working directory to the application executable's
|
||||||
|
directory.
|
||||||
|
|
||||||
|
************************************************************************************/
|
||||||
|
static void SetWorkDirToExecDir();
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue